diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json
index 0d563f791916..185cf6702e69 100644
--- a/.devcontainer/devcontainer.json
+++ b/.devcontainer/devcontainer.json
@@ -3,7 +3,7 @@
"appPort": 8080,
"features": {
"ghcr.io/devcontainers/features/go:1": {
- "version": "1.22"
+ "version": "1.23"
},
"ghcr.io/devcontainers/features/node:1": {
"version": "20"
@@ -11,7 +11,7 @@
"ghcr.io/devcontainers/features/docker-in-docker:2": {},
"ghcr.io/devcontainers/features/python:1": {}
},
- "forwardPorts": [9000, 9001, 9090, 2746, 8080, 5556, 6060, 9091, 3306, 5432, 10000],
+ "forwardPorts": [9000, 9001, 9090, 2746, 8080, 5556, 6060, 9091, 3306, 5432, 10000, 8000],
"hostRequirements": {
"cpus": 4
},
@@ -29,5 +29,29 @@
"remoteEnv": {
"PATH": "${containerEnv:PATH}:/home/vscode/go/bin",
"GOPATH": "/home/vscode/go"
+ },
+ "customizations": {
+ "vscode": {
+ "settings": {
+ "launch": {
+ "configurations": [
+ {
+ "name": "Attach to argo server",
+ "type": "go",
+ "request": "attach",
+ "mode": "local",
+ "processId": "argo"
+ },
+ {
+ "name": "Attach to workflow controller",
+ "type": "go",
+ "request": "attach",
+ "mode": "local",
+ "processId": "workflow-controller"
+ }
+ ]
+ }
+ }
+ }
}
}
diff --git a/.github/workflows/ci-build.yaml b/.github/workflows/ci-build.yaml
index 688bbe3f84c7..a9eaff6b28c0 100644
--- a/.github/workflows/ci-build.yaml
+++ b/.github/workflows/ci-build.yaml
@@ -59,6 +59,9 @@ jobs:
- Dockerfile
- manifests/**
- sdks/**
+ # example test suite
+ - examples/**
+ - hack/test-examples.sh
codegen:
- *common
# generated files
@@ -114,7 +117,7 @@ jobs:
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
- uses: actions/setup-go@0c52d547c9bc32b1aa3301fd7a9cb496313a4491 # v5.0.0
with:
- go-version: "1.22"
+ go-version: "1.23"
cache: true
- run: make test STATIC_FILES=false GOTEST='go test -p 20 -covermode=atomic -coverprofile=coverage.out'
- name: Upload coverage report
@@ -136,7 +139,7 @@ jobs:
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
- uses: actions/setup-go@0c52d547c9bc32b1aa3301fd7a9cb496313a4491 # v5.0.0
with:
- go-version: "1.22"
+ go-version: "1.23"
cache: true
# windows run does not use makefile target because it does a lot more than just testing and is not cross-platform compatible
- run: go test -p 20 -covermode=atomic -coverprofile='coverage.out' $(go list ./... | select-string -Pattern 'github.com/argoproj/argo-workflows/v3/workflow/controller' , 'github.com/argoproj/argo-workflows/v3/server' -NotMatch)
@@ -186,7 +189,9 @@ jobs:
needs: [ changed-files, argo-images ]
if: ${{ needs.changed-files.outputs.e2e-tests == 'true' }}
runs-on: ubuntu-latest
- timeout-minutes: 30
+ # These tests usually finish in ~25m, but occasionally they take much longer due to resource
+ # contention on the runner, which we have no control over.
+ timeout-minutes: 60
env:
KUBECONFIG: /home/runner/.kubeconfig
E2E_ENV_FACTOR: 2
@@ -196,53 +201,61 @@ jobs:
include:
- test: test-executor
profile: minimal
- useApi: false
+ use-api: false
- test: test-corefunctional
profile: minimal
- useApi: false
+ use-api: false
- test: test-functional
profile: minimal
- useApi: false
+ use-api: false
- test: test-api
profile: mysql
- useApi: true
+ use-api: true
- test: test-cli
profile: mysql
- useApi: true
+ use-api: true
- test: test-cron
profile: minimal
- useApi: false
+ use-api: false
- test: test-examples
profile: minimal
- useApi: false
+ use-api: false
- test: test-plugins
profile: plugins
- useApi: false
+ use-api: false
- test: test-java-sdk
profile: minimal
- useApi: true
+ use-api: true
- test: test-python-sdk
profile: minimal
- useApi: true
+ use-api: true
- test: test-executor
- install_k3s_version: v1.28.11+k3s1
+ install_k3s_version: v1.28.13+k3s1
profile: minimal
- useApi: false
+ use-api: false
- test: test-corefunctional
- install_k3s_version: v1.28.11+k3s1
+ install_k3s_version: v1.28.13+k3s1
profile: minimal
- useApi: false
+ use-api: false
- test: test-functional
- install_k3s_version: v1.28.11+k3s1
+ install_k3s_version: v1.28.13+k3s1
profile: minimal
- useApi: false
+ use-api: false
steps:
+ - name: Free up unused disk space
+ run: |
+ printf "==> Available space before cleanup\n"
+ df -h
+ # these directories are not used by E2E tests
+ sudo rm -rf /usr/share/dotnet /usr/local/lib/android /opt/ghc /usr/local/.ghcup /opt/hostedtoolcache/CodeQL
+ printf "==> Available space after cleanup\n"
+ df -h
- name: Install socat (needed by Kubernetes)
run: sudo apt-get -y install socat
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
- uses: actions/setup-go@0c52d547c9bc32b1aa3301fd7a9cb496313a4491 # v5.0.0
with:
- go-version: "1.22"
+ go-version: "1.23"
cache: true
- name: Install Java for the SDK
if: ${{matrix.test == 'test-java-sdk'}}
@@ -260,11 +273,15 @@ jobs:
- name: Install and start K3S
run: |
if ! echo "${{ matrix.install_k3s_version }}" | egrep '^v[0-9]+\.[0-9]+\.[0-9]+\+k3s1$'; then
- export INSTALL_K3S_VERSION=v1.30.2+k3s1
+ export INSTALL_K3S_VERSION=v1.31.0+k3s1
else
export INSTALL_K3S_VERSION=${{ matrix.install_k3s_version }}
fi
- curl -sfL https://get.k3s.io | INSTALL_K3S_CHANNEL=stable INSTALL_K3S_EXEC=--docker K3S_KUBECONFIG_MODE=644 sh -
+
+ curl -sfL https://get.k3s.io | INSTALL_K3S_CHANNEL=stable \
+ INSTALL_K3S_EXEC="--docker --kubelet-arg=config=${GITHUB_WORKSPACE}/test/e2e/manifests/kubelet-configuration.yaml" \
+ K3S_KUBECONFIG_MODE=644 \
+ sh -
until kubectl --kubeconfig=/etc/rancher/k3s/k3s.yaml cluster-info ; do sleep 10s ; done
cp /etc/rancher/k3s/k3s.yaml /home/runner/.kubeconfig
echo "- name: fake_token_user" >> $KUBECONFIG
@@ -294,22 +311,25 @@ jobs:
run: make controller kit STATIC_FILES=false
- name: Build CLI
run: make cli STATIC_FILES=false
- if: ${{matrix.useApi}}
+ if: ${{matrix.use-api}}
- name: Start controller/API
run: |
make start PROFILE=${{matrix.profile}} \
AUTH_MODE=client STATIC_FILES=false \
LOG_LEVEL=info \
- API=${{matrix.useApi}} \
+ API=${{matrix.use-api}} \
UI=false \
POD_STATUS_CAPTURE_FINALIZER=true > /tmp/argo.log 2>&1 &
- name: Wait for controller to be up
- run: make wait API=${{matrix.useApi}}
+ run: make wait PROFILE=${{matrix.profile}} API=${{matrix.use-api}}
timeout-minutes: 5
- name: Run tests ${{matrix.test}}
run: make ${{matrix.test}} E2E_SUITE_TIMEOUT=20m STATIC_FILES=false
# failure debugging below
+ - name: Failure debug - k3s logs
+ if: ${{ failure() }}
+ run: journalctl -u k3s
- name: Failure debug - describe MinIO/MySQL deployment
if: ${{ failure() }}
run: |
@@ -375,7 +395,7 @@ jobs:
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
- uses: actions/setup-go@0c52d547c9bc32b1aa3301fd7a9cb496313a4491 # v5.0.0
with:
- go-version: "1.22"
+ go-version: "1.23"
cache: true
- name: Install protoc
run: |
@@ -412,7 +432,7 @@ jobs:
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
- uses: actions/setup-go@0c52d547c9bc32b1aa3301fd7a9cb496313a4491 # v5.0.0
with:
- go-version: "1.22"
+ go-version: "1.23"
cache: true
- run: make lint STATIC_FILES=false
# if lint makes changes that are not in the PR, fail the build
diff --git a/.github/workflows/docs.yaml b/.github/workflows/docs.yaml
index 8e46c34f3cac..a912152281ef 100644
--- a/.github/workflows/docs.yaml
+++ b/.github/workflows/docs.yaml
@@ -25,7 +25,7 @@ jobs:
python-version: 3.9
- uses: actions/setup-go@0c52d547c9bc32b1aa3301fd7a9cb496313a4491 # v5.0.0
with:
- go-version: '1.22'
+ go-version: '1.23'
- uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v4.0.1
with:
node-version: "19"
diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml
index b7ba4e5d0c97..3279a298d889 100644
--- a/.github/workflows/release.yaml
+++ b/.github/workflows/release.yaml
@@ -291,7 +291,7 @@ jobs:
node-version: "20" # change in all GH Workflows
- uses: actions/setup-go@0c52d547c9bc32b1aa3301fd7a9cb496313a4491 # v5.0.0
with:
- go-version: "1.22"
+ go-version: "1.23"
- name: Restore node packages cache
uses: actions/cache@ab5e6d0c87105b4c9c2047343972218f562e4319 # v4.0.1
with:
diff --git a/.gitignore b/.gitignore
index c24fdb1b5f25..e4048074607d 100644
--- a/.gitignore
+++ b/.gitignore
@@ -40,6 +40,7 @@ git-ask-pass.sh
sdks/python/client/dist/*
/v3/
/cmd/argoexec/commands/test.txt
+/db-dumps/
# Do not commit rendered installation manifests since they are misleading to users.
manifests/install.yaml
diff --git a/.golangci.yml b/.golangci.yml
index 76eb5794fa71..b8b0227bd4f6 100644
--- a/.golangci.yml
+++ b/.golangci.yml
@@ -15,8 +15,8 @@ linters:
- asasalint
- bidichk
- bodyclose
+ - copyloopvar
- errcheck
- - exportloopref
- goimports
# only minor issues
# - errorlint
diff --git a/.spelling b/.spelling
index 8ac37516c84f..370eec2cfbee 100644
--- a/.spelling
+++ b/.spelling
@@ -72,6 +72,7 @@ JetBrains
KNative
Kaniko
Katacoda
+Katib
Kerberos
Killercoda
KubectlExec
@@ -82,6 +83,7 @@ Lifecycle-Hook
LitmusChaos
MLOps
Makefile
+Metaflow
MinIO
Minikube
MySQL
@@ -100,7 +102,9 @@ PVCs
Peixuan
Ploomber
Postgres
+PriorityClass
RCs
+Risc-V
Roadmap
RoleBinding
SDKs
@@ -208,6 +212,7 @@ stateful
stderr
symlinks
temporality
+tolerations
triaged
un-reconciled
v1
diff --git a/CHANGELOG.md b/CHANGELOG.md
index ae181be91b2e..a65939cd1c71 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,704 @@
# Changelog
+## v3.6.0-rc3 (2024-10-24)
+
+Full Changelog: [v3.6.0-rc2...v3.6.0-rc3](https://github.com/argoproj/argo-workflows/compare/v3.6.0-rc2...v3.6.0-rc3)
+
+### Selected Changes
+
+* [92bf975ac](https://github.com/argoproj/argo-workflows/commit/92bf975ac198f8d17d4061c11fe5b08262aa59d6) fix!: migrate `argo_archived_workflows.workflow` to `jsonb` (#13779)
+* [bb5130e84](https://github.com/argoproj/argo-workflows/commit/bb5130e841ab02cfe5b65f19c214fe309ca88bce) feat(artifacts): add git https insecure option. Fixes #10762 (#13797)
+* [e11e664d9](https://github.com/argoproj/argo-workflows/commit/e11e664d92677b8addffae90b3238f867b091024) fix: optimise pod finalizers with merge patch and resourceVersion (#13776)
+* [7d0d34ef9](https://github.com/argoproj/argo-workflows/commit/7d0d34ef92b76ea245e874cdde0da74dd3cd9e98) fix(cron): correctly run when `startingDeadlineSeconds` and `timezone` are set (#13795)
+* [5e02f6eec](https://github.com/argoproj/argo-workflows/commit/5e02f6eece56db4b9c7da6bd227fc6258b11c88f) feat(ui): Group nodes based on `templateRef` and show invoking template name. Fixes #11106 (#13511)
+* [6fa5365c9](https://github.com/argoproj/argo-workflows/commit/6fa5365c9bb7512a5e6c95ac8e29a7ec0402d433) feat(ui): Make URLs clickable in workflow node info (#13494)
+* [ea6dae9a3](https://github.com/argoproj/argo-workflows/commit/ea6dae9a30893632d863ff664803e17f3e9965f6) fix(ui): clarify log deletion in log-viewer. Fixes #10993 (#13788)
+* [e09d2f112](https://github.com/argoproj/argo-workflows/commit/e09d2f1121c142bc47cc12f543b1790a92baf8d1) fix: remove JSON cast when querying archived workflows (#13777)
+* [c9b1477fd](https://github.com/argoproj/argo-workflows/commit/c9b1477fd575bf06bed43ca2139f74aa3af4285c) refactor: Only set `ARGO_TEMPLATE` env for init container. (#13761)
+* [a88cddc0a](https://github.com/argoproj/argo-workflows/commit/a88cddc0aa4242783a36a8dc74c7269a103dd789) fix!: consolidate cronworkflow variables (#13702)
+* [d8f2d858a](https://github.com/argoproj/argo-workflows/commit/d8f2d858ac198b924edbaab1775ca60df9863eed) feat: Add name filters for workflow list (exact/prefix/pattern) (#13160)
+* [d05cf6459](https://github.com/argoproj/argo-workflows/commit/d05cf6459cdd956cb621a6552f009e21db0a3789) feat: add config to skip sending workflow events. Fixes #13042 (#13746)
+* [a8c360945](https://github.com/argoproj/argo-workflows/commit/a8c3609456738adb55de4056aca9d8c0c1d72a0d) fix: only set `ARGO_PROGRESS_FILE` when needed. Partial fix for #13089 (#13743)
+* [98dd46c6e](https://github.com/argoproj/argo-workflows/commit/98dd46c6e1c64c75b30269972abec4e463813bc1) fix(controller): Add configmap already exists judgment on offload Env… (#13756)
+* [bf7760a46](https://github.com/argoproj/argo-workflows/commit/bf7760a46e29bf2571bd3e9d852220b44339bb60) feat: `ARGO_TEMPLATE` env var without `inputs.parameters` (#13742)
+* [948127c79](https://github.com/argoproj/argo-workflows/commit/948127c7938b32a9a56ff74e31c2367d694d876d) fix(controller): retry transient error on agent pod creation (#13655)
+* [6d9e0f566](https://github.com/argoproj/argo-workflows/commit/6d9e0f566cbcf55ee9bdba2c5511a24c172b5338) fix(ui): allow `links` to metadata with dots. Fixes #11741 (#13752)
+* [0dfecd6e3](https://github.com/argoproj/argo-workflows/commit/0dfecd6e3a18c7bb884000e1e98d8305440d8d49) fix(ui): switch from js-yaml to yaml. Fixes #12205 (#13750)
+* [ad114b047](https://github.com/argoproj/argo-workflows/commit/ad114b0472c0079cb7a982f7f577bc1e965b310b) feat: `SKIP_WORKFLOW_DURATION_ESTIMATION`. Fixes #7271 (#13745)
+* [91765fad2](https://github.com/argoproj/argo-workflows/commit/91765fad2f2444b23fb128eda6e8e37948f4b4c9) feat: deprecations metric (#13735)
+* [7007cba39](https://github.com/argoproj/argo-workflows/commit/7007cba39359ab870e42198291f9a4ebbf165cf7) fix(controller): node message should be updated when lock msg changed (#13648)
+* [f1347b64f](https://github.com/argoproj/argo-workflows/commit/f1347b64fd8fa7ddaa30ab1f5ea5d0bb64d30905) feat(cli): validate `--output` flag and refactor (#13695)
+* [2735f6bb1](https://github.com/argoproj/argo-workflows/commit/2735f6bb1eab4439822b9897f1dce38d3f64edca) fix(test): fix http-template test (#13737)
+* [8100f9987](https://github.com/argoproj/argo-workflows/commit/8100f99872198a55f8ad90021d01a0bb9f658900) fix(controller): handle race when starting metrics server. Fixes #10807 (#13731)
+* [dfcaca4b9](https://github.com/argoproj/argo-workflows/commit/dfcaca4b92e5d020b22aa65b7826ea8f37163b02) fix(cli): handle multi-resource yaml in offline lint. Fixes #12137 (#13531)
+* [7a3372039](https://github.com/argoproj/argo-workflows/commit/7a33720398c8152b6da99e006bbe4724ad0bde1c) fix(emissary): signal SIGINT/SIGTERM in windows correctly (#13693)
+* [ceaabf12c](https://github.com/argoproj/argo-workflows/commit/ceaabf12cb86f185eb89c3e69880f20d61dfe6af) fix(ui): fix build failures due to conflict (#13730)
+* [07703ab1e](https://github.com/argoproj/argo-workflows/commit/07703ab1e5e61f1735008bf79847af49f01af817) feat(ui): Retry a single workflow step manually (#13343)
+* [15f2170a1](https://github.com/argoproj/argo-workflows/commit/15f2170a14d357c4804f8451fba4cdd1759ca872) fix(test): windows tests fixes. Fixes #11994 (#12071)
+* [734b5b6e9](https://github.com/argoproj/argo-workflows/commit/734b5b6e9f18ebe385df3e41117e67a1e8764939) refactor(cli): improve CLI error handling. Fixes #1935 (#13656)
+* [ba75efb22](https://github.com/argoproj/argo-workflows/commit/ba75efb228fa3fbab91e2b1c7689f6db3f3c3b62) fix(ui): ignore `@every` cron expression for FE pretty printing and update `cronstrue` dependency. Fixes #13489 (#13586)
+* [f1fbe09cb](https://github.com/argoproj/argo-workflows/commit/f1fbe09cbfe8505a9804a1c044f2a79d0de2ff28) fix: skip clear message when node transition from pending to fail. Fixes #13200 (#13201)
+
+Contributors
+
+* Adrien Delannoy
+* Alan Clucas
+* Anton Gilgur
+* Ashley Manraj
+* Darko Janjic
+* Julie Vogelman
+* Mason Malone
+* Michael Weibel
+* Tianchu Zhao
+* Yuping Fan
+* Zadkiel AHARONIAN
+* chengjoey
+* github-actions[bot]
+* jswxstw
+* tooptoop4
+* wayne
+
+
+
+## v3.6.0-rc2 (2024-10-01)
+
+Full Changelog: [v3.6.0-rc1...v3.6.0-rc2](https://github.com/argoproj/argo-workflows/compare/v3.6.0-rc1...v3.6.0-rc2)
+
+### Selected Changes
+
+* [68adbcc0c](https://github.com/argoproj/argo-workflows/commit/68adbcc0cce29e4daa37b521f02ca2fccec1ca2c) fix(ui): handle React 18 batching for "Submit" button on details page. Fixes #13453 (#13593)
+* [ca6c4144c](https://github.com/argoproj/argo-workflows/commit/ca6c4144ced98e111d77111fc696984739607694) fix: all written artifacts should be saved and garbage collected (#13678)
+* [a0ba3c70d](https://github.com/argoproj/argo-workflows/commit/a0ba3c70d18227e74bed1d77aa86c4ad4212d159) fix: add `cronWorkflowWorkers` log. Fixes: #13681 (#13688)
+* [54621cc60](https://github.com/argoproj/argo-workflows/commit/54621cc60117cf68183be24322119d85a80bb650) feat(cli): add version header + warning on client-server mismatch. Fixes #9212 (#13635)
+* [fc7b21009](https://github.com/argoproj/argo-workflows/commit/fc7b210097181a9e74540e93cee16bffc9f1a682) fix(cron): allow unresolved variables outside of `when` (#13680)
+* [ef09d9ffe](https://github.com/argoproj/argo-workflows/commit/ef09d9ffed0fb3c0f3e672db588d6a7c6cf2a5f5) refactor(deps): drop `pkg/errors` as a direct dependency (#13673)
+* [e0ca7ffd1](https://github.com/argoproj/argo-workflows/commit/e0ca7ffd1c0d94d744ebb79d0fd28a56121ab0ee) fix: add retry for invalid connection. Fixes #13578 (#13580)
+* [524406451](https://github.com/argoproj/argo-workflows/commit/524406451f4dfa57bf3371fb85becdb56a2b309a) fix: Prevent data race from global metrics round-tripper (#13641)
+* [2dac1266b](https://github.com/argoproj/argo-workflows/commit/2dac1266b446d059ac6df78afe3d09a6ddb3af4b) fix(cron): various follow-ups for multiple schedules (#13369)
+* [dc731d04a](https://github.com/argoproj/argo-workflows/commit/dc731d04ab14deea20ccca221f33e0df1143ad42) fix(deps): Upgrade swagger-ui-react to v5.17.12. Fixes CVE-2024-45801 (#13626)
+* [4e887521b](https://github.com/argoproj/argo-workflows/commit/4e887521befd5cc0e490f09d04cd3fb887a00ea9) feat: multiple mutexes and semaphores (#13358)
+
+Contributors
+
+* Alan Clucas
+* Andrew Melnick
+* Anton Gilgur
+* Eduardo Rodrigues
+* Isitha Subasinghe
+* Julie Vogelman
+* Mason Malone
+* Philipp Pfeil
+* Tim Collins
+* William Van Hevelingen
+* Yuan Tang
+* github-actions[bot]
+* l2h
+* shuangkun tian
+
+
+
+## v3.6.0-rc1 (2024-09-18)
+
+Full Changelog: [v3.5.11...v3.6.0-rc1](https://github.com/argoproj/argo-workflows/compare/v3.5.11...v3.6.0-rc1)
+
+### Selected Changes
+
+* [440f1ccc9](https://github.com/argoproj/argo-workflows/commit/440f1ccc986c01ff0f76d161cb8c9389eadce3e2) fix(semaphore): ensure `holderKey`s carry all information needed. Fixes #8684 (#13553)
+* [0604fda01](https://github.com/argoproj/argo-workflows/commit/0604fda018e6fe5b78fd55edb9ad981d14ef730d) chore(deps): update go to 1.23 (#13613)
+* [5b8ae35f1](https://github.com/argoproj/argo-workflows/commit/5b8ae35f150fd2db2281bd804bc28f56a1a6ecc3) fix(controller): handle `nil` `processedTmpl` in DAGs (#13548)
+* [889a9d24b](https://github.com/argoproj/argo-workflows/commit/889a9d24be072c5d04e853db3d4c40a04f939d28) chore(deps)!: bump k8s dependencies to 1.30 (#13413)
+* [e593450c4](https://github.com/argoproj/argo-workflows/commit/e593450c47a907fb9baa7b5e09011f6d516c16a2) feat: concurrency policy triggered counter metric (#13497)
+* [196aeaba6](https://github.com/argoproj/argo-workflows/commit/196aeaba6c26cb725d0d1406f0e3af11ef3c03c3) feat(cron): cronworkflows `when` clause (#13474)
+* [29ea3518a](https://github.com/argoproj/argo-workflows/commit/29ea3518a30b2b605290d0ba38f95bfb75a2901f) fix(test): it is possible to get 1Tb of RAM on a node (#13606)
+* [860c862c0](https://github.com/argoproj/argo-workflows/commit/860c862c0b4b1a67444d1263ddcfcc00909e8725) refactor(ui): reorganize `shared/utils.ts` (#13339)
+* [19b2322e2](https://github.com/argoproj/argo-workflows/commit/19b2322e26127145a895ec46931efebfd1b0f3b5) feat(artifacts): support ephemeral credentials for S3. Fixes #5446 (#12467)
+* [31493d3c3](https://github.com/argoproj/argo-workflows/commit/31493d3c3f8acbf5dd4202f181f36596773cd35b) chore!: remove legacy patch pods fallback (#13100)
+* [8065edb34](https://github.com/argoproj/argo-workflows/commit/8065edb34df0e188fd88181b4660c705997e6dcf) fix: remove non-transient logs on missing `artifact-repositories` configmap (#13516)
+* [729ac1746](https://github.com/argoproj/argo-workflows/commit/729ac174618696e35324e16a739088a2f06aa0ec) fix(api): optimise archived list query. Fixes #13295 (#13566)
+* [1b0f00803](https://github.com/argoproj/argo-workflows/commit/1b0f00803d513d10b0f6f1bc73e99c8d2440c576) feat: support data transfer protection in HDFS artifacts (#13482) (#13483)
+* [ed3b8ce77](https://github.com/argoproj/argo-workflows/commit/ed3b8ce778c23e3b3c0d54f87f790e966b15fdb3) fix(ci): revert `\*_PKG_FILES` on windows `argoexec` build (#13568)
+* [c698990a0](https://github.com/argoproj/argo-workflows/commit/c698990a0283e98b6695bb8f7dd3651eac17331f) fix(api): `deleteDelayDuration` should be a string (#13543)
+* [0d9534140](https://github.com/argoproj/argo-workflows/commit/0d95341404b82f6d8ada619cbac48623ce2c8803) refactor(ci): move api knowledge to the matrix (#13569)
+* [b3756472a](https://github.com/argoproj/argo-workflows/commit/b3756472a635e3162761b49aceebec8ac6ef6ae5) fix: ignore error when input artifacts optional. Fixes:#13564 (#13567)
+* [7173a271b](https://github.com/argoproj/argo-workflows/commit/7173a271bb9c59ca67df7a06965eb80afd37c0cb) refactor: separate metrics code for reuse (#13514)
+* [c29c63006](https://github.com/argoproj/argo-workflows/commit/c29c63006fa404ab374d52c103d7bef4cf3fcc9a) fix: aggregate JSON output parameters correctly (#13513)
+* [8142d1990](https://github.com/argoproj/argo-workflows/commit/8142d1990e5d0317b0ff716ea8d691b320090d11) fix(executor): add executable permission to staged `script` (#12787)
+* [8a67009c8](https://github.com/argoproj/argo-workflows/commit/8a67009c80e6c842836281872ab9ebdc1c2fb8a3) fix: Mark task result as completed if pod has been deleted for a while. Fixes #13533 (#13537)
+* [a35917e49](https://github.com/argoproj/argo-workflows/commit/a35917e493d67004d12ed653dea408acfdae4407) chore(deps): bump `docker` from 26.1.5 to 27.1.1 (#13524)
+* [b026a0f1f](https://github.com/argoproj/argo-workflows/commit/b026a0f1ff01b2266f7797b7205717995a6973cb) fix: don't clean up old offloaded records during save. Fixes: #13220 (#13286)
+* [3d41fb232](https://github.com/argoproj/argo-workflows/commit/3d41fb2329ab5ed63db05cf2cbc373c082a6a7aa) fix: Mark taskResult completed if wait container terminated not gracefully. Fixes #13373 (#13491)
+* [d254ffd21](https://github.com/argoproj/argo-workflows/commit/d254ffd2155a0bf80ea64608ea0114d2a55ea703) feat(ui): add full workflow name in list details. Fixes #11949 (#13519)
+* [9da27d11d](https://github.com/argoproj/argo-workflows/commit/9da27d11db0c451c1cd700e94484075462ac1100) refactor(tests): `if assert.\*` -> `require.\*`. Fixes #13465 (#13495)
+* [fed83ca9b](https://github.com/argoproj/argo-workflows/commit/fed83ca9b9678d86e57aea55cf0f73dee879c86f) feat(ui): Add start/end workflows ISO display switch (#13284)
+* [983c6ca5f](https://github.com/argoproj/argo-workflows/commit/983c6ca5f489d1b314d930e2fe7b510b89552973) fix(docs): remove unused spaces (#13487)
+* [6d426882b](https://github.com/argoproj/argo-workflows/commit/6d426882b9a42a732b1be3b2bfcd327165546206) fix(docs): use `sh` instead of `bash` with `busybox` (#13508)
+* [f8f189379](https://github.com/argoproj/argo-workflows/commit/f8f1893799b67446a833897af7f860fa08e71b1b) fix: Do not reset the root node by default. Fixes #13196 (#13198)
+* [735739f16](https://github.com/argoproj/argo-workflows/commit/735739f16822bb8c869662595a186875b3525307) fix(controller): remove ArtifactGC `finalizer` when no artifacts. Fixes #13499 (#13500)
+* [ddbb3c7ad](https://github.com/argoproj/argo-workflows/commit/ddbb3c7ad5b498d50514b3c1158ded56e333d75b) fix: Task result comparison is incorrect, leading to inconsistent comparison results. (#13211)
+* [b8bf82104](https://github.com/argoproj/argo-workflows/commit/b8bf82104bb6829f75a4e26198041ed47265bb1e) feat: new template counting and phase counting metrics (#13275)
+* [dcd943618](https://github.com/argoproj/argo-workflows/commit/dcd943618e4e85443c75944f5f2c333f07c89805) feat: new pod pending counter metric (#13273)
+* [219234443](https://github.com/argoproj/argo-workflows/commit/2192344439980227430162c8e2e53c180f10ac34) feat: new cron workflow trigger counter metric (#13274)
+* [f8e125a29](https://github.com/argoproj/argo-workflows/commit/f8e125a29ee86709629a4fe4818aa98afe545d61) feat: new pod phase counter metric (#13272)
+* [51951aac2](https://github.com/argoproj/argo-workflows/commit/51951aac2c5bd7e05326d02b67afad9102f0e208) feat: new k8s request duration histogram metric (#13271)
+* [bc22fb5bb](https://github.com/argoproj/argo-workflows/commit/bc22fb5bbb8b47756557e405fce69167d796d030) chore(deps): bump `golangci-lint` from 1.55.1 to 1.59.1 (#13473)
+* [b0ad007d2](https://github.com/argoproj/argo-workflows/commit/b0ad007d2cde946257191853e79824f9fa2a4042) ci: Remove Synk ignore for vulnerability for jackc/pgx/v4 (#13481)
+* [adf98ceb6](https://github.com/argoproj/argo-workflows/commit/adf98ceb688a444adc32e6039c111ad7461f991f) feat: new leader metric (#13270)
+* [cd822031c](https://github.com/argoproj/argo-workflows/commit/cd822031c90dbab992c1047649850f91bcbe5f53) feat: new version metric (#13269)
+* [312c0d06a](https://github.com/argoproj/argo-workflows/commit/312c0d06a3ff7be24d5305c8dd8cc4771b86e2a3) feat: enable configuration of individual metrics (#13268)
+* [b88a23a6f](https://github.com/argoproj/argo-workflows/commit/b88a23a6fcf873e47733c30994e260a360548d81) fix(build): correct `make` target deps for Go binaries (#13145)
+* [c143e3e78](https://github.com/argoproj/argo-workflows/commit/c143e3e78c1b6d585d64a2d9363bf0c9c64caf6c) feat(controller): optimize memory with queue when archiving is rate-limited. Fixes #13418 (#13419)
+* [c0f879cc9](https://github.com/argoproj/argo-workflows/commit/c0f879cc922ba77c63e13154a85be04285aff194) feat: enable configuration of temporality in opentelemetry metrics (#13267)
+* [9b2dc8dc7](https://github.com/argoproj/argo-workflows/commit/9b2dc8dc7f570529d9e8248577427c3ad34a5dec) fix: avoid exit handler nil pointer when missing outputs. Fixes #13445 (#13448)
+* [5842c5cfa](https://github.com/argoproj/argo-workflows/commit/5842c5cfa1f1e415540cd791256ef17eac74fe7c) feat!: enable Prometheus TLS by default (#13266)
+* [892c131b2](https://github.com/argoproj/argo-workflows/commit/892c131b28ceec53666ccde2eba81b5b5bced22b) chore(deps): bump axios from 1.6.5 to 1.7.4 in /ui in the deps group (#13472)
+* [36b7a72d5](https://github.com/argoproj/argo-workflows/commit/36b7a72d56025ace31de336258c5dbb7543c4c3c) fix: mark node failed if pod absent. Fixes #12993 (#13454)
+* [9756babd0](https://github.com/argoproj/argo-workflows/commit/9756babd0ed589d1cd24592f05725f748f74130b) feat!: OpenTelemetry metrics (#13265)
+* [282a0d38d](https://github.com/argoproj/argo-workflows/commit/282a0d38df8f52879f04071017dc24d320e1e4d8) feat(ui): add history to WorkflowTemplate & ClusterWorkflowTemplate details (#13452)
+* [3f161cb12](https://github.com/argoproj/argo-workflows/commit/3f161cb125ce11ea438ef48acbbd283a77ea248e) refactor(tests): `assert.Error`->`require.Error` (remainder) (#13462)
+* [9490db72b](https://github.com/argoproj/argo-workflows/commit/9490db72b602d089344e7011a8a060e7d55d9b00) refactor(tests): testifylint don't use Equal for floating point tests (#13459)
+* [2d7e2b559](https://github.com/argoproj/argo-workflows/commit/2d7e2b55914a89653613f75d2d8b19ccb9c01c39) fix: Set initial progress from pod metadata if exists. Fixes #13057 (#13260)
+* [a572e7120](https://github.com/argoproj/argo-workflows/commit/a572e7120938e0da493d3f79b2c089bf30222298) fix(docs): Provide versioned links to documentation (#13455)
+* [16f0a8ea3](https://github.com/argoproj/argo-workflows/commit/16f0a8ea3cc0690d32994d309ac6b6e26a9409ca) fix: Only apply execution control to nodes that are not part of exit handler. (#13016)
+* [eaf84460d](https://github.com/argoproj/argo-workflows/commit/eaf84460d5bceb39b5c3acd6fbe47b802262b9d9) refactor(tests): `assert.Error` -> `require.Error` (`workflow/controller/`) (#13401)
+* [24de3c63c](https://github.com/argoproj/argo-workflows/commit/24de3c63c907e6899baf09c24ba3b215073964d7) refactor(tests): `assert.Error` -> `require.Error` (other `workflow/` dirs) (#13402)
+* [df66dbe0b](https://github.com/argoproj/argo-workflows/commit/df66dbe0b7b1b1f83911c440176fb97e6f683e5c) chore(deps): bump github.com/docker/docker from 26.1.4+incompatible to 26.1.5+incompatible in the go_modules group (#13446)
+* [902ddd4a8](https://github.com/argoproj/argo-workflows/commit/902ddd4a8a88a646e4903197b7d353a38d63d8c9) fix(docs): replace outdated `whalesay` image with `busybox` (#13429)
+* [37cfbb54d](https://github.com/argoproj/argo-workflows/commit/37cfbb54dba1f25f2c1ba2f281dd193bcabdcd5a) fix(swagger): no spaces in `archived-workflows`. Fixes #10609 (#13417)
+* [500822ae6](https://github.com/argoproj/argo-workflows/commit/500822ae6ceb19e935692f0a896cb72da66d49a2) chore(deps): bump github.com/docker/docker from 24.0.9+incompatible to 26.1.4+incompatible in the go_modules group (#13416)
+* [7cc20bbfa](https://github.com/argoproj/argo-workflows/commit/7cc20bbfa5a4b871b757413a76cc3259894baaea) fix: improve get archived workflow query performance during controller estimation. Fixes #13382 (#13394)
+* [1239fd022](https://github.com/argoproj/argo-workflows/commit/1239fd022b8444c692d724ab41548b37d47bc0a4) fix(server): don't return `undefined` SA NS (#13347)
+* [2cb91187f](https://github.com/argoproj/argo-workflows/commit/2cb91187f6b3cb8b341cb9a3509847efeef898fd) refactor(tests): `assert.Error` -> `require.Error` (other unit tests) (#13399)
+* [64a134468](https://github.com/argoproj/argo-workflows/commit/64a13446828c5ca92a0c0a074ab89f34800cde24) refactor(tests): `assert.Error` -> `require.Error` (`cmd/`) (#13397)
+* [7d1da63fe](https://github.com/argoproj/argo-workflows/commit/7d1da63fe0cf8bbdd0e6b536142ce422e2a3476b) refactor(tests): `assert.Error` -> `require.Error` (`pkg/`) (#13398)
+* [904683cb2](https://github.com/argoproj/argo-workflows/commit/904683cb2429a58d6c92f367c548952622dfc9ac) refactor(tests): `assert.Error` -> `require.Error` (`util/`) (#13400)
+* [5d8ee22b2](https://github.com/argoproj/argo-workflows/commit/5d8ee22b249e1702894709ae3aaeb1995d6028a4) fix(resource): don't use `-f` when patch file is provided (#13317)
+* [da3cf7423](https://github.com/argoproj/argo-workflows/commit/da3cf742396309474ea2d858212fdc0a1198270b) refactor(tests): testifylint automated fixes (#13396)
+* [637ffce64](https://github.com/argoproj/argo-workflows/commit/637ffce641efae16b5168075a5518dd9f24d649e) fix(test): load to stream tmp file counting (#13366)
+* [092a43b23](https://github.com/argoproj/argo-workflows/commit/092a43b2344017ef1185b2e9d2b381618e4acf5d) fix(build): slightly optimize UI tasks in `kit` `tasks.yaml` (#13350)
+* [c16c5e4ad](https://github.com/argoproj/argo-workflows/commit/c16c5e4adfbc1e321f9e9293d8364904c6db4bf9) fix(ui): display Bitbucket Server event source icon in event flow. Fixes #13386 (#13387)
+* [c55130451](https://github.com/argoproj/argo-workflows/commit/c5513045110684e565ad7f98aff7293dbed07fba) refactor: remove unnecessary `PriorityMutex` implementation (#13337)
+* [1ed136869](https://github.com/argoproj/argo-workflows/commit/1ed1368694b660eeb5a527fd23695263ef0e4fde) fix: Mark non-fulfilled taskSetNodes error when agent pod failed. Fixes #12703 (#12723)
+* [7357a1bbd](https://github.com/argoproj/argo-workflows/commit/7357a1bbd06dbef29ad6fa757194e95562206a49) fix(devcontainer): `chown` regression for `make codegen` (#13375)
+* [a27fed4d8](https://github.com/argoproj/argo-workflows/commit/a27fed4d8401328750db109da26e85d2e8f22c37) feat: Support authentication via Shared Access Signatures (SAS) for Azure artifacts (Fixes #10297) (#13360)
+* [52cca7e07](https://github.com/argoproj/argo-workflows/commit/52cca7e079a4f6d76db303ac550b1876e51b3865) fix(cron): `schedules` with `timezone` (#13363)
+* [14038a3b3](https://github.com/argoproj/argo-workflows/commit/14038a3b3c3dc50508143bbce2c119ac8bff2bb1) feat(cli): support `-l` flag for `template list`. Fixes #13309 (#13364)
+* [a154a93c9](https://github.com/argoproj/argo-workflows/commit/a154a93c978de3dc1fc2e4a6ca19a3b39d62ee5e) fix: constraint containerType outboundnode boundary. Fixes #12997 (#13048)
+* [1f0adca09](https://github.com/argoproj/argo-workflows/commit/1f0adca09374362d47cf5fd9f19b4b4b2e104d03) fix(devcontainer): remove `-R` in `chown` (#13348)
+* [c834ef5e6](https://github.com/argoproj/argo-workflows/commit/c834ef5e6919b08e9a761b342f8b8961bbb2ad19) fix(cli): `argo lint` with strict should report case-sensitive errors. Fixes #13006 (#13250)
+* [d7495b83b](https://github.com/argoproj/argo-workflows/commit/d7495b83b519e0c39b49fe692485e95286ce6665) fix(docs): correct headings in 3.4 upgrade notes (#13351)
+* [61f3fd416](https://github.com/argoproj/argo-workflows/commit/61f3fd416af4bc648c1252987a3b74e77cd62041) refactor: use templateScope var instead of repeatedly retrieving it from function (#13345)
+* [8604148c9](https://github.com/argoproj/argo-workflows/commit/8604148c97db65af423c34b0ae4cef73ffb89db4) fix(devcontainer): expose ports for all services (#13349)
+* [efb52e50c](https://github.com/argoproj/argo-workflows/commit/efb52e50c5b4816599d60f22e33e9d4506a90a34) fix(ui): hide `Workflow gone` message when workflow is archived (#13308)
+* [0d706d002](https://github.com/argoproj/argo-workflows/commit/0d706d0027e92a0abe9a58a4aae841465f1c99ec) refactor: reorganize some `Makefile` variables (#13340)
+* [a4f1417d5](https://github.com/argoproj/argo-workflows/commit/a4f1417d5351caaefb91bbf8e3316e070db5bffd) chore(deps): update go to 1.22 (#13258)
+* [c94e21e16](https://github.com/argoproj/argo-workflows/commit/c94e21e16ed9fc1d09a7e37f6b7810c7f215e91d) fix: allow nodes without `taskResultCompletionStatus` (#13332)
+* [c59ff53a3](https://github.com/argoproj/argo-workflows/commit/c59ff53a37a7e7ac41f73b23e621f601eab9d604) fix(cli): Ensure `--dry-run` and `--server-dry-run` flags do not create workflows. fixes #12944 (#13183)
+* [fc0f34ecb](https://github.com/argoproj/argo-workflows/commit/fc0f34ecba45744500aa78e01c43d42414141613) fix: Update modification timestamps on untar. Fixes #12885 (#13172)
+* [8d8f95472](https://github.com/argoproj/argo-workflows/commit/8d8f95472a1dea98d57d9d77be74107978cb009a) fix(resource): catch fatal `kubectl` errors (#13321)
+* [3ece3b30f](https://github.com/argoproj/argo-workflows/commit/3ece3b30f0c445204fec468fd437e77283cab913) fix(build): bump golang to 1.21.12 in builder image to fix CVEs (#13311)
+* [a929c8f4d](https://github.com/argoproj/argo-workflows/commit/a929c8f4dd03460d0f1e5ab2937dd2990a659d81) fix: allow artifact gc to delete directory. Fixes #12857 (#13091)
+* [d1f2f017f](https://github.com/argoproj/argo-workflows/commit/d1f2f017f96a8dde542bf5efc7a11dae7349e25f) refactor(cli): simplify counter in printer (#13291)
+* [825aacf57](https://github.com/argoproj/argo-workflows/commit/825aacf574e975149ea7cbac0054c9095e5bac59) fix: Only cleanup agent pod if exists. Fixes #12659 (#13294)
+* [3f9b992cd](https://github.com/argoproj/argo-workflows/commit/3f9b992cdddb09633ef329c13eab1823ca6e5f3e) fix: correct pod names for inline templates. Fixes #12895 (#13261)
+* [9c5dd5b13](https://github.com/argoproj/argo-workflows/commit/9c5dd5b1325f270a76ac16311d8328f626a36ff4) fix(docs): clarify CronWorkflow `startingDeadlineSeconds`. Fixes #12971 (#13280)
+* [77b573298](https://github.com/argoproj/argo-workflows/commit/77b573298faa7d8705f51f41e11e4f5b16fe67d8) fix: oss internal error should retry. Fixes #13262 (#13263)
+* [06da23e86](https://github.com/argoproj/argo-workflows/commit/06da23e8660f7841592070b1a372ace0750c2364) fix(ui): parameter descriptions shouldn't disappear on input (#13244)
+* [ac9cb3ae9](https://github.com/argoproj/argo-workflows/commit/ac9cb3ae93bb441bb7ce09b74e99789adf599eae) fix(server): switch to `JSON_EXTRACT` and `JSON_UNQUOTE` for MySQL/MariaDB. Fixes #13202 (#13203)
+* [10e3a6dc1](https://github.com/argoproj/argo-workflows/commit/10e3a6dc1a8bd5d250ac3423e52341d28ff6b654) fix(ui): Use proper podname for containersets. Fixes #13038 (#13039)
+* [6c33cbbdb](https://github.com/argoproj/argo-workflows/commit/6c33cbbdb3258d53095f8334375f4a18a4c48044) fix: Mark `Pending` pod nodes as `Failed` when shutting down. Fixes #13210 (#13214)
+* [b49faaf21](https://github.com/argoproj/argo-workflows/commit/b49faaf21f0aa5bb40b722a08288b34981751da1) feat(deps): upgrade `expr` from 1.16.0 to 1.16.9 to support `concat` function. Fixes #13175 (#13194)
+* [6201d759e](https://github.com/argoproj/argo-workflows/commit/6201d759ebb32ba543c01665c142d04b0428f227) fix: process metrics later in `executeTemplate`. Fixes #13162 (#13163)
+* [9c57c376c](https://github.com/argoproj/argo-workflows/commit/9c57c376cc500056246d51dcd190f09473820aeb) chore(deps): bump ws from 7.5.9 to 7.5.10 in /ui in the deps group (#13217)
+* [824cf991e](https://github.com/argoproj/argo-workflows/commit/824cf991ec1deb0198663be93f543a5a9bd94ab6) fix(deps): bump `github.com/Azure/azure-sdk-for-go/sdk/azidentity` from 1.5.1 to 1.6.0 to fix CVE (#13197)
+* [2ca48415b](https://github.com/argoproj/argo-workflows/commit/2ca48415bde03e8c6bd1650ed42f1883176c7cd0) fix: don't necessarily include all artifacts from templates in node outputs (#13066)
+* [8f3860d76](https://github.com/argoproj/argo-workflows/commit/8f3860d7683068ab4f93bc725eb24dbbaee78e11) fix(server): don't use cluster scope list + watch in namespaced mode. Fixes #13177 (#13189)
+* [dc6a18dc5](https://github.com/argoproj/argo-workflows/commit/dc6a18dc545bbf35103ffddb81a014eefcbb403d) fix(ui): upgrade `argo-ui` for visible filter dropdown bar arrow. Fixes #7789 (#13169)
+* [0ca0c0f72](https://github.com/argoproj/argo-workflows/commit/0ca0c0f721c9bf05c63dea98168cfa87441656c7) fix(server): mutex calls to sqlitex (#13166)
+* [e00757bb4](https://github.com/argoproj/argo-workflows/commit/e00757bb41df6306fd1fb06bf295a7c8d2d74267) fix(templating): return json, not go structs (#12909)
+* [b28486cdc](https://github.com/argoproj/argo-workflows/commit/b28486cdc0a2174d68a0d0d04ba788847552b826) fix: only evaluate retry expression for fail/error node. Fixes #13058 (#13165)
+* [465c7b6d6](https://github.com/argoproj/argo-workflows/commit/465c7b6d6abd06a36165955d7fd01d9db2b6a2d4) fix: Merge templateDefaults into dag task tmpl. Fixes #12821 (#12833)
+* [6c8393fa3](https://github.com/argoproj/argo-workflows/commit/6c8393fa392557637e9a23faa9a38696acaba207) fix: Apply podSpecPatch in `woc.execWf.Spec` and template to pod sequentially (#12476)
+* [b560ad383](https://github.com/argoproj/argo-workflows/commit/b560ad383d3a7227964c4e4a30e7b69ce6bc9b03) chore!: remove duplicate Server env vars, plus `--basehref` -> `--base-href` (#12653)
+* [cc604e4fe](https://github.com/argoproj/argo-workflows/commit/cc604e4fe1e0b9a493ae5f5c7b6f3550ea7b83cc) fix: don't fail workflow if PDB creation fails (#13102)
+* [effcab77b](https://github.com/argoproj/argo-workflows/commit/effcab77b2984056f721018b854d5c065844961c) fix(release): set `$DOCKER_CONFIG` if unset (#13155)
+* [bda02806c](https://github.com/argoproj/argo-workflows/commit/bda02806cdc27216cd0ce33418997bf5a4215ae1) fix: Allow termination of workflow to update on exit handler nodes. fixes #13052 (#13120)
+* [64850e021](https://github.com/argoproj/argo-workflows/commit/64850e0216d27911c266febb1f3fea806f70ab01) chore(deps): use `docker/login-action` consistently instead of `Azure/docker-login` (#12791)
+* [58dbcd0b4](https://github.com/argoproj/argo-workflows/commit/58dbcd0b4d9900fc0074884e5a28ede62e6cd9db) fix(build): `uname` handling for mac M1 arch. Fixes #13112 (#13113)
+* [b212d5fb1](https://github.com/argoproj/argo-workflows/commit/b212d5fb147e09edeed3766a717846610808096d) fix: load missing fields for archived workflows (#13136)
+* [ae0c76773](https://github.com/argoproj/argo-workflows/commit/ae0c767733a4b588fb7ebc05d10c5ad681f14adf) fix(ui): `package.json#license` should be Apache (#13040)
+* [c11246469](https://github.com/argoproj/argo-workflows/commit/c1124646963981f5589af15943e708cd998b8491) feat: argo cli support fish completion (#13128)
+* [fce51dfd0](https://github.com/argoproj/argo-workflows/commit/fce51dfd0d49c521102a2c1a8d661fab742578a5) fix: silence devcontainer `Permission denied` error. Fixes #13109 (#13111)
+* [f480eb9d5](https://github.com/argoproj/argo-workflows/commit/f480eb9d5ccbc2e5e07637a6bd8bef9f01141aa8) fix(docs): Fix `gcloud` typo (#13101)
+* [0076cc2bf](https://github.com/argoproj/argo-workflows/commit/0076cc2bf4014c2c8a649dd70852c360333f78f2) refactor(ui): heavily simplify `WorkflowCreator` effect (#13094)
+* [4d8f97290](https://github.com/argoproj/argo-workflows/commit/4d8f97290d10305c4ba96e442286b64223515af7) refactor(ui): code-split out large `xterm` dep (#12158)
+* [ae2ad227a](https://github.com/argoproj/argo-workflows/commit/ae2ad227a948f132b9cf98f5ace4e6a57223af82) chore(deps): update nixpkgs to nixos-24.05 (#13080)
+* [920d965bb](https://github.com/argoproj/argo-workflows/commit/920d965bb6742b215f2a0658fe3a9cae73887d3e) fix(ui): show container logs when using `templateRef` (#12973)
+* [b5ed73017](https://github.com/argoproj/argo-workflows/commit/b5ed730172fffa5307e5add28084bbd980d35286) fix: Enable realtime metric gc after its workflow is completed. Fixes #12790 (#12830)
+* [d4b9327b9](https://github.com/argoproj/argo-workflows/commit/d4b9327b93511164d4f4401df6e867cd08faa2f7) fix(deps): upgrade swagger-ui-react v5.17.3, react-dom v18.3.1, and react v18.3.1. Fixes CVEs (#13069)
+* [670c51a79](https://github.com/argoproj/argo-workflows/commit/670c51a7997d22bd9b337b58b90274859a75f16e) fix: delete skipped node when resubmit with memoized.Fixes: #12936 (#12940)
+* [e490d4815](https://github.com/argoproj/argo-workflows/commit/e490d4815dd1a93331a141ed02a7dacd46a4fb5b) fix: nodeAntiAffinity is not working as expected when boundaryID is empty. Fixes: #9193 (#12701)
+* [71f1d860b](https://github.com/argoproj/argo-workflows/commit/71f1d860b2c665ad87e8c313c4f865b829d07626) fix: ignore retry node when check succeeded descendant nodes. Fixes: #13003 (#13004)
+* [adef075c2](https://github.com/argoproj/argo-workflows/commit/adef075c2a936f0b9edc4513f8bc4490bb551536) fix: add timeout for executor signal (#13012)
+* [9f620d784](https://github.com/argoproj/argo-workflows/commit/9f620d7843c7ac5f2b283e900c922e1e4b5bfac8) fix(docs): Clarify quick start installation. Fixes #13032 (#13047)
+* [9cacef302](https://github.com/argoproj/argo-workflows/commit/9cacef302bca869da1700b72bede1afad0e9526d) refactor(test): use `t.Setenv` (#13036)
+* [5b7d1472f](https://github.com/argoproj/argo-workflows/commit/5b7d1472f393d60d884d3809b57bde7d4d7bd538) refactor(ui): optimize state in logs viewer (#13046)
+* [f4419d04c](https://github.com/argoproj/argo-workflows/commit/f4419d04c22766ec7029bc66f9358f96e3673c48) feat(executor): set seccomp profile to runtimedefault (#12984)
+* [0a096e66b](https://github.com/argoproj/argo-workflows/commit/0a096e66ba185d02caa5172fa677087dd4aba065) feat: add sqlite-based memory store for live workflows. Fixes #12025 (#13021)
+* [e3b0bb6b2](https://github.com/argoproj/argo-workflows/commit/e3b0bb6b289eafcbe5ecea9c1e3b920ca2bc31a8) fix: don't rebuild `ui/dist/app/index.html` in `argocli-build` stage (#13023)
+* [2f1570995](https://github.com/argoproj/argo-workflows/commit/2f15709952075ba208cf45ec459e66a14fa37d02) fix: use argocli image from pull request in CI (#13018)
+* [a4fc31887](https://github.com/argoproj/argo-workflows/commit/a4fc31887041e80f7f8f51836bbf692a6ed83c98) fix: setBucketLifecycleRule error in OSS Artifact Driver. Fixes #12925 (#12926)
+* [b58118769](https://github.com/argoproj/argo-workflows/commit/b581187691b4d8ad82a90be15f9b56b1ccaaa1ec) fix(ci): Add missing quote in retest workflow. Fixes #12864 (#13007)
+* [ccb71bdac](https://github.com/argoproj/argo-workflows/commit/ccb71bdacd13ead899a9005f3078225b5e388715) feat: implement OpenStream func of OSS artifactdriver. Part of #8489 (#12908)
+* [b4af68bdd](https://github.com/argoproj/argo-workflows/commit/b4af68bdd48c41bcf75ba433357c9b9b01a0e0c1) feat(ci): Add retest workflow. Fixes #12864 (#13000)
+* [6ea442051](https://github.com/argoproj/argo-workflows/commit/6ea442051f7284a06ae33a1ae57b42493f0d4c25) ci(deps): group Dependabot updates by devDeps vs prod deps (#12890)
+* [f1ab5aa32](https://github.com/argoproj/argo-workflows/commit/f1ab5aa32f766090998bcaf5a2706c7e3a6cc608) feat: add sqlite-based memory store for live workflows. Fixes #12025 (#12736)
+* [618238644](https://github.com/argoproj/argo-workflows/commit/6182386445f162cabdf8c58312702537cc146006) fix: retry large archived wf. Fixes #12740 (#12741)
+* [30ca3692b](https://github.com/argoproj/argo-workflows/commit/30ca3692b4964bca18e8197e737c6ff4f429700f) refactor(controller): optimize PDB creation request (#12974)
+* [a2480cb9c](https://github.com/argoproj/argo-workflows/commit/a2480cb9cb8dfbe7c41b124c1a7a25944ac969a8) chore(docs)!: remove references to no longer supported executors (#12975)
+* [1b414a3d9](https://github.com/argoproj/argo-workflows/commit/1b414a3d9cff3ee00eb659b716558aefb1e975b6) fix: `insecureSkipVerify` for `GetUserInfoGroups` (#12982)
+* [d578d2cb0](https://github.com/argoproj/argo-workflows/commit/d578d2cb095903fe0f7b3731b77bbcb5aa7bfa4d) fix: use GetTemplateFromNode to determine template name (#12970)
+* [7c0465354](https://github.com/argoproj/argo-workflows/commit/7c04653543cdfd48e6f2ec96fc4bb87779ed2773) feat(cli): add riscv64 support (#12977)
+* [9e1432a8b](https://github.com/argoproj/argo-workflows/commit/9e1432a8b439eb74e901ceed460d298ca3633e2f) fix(ui): try retrieving live workflow first then archived (#12972)
+* [671320d4f](https://github.com/argoproj/argo-workflows/commit/671320d4f52bdb948e5cfeef27a90c3c97e9157d) refactor: simplify `getPodName` and make consistent with back-end (#12964)
+* [b1c37686c](https://github.com/argoproj/argo-workflows/commit/b1c37686c35b78fc93a025f37469591ef5de0c1b) fix(ui): remove unnecessary hard reload after delete (#12930)
+* [a5370334d](https://github.com/argoproj/argo-workflows/commit/a5370334df9e69c47a169ddb70d458faaa95b920) fix(ui): use router navigation instead of page load after submit (#12950)
+* [08772fb0a](https://github.com/argoproj/argo-workflows/commit/08772fb0ae49bf1cc77d0170f26a0ebddf9f632d) fix(ui): handle non-existent labels in `isWorkflowInCluster` (#12898)
+* [04b51beb6](https://github.com/argoproj/argo-workflows/commit/04b51beb6afd0818657b076b5410acb4be6b89f3) fix(ui): properly get archive logs when no node was chosen (#12932)
+* [13d553c45](https://github.com/argoproj/argo-workflows/commit/13d553c45d4d9e7d3a27674e0e25f515e78629fe) feat(cli): Add `--no-color` support to `argo lint`. Fixes #12913 (#12953)
+* [6b16f24c9](https://github.com/argoproj/argo-workflows/commit/6b16f24c97e4b9c792e18835304e517f2d0ddd0f) fix(ui): default to `main` container name in event source logs API call (#12939)
+* [f0a867b63](https://github.com/argoproj/argo-workflows/commit/f0a867b6325ec3f20369bf6c92518dc5bb2ebf59) fix(build): close `pkg/apiclient/_.secondary.swagger.json` (#12942)
+* [f80b9e888](https://github.com/argoproj/argo-workflows/commit/f80b9e8886091742b436613f09ece01a740c9fe5) fix: don't load entire archived workflow into memory in list APIs (#12912)
+* [431960843](https://github.com/argoproj/argo-workflows/commit/43196084339df2adecaaeb945514d472d7b0a0ad) refactor(ui): simplify `hasArtifactLogs` with optional chaining (#12933)
+* [ea5410aab](https://github.com/argoproj/argo-workflows/commit/ea5410aab7c13146df6bb2523c966c6a98538bbd) fix: correct order in artifactGC error log message (#12935)
+* [20956219f](https://github.com/argoproj/argo-workflows/commit/20956219fa0e774d39b19b2560bb253ef1d8a54f) fix: workflows that are retrying should not be deleted (Fixes #12636) (#12905)
+* [ec5b5d5f4](https://github.com/argoproj/argo-workflows/commit/ec5b5d5f49d33172cd5dd018b4c5434551d93970) fix: change fatal to panic. (#12931)
+* [7eaf3054b](https://github.com/argoproj/argo-workflows/commit/7eaf3054bb1658e445852a7e1eecd364c50ff88a) fix: Correct log level for agent containers (#12929)
+* [76b2a3f5f](https://github.com/argoproj/argo-workflows/commit/76b2a3f5f50c3c214931b1c56d185b1a940a2811) feat: support dynamic templateref naming. Fixes: #10542 (#12842)
+* [2eb241586](https://github.com/argoproj/argo-workflows/commit/2eb241586746326f0fa6e2ee4dd3b45d77910551) fix: DAG with continueOn in error after retry. Fixes: #11395 (#12817)
+* [87a2041ba](https://github.com/argoproj/argo-workflows/commit/87a2041ba7507c15070a3855b924c1075c50c268) refactor: remove unnecessary `AddEventHandler` error handling (#12917)
+* [561beb2ce](https://github.com/argoproj/argo-workflows/commit/561beb2ce1d3ce5fbf068950299b9ae5212093ca) feat: allow custom http client and use ctx for http1 apiclient. Fixes #12827 (#12867)
+* [e3bfce5dd](https://github.com/argoproj/argo-workflows/commit/e3bfce5dd4ddc4b9db76688f62d7d5e2d2eaaa02) fix(deps): upgrade x/net to v0.23.0. Fixes CVE-2023-45288 (#12921)
+* [fc30b5a2b](https://github.com/argoproj/argo-workflows/commit/fc30b5a2b790c99b8c5addf67d14dbbefea7418d) fix(deps): upgrade `http2` to v0.24. Fixes CVE-2023-45288 (#12901)
+* [00101c6f0](https://github.com/argoproj/argo-workflows/commit/00101c6f0bed9022d216d0ad678ec00c40fdaed3) feat: implement Delete func of OSS ArtifactDriver. Fixes #9349 (#12907)
+* [3b4551b6f](https://github.com/argoproj/argo-workflows/commit/3b4551b6f33bd22519cc98e2d8c157a92720b5d7) fix(deps): upgrade `crypto` from v0.20 to v0.22. Fixes CVE-2023-42818 (#12900)
+* [026848cec](https://github.com/argoproj/argo-workflows/commit/026848cec4605725d31cd39bff254eaea1a78eb1) chore(deps): bump `undici` from 5.28.3 to 5.28.4 in /ui (#12891)
+* [40eb51ec7](https://github.com/argoproj/argo-workflows/commit/40eb51ec72c1cdac25ed91d381375704fd84b90d) chore(deps): upgrade `mkdocs-material` from 8.2.6 to 9.x (#12894)
+* [e4ce3327b](https://github.com/argoproj/argo-workflows/commit/e4ce3327b585ca7ef1afaa615f4ed60a1ebc4d28) ci(deps): remove auto `yarn-deduplicate` on dependabot PRs (#12892)
+* [d2369c977](https://github.com/argoproj/argo-workflows/commit/d2369c977d1c500d3aa9a4dae8352b7008b35f79) fix: use multipart upload method to put files larger than 5Gi to OSS. Fixes #12877 (#12897)
+* [66d8351b5](https://github.com/argoproj/argo-workflows/commit/66d8351b51a89157eff99e9bd8178913a44d62b7) chore(deps): bump `express`, `follow-redirects`, and `webpack-dev-middleware` (#12880)
+* [ab107e599](https://github.com/argoproj/argo-workflows/commit/ab107e599811541badd07ccb70660b6420571d58) ci(deps): fix typo in `--allow-empty` (#12889)
+* [7e4a0dbec](https://github.com/argoproj/argo-workflows/commit/7e4a0dbec71c89e9c20c6bdb4a22b7c035f944d2) ci(deps): fix auto deduplication of `yarn.lock` for Dependabot PRs (#12882)
+* [adb6d5d31](https://github.com/argoproj/argo-workflows/commit/adb6d5d31c46e8cb45107decf4c9f95d323fc495) build(deps): bump github.com/go-jose/go-jose/v3 from 3.0.1 to 3.0.3 (#12879)
+* [23927c5a6](https://github.com/argoproj/argo-workflows/commit/23927c5a64d06373b51024f6e3e0aeaeeedbafbb) build(deps): bump github.com/docker/docker from 24.0.0+incompatible to 24.0.9+incompatible (#12878)
+* [74eb72253](https://github.com/argoproj/argo-workflows/commit/74eb722539869a5e32c2f31e52e6fd16730aca70) feat(ui): display line numbers in object-editor. Fixes #12807. (#12873)
+* [cd0c58e05](https://github.com/argoproj/argo-workflows/commit/cd0c58e05a088946d0e01e0275b27e43a23ba080) fix: remove completed taskset status before update workflow. Fixes: #12832 (#12835)
+* [fb6c3d0b8](https://github.com/argoproj/argo-workflows/commit/fb6c3d0b801063851561ae5ae61501fba40169b0) fix: make sure Finalizers has chance to be removed. Fixes: #12836 (#12831)
+* [db84d5141](https://github.com/argoproj/argo-workflows/commit/db84d5141f1dac5926d5077be1f41f9b84836cbb) chore(deps): bump github.com/argoproj/argo-events from 1.7.3 to 1.9.1 (#12860)
+* [24e5ff83b](https://github.com/argoproj/argo-workflows/commit/24e5ff83b71b355de0bde8827c30a63f9563713f) refactor: use context from `processNextPodCleanupItem` (#12858)
+* [daa5f7e4a](https://github.com/argoproj/argo-workflows/commit/daa5f7e4a699e235ae567fda4e456f00f6f57be5) fix(test): wait enough time to Trigger Running Hook. Fixes: #12844 (#12855)
+* [54106f722](https://github.com/argoproj/argo-workflows/commit/54106f72212442a6ed4d0d111d5313a354a833fd) fix: filter hook node to find the correct lastNode. Fixes: #12109 (#12815)
+* [1b095392c](https://github.com/argoproj/argo-workflows/commit/1b095392cf0e4c77a2f4a01845704fad93771597) chore(deps): upgrade Cosign to v2.2.3 (#12850)
+* [748ae475d](https://github.com/argoproj/argo-workflows/commit/748ae475d3400f2aa51800c2337607811550d989) chore(deps): bump k8s dependencies to 1.26 (#12847)
+* [a82a68903](https://github.com/argoproj/argo-workflows/commit/a82a68903b5063cb29abc52fa7c90b0b2eff3df8) fix: terminate workflow should not get throttled Fixes #12778 (#12792)
+* [8b304489e](https://github.com/argoproj/argo-workflows/commit/8b304489eb7cba154d48020b0082a570f5b31624) chore(deps): upgrade `actions/cache` and `create-pull-request` to Node v20 (#12775)
+* [e10f695f9](https://github.com/argoproj/argo-workflows/commit/e10f695f9e431db80cc8942aca5b3af4d7dc1a3c) chore(deps): bump k8s dependencies to 1.25 (#12822)
+* [cfe2bb791](https://github.com/argoproj/argo-workflows/commit/cfe2bb791d0e769fbe0536bc7042b4c7ff33f987) fix(containerSet): mark container deleted when pod deleted. Fixes: #12210 (#12756)
+* [842c613fd](https://github.com/argoproj/argo-workflows/commit/842c613fd1412ce95eaada3ee0d10a1a9cc2a375) refactor(cli): move common functions to `util.go` (#12839)
+* [2e5fb3b24](https://github.com/argoproj/argo-workflows/commit/2e5fb3b249535b0b92f36aa14caa059d5369ab61) feat: Add update command for cron,template,cluster-template. Fixes: #5464 #7344 (#12803)
+* [bcc483ea5](https://github.com/argoproj/argo-workflows/commit/bcc483ea574748843868862f9e1493a743b8c4ed) chore(deps): bump github.com/vektra/mockery from v2.26.0 to v2.42.0 (#12713)
+* [a719d9409](https://github.com/argoproj/argo-workflows/commit/a719d94098a1be1f336c8273e7b404357912004a) fix: return itself when getOutboundNodes from memoization Hit steps/DAG. Fixes: #7873 (#12780)
+* [dbff027ff](https://github.com/argoproj/argo-workflows/commit/dbff027ff02b696d0293c74e26308e51172611d7) fix: pass dnsconfig to agent pod. Fixes: #12824 (#12825)
+* [87899e5dd](https://github.com/argoproj/argo-workflows/commit/87899e5dd66c73d14ef3f4acbfa25573d8cc3d4c) fix(deps): upgrade `undici` from 5.28.2 to 5.28.3 due to CVE (#12763)
+* [6e4bc8333](https://github.com/argoproj/argo-workflows/commit/6e4bc833380dfb214f9220accf40dbbe630180f5) fix(deps): upgrade `pgx` from 4.18.1 to 4.18.2 due to CVE (#12753)
+* [d5a4f7ef5](https://github.com/argoproj/argo-workflows/commit/d5a4f7ef52a3022f9b16fb8093705ced0dd897d8) fix: inline template loops should receive more than the first item. Fixes: #12594 (#12628)
+* [a67829491](https://github.com/argoproj/argo-workflows/commit/a67829491722d6218f5bde2e192fc3d093e59240) feat: support dag and steps level scheduling constraints. Fixes: #12568 (#12700)
+* [16cfef9d4](https://github.com/argoproj/argo-workflows/commit/16cfef9d41aadb8e34936920bc33f1bbd5ed9e8e) fix: workflow stuck in running state when using activeDeadlineSeconds on template level. Fixes: #12329 (#12761)
+* [20ece9cb6](https://github.com/argoproj/argo-workflows/commit/20ece9cb6c4dfa1a6900a30d58304f32bf8e93b6) fix(ui): show correct podGC message for deleteDelayDuration. Fixes: #12395 (#12784)
+* [0270a0faa](https://github.com/argoproj/argo-workflows/commit/0270a0faad550363fe3c5f1a9ae565694eeb0829) chore(deps): Bump sigs.k8s.io/controller-tools/cmd/controller-gen from v0.4.1 to v0.14.0 (#12719)
+* [ebce8ef7a](https://github.com/argoproj/argo-workflows/commit/ebce8ef7a083c392881aa87e9a330c7ecb0bcd92) fix: ensure workflowtaskresults complete before mark workflow completed status. Fixes: #12615 (#12574)
+* [0a7559807](https://github.com/argoproj/argo-workflows/commit/0a755980762c087570e123917acd6e319eb0cc42) fix: patch report outputs completed if task result not exists. (#12748)
+* [d805b7fa6](https://github.com/argoproj/argo-workflows/commit/d805b7fa6c36eac63d3dc24a84f2348a48f66be7) fix(log): change task set to task result. (#12749)
+* [7ba20fea0](https://github.com/argoproj/argo-workflows/commit/7ba20fea08e40a5792a1d25011ee8c12889960c5) fix(hack): various fixes & improvements to cherry-pick script (#12714)
+* [33ad82f68](https://github.com/argoproj/argo-workflows/commit/33ad82f689b83875a3b864298221ec3872379a4a) chore(deps): bump prometheus dependencies (#12702)
+* [88304568a](https://github.com/argoproj/argo-workflows/commit/88304568af5b8222344cde8e5b96d1a8484a50f8) fix: use optimistic concurrency strategy when updating pod status (#12632)
+* [d4ca8d9d0](https://github.com/argoproj/argo-workflows/commit/d4ca8d9d0c35891ee70e8a407d7b1c6b245c9dd3) fix(ui): code-split markdown title + desc, fix row linking, etc (#12580)
+* [9bec11438](https://github.com/argoproj/argo-workflows/commit/9bec11438cc14758f363e36be444986b9fd7782b) fix: make WF global parameters available in retries (#12698)
+* [a927379f7](https://github.com/argoproj/argo-workflows/commit/a927379f761fbffe733857e7a23d69511fba90de) fix: find correct retry node when using `templateRef`. Fixes: #12633 (#12683)
+* [5c8062e55](https://github.com/argoproj/argo-workflows/commit/5c8062e55d975aab117e37c7592c0a648a9e9860) fix: Add limit to number of Workflows in CronWorkflow history (#12681)
+* [d3433c610](https://github.com/argoproj/argo-workflows/commit/d3433c6102f2e62e900b835f91cb31de11f74f04) refactor(ui): flatten directory structures (#12539)
+* [986b069f3](https://github.com/argoproj/argo-workflows/commit/986b069f34ed5336b6f754cfc6709c30b302c768) feat: allow multiple schedules in a cron workflow (#12616)
+* [33c51ed17](https://github.com/argoproj/argo-workflows/commit/33c51ed17250d2a7b66bfd02badbd012ee33dfb3) feat: CronWorkflow/WorkflowTemplate title/description in list view (#12674)
+* [4ad0db97a](https://github.com/argoproj/argo-workflows/commit/4ad0db97a1b7e8fa55594ce259a07a94eb6a8166) fix: Patch taskset with subresources to delete completed node status.… (#12620)
+* [57a078f8b](https://github.com/argoproj/argo-workflows/commit/57a078f8bc51f058c66d58229e0678534ebd03df) fix(typo): fix some typo (#12673)
+* [030d581d7](https://github.com/argoproj/argo-workflows/commit/030d581d7e45e2f41c2f33efd6a5fb19af047027) fix(ui): `ListWatch` should not _both_ set and depend on `nextOffset` (#12672)
+* [23f8c3527](https://github.com/argoproj/argo-workflows/commit/23f8c3527eb8a3e837537f9afdc795808149dcd4) fix(controller): re-allow changing executor `args` (#12609)
+* [148252a8a](https://github.com/argoproj/argo-workflows/commit/148252a8a1777b3a9001dcaeb9b10c2345b6daf6) fix(controller): add missing namespace index from workflow informer (#12666)
+* [0acb4356d](https://github.com/argoproj/argo-workflows/commit/0acb4356d01813193b6f38195ba0c551698e7fde) fix: retry node with expression status Running -> Pending (#12637)
+* [66680f1c9](https://github.com/argoproj/argo-workflows/commit/66680f1c9bca8b47c40ce918b5d16714058647cb) fix(build): check for env vars in all dirs (#12652)
+* [130417b6c](https://github.com/argoproj/argo-workflows/commit/130417b6c7bbdfa20c3e1b3482f736cf91210f65) fix(docs): remove `workflow-controller-configmap.yaml` self reference (#12654)
+* [7d70fe264](https://github.com/argoproj/argo-workflows/commit/7d70fe264fb0dbf42fbdf64cf94539408806a76d) chore(deps): upgrade argoproj/pkg version (#12651)
+* [ae0973aed](https://github.com/argoproj/argo-workflows/commit/ae0973aed72ceac9b08b646998fd5f508e210e54) fix: pass through burst and qps for auth.kubeclient (#12575)
+* [5f4b2350b](https://github.com/argoproj/argo-workflows/commit/5f4b2350b5047a85b26f7832e5772a8482bef36d) fix: controller option to not watch configmap (#12622)
+* [6c8a7157f](https://github.com/argoproj/argo-workflows/commit/6c8a7157f6f551c88113929f41c9ebba6c1b6f9f) fix: artifact subdir error when using volumeMount (#12638)
+* [873d3de4c](https://github.com/argoproj/argo-workflows/commit/873d3de4c8bc7b3b6283c5add9919ac90694ad5f) chore(deps): fixed medium CVE in github.com/docker/docker v24.0.0+incompatible (#12635)
+* [fbd70aac1](https://github.com/argoproj/argo-workflows/commit/fbd70aac1f8c0cb32a97414027377deb2ca42b1d) fix: Allow valueFrom in dag arguments parameters. Fixes #11900 (#11902)
+* [09edbf76d](https://github.com/argoproj/argo-workflows/commit/09edbf76d2ad1d44967ef055814bf6e0f3d25b4c) fix(resources): improve ressource accounting. Fixes #12468 (#12492)
+* [1c3179085](https://github.com/argoproj/argo-workflows/commit/1c3179085e9ed4de8d2a9dff28b87acd8590242b) refactor(build): simplify `mkdocs build` scripts (#12463)
+* [e771bde9e](https://github.com/argoproj/argo-workflows/commit/e771bde9e09e2f5d772faee331cca36f8196cfb0) fix: make the process of patching pods exclusive (#12596)
+* [13444e663](https://github.com/argoproj/argo-workflows/commit/13444e663387e3b5b331c278cd9e79fc88968d7e) refactor(ui): use `import type` syntax where possible (#12514)
+* [42262690f](https://github.com/argoproj/argo-workflows/commit/42262690fcbab0ed6106d3f9069e128655b3339f) fix: upgrade expr-lang. Fixes #12037 (#12573)
+* [6abe8a950](https://github.com/argoproj/argo-workflows/commit/6abe8a9503dcde3de7057922c6d7688c68ae4957) feat: Add finalizer to workflow pod to prevent 'pod deleted'. Fixes #8783 Continuing Work of #9058 (#12413)
+* [8f2746a98](https://github.com/argoproj/argo-workflows/commit/8f2746a98cf93dbfa42f466d124346d3aeef3a70) fix: make sure taskresult completed when mark node succeed when it has outputs (#12537)
+* [a15587755](https://github.com/argoproj/argo-workflows/commit/a15587755e250fbbe3b9538b1c15ae581a108f0c) fix: Mark resource && data template report-outputs-completed true (#12544)
+* [8d27a9f12](https://github.com/argoproj/argo-workflows/commit/8d27a9f12a78f6a81998023044872ec1006e2f78) fix: make etcd errors transient (#12567)
+* [af2cacb36](https://github.com/argoproj/argo-workflows/commit/af2cacb365a6cc03cc35ed9749976e095f9a03f7) fix(ui): clone the `ListWatch` callback array in `WorkflowsList` (#12562)
+* [c46986e0d](https://github.com/argoproj/argo-workflows/commit/c46986e0d9c89f43272bb6686380fae4a41c82c5) fix: Global Artifact Passing. Fixes #12554 (#12559)
+* [baef4856f](https://github.com/argoproj/argo-workflows/commit/baef4856ff2603c76dbe277c825eaa3f9788fc91) chore(deps): bump github.com/cloudflare/circl to 1.3.7 to fix GHSA-9763-4f94-gfch (#12556)
+* [1dbc856e5](https://github.com/argoproj/argo-workflows/commit/1dbc856e51967feb58066a4087a8679b08b87be3) fix: update minio chart repo (#12552)
+* [46c1324dc](https://github.com/argoproj/argo-workflows/commit/46c1324dc6d292d5cc7a55ac89f4c2be78615e9b) fix: cache configmap don't create with workflow has retrystrategy. Fixes: #12490 #10426 (#12491)
+* [1ab7cd207](https://github.com/argoproj/argo-workflows/commit/1ab7cd2071c6bfc335a89340d736138b20caf421) fix: add resource quota evaluation timed out to transient (#12536)
+* [b734b660e](https://github.com/argoproj/argo-workflows/commit/b734b660e90f40d58fdb8e34087e41b4bae0f2e5) chore(deps): upgrade `swagger-ui-react` to v5 (#12540)
+* [1202ae473](https://github.com/argoproj/argo-workflows/commit/1202ae473a9f047cccef820a80ecb97c59a02b92) fix: prevent update race in workflow cache (Fixes #9574) (#12233)
+* [e20f31226](https://github.com/argoproj/argo-workflows/commit/e20f312263491df8f2fb6a78716fc0c152f3a7f6) fix: Fixed mutex with withSequence in http template broken. Fixes #12018 (#12176)
+* [4f4d31582](https://github.com/argoproj/argo-workflows/commit/4f4d31582cbdfa1b340c84f846dba2e5612c5cb7) feat: add stopStrategy to cron workflows (#12305)
+* [3931e59c8](https://github.com/argoproj/argo-workflows/commit/3931e59c81c390e10ef0a0a1caf953617acc8326) fix: SSO with Jumpcloud "email_verified" field #12257 (#12318)
+* [1e7b2392c](https://github.com/argoproj/argo-workflows/commit/1e7b2392caafdfe7e843f46357932e3e5df3fe93) feat: speed up resolve reference (#12328)
+* [2bdd7f39d](https://github.com/argoproj/argo-workflows/commit/2bdd7f39daabe337c169d34e075958ea7c30020b) fix: Switch to upstream go-git. Fixes CVE-2023-49569 (#12515)
+* [b290e518d](https://github.com/argoproj/argo-workflows/commit/b290e518da97a16c05387f993ae554f62c3edf04) fix: wrong values are assigned to input parameters of workflowtemplat… (#12412)
+* [85d1c79da](https://github.com/argoproj/argo-workflows/commit/85d1c79dafe50ed0e581a4311d76750bd2b69170) feat: support long arguments (#12325)
+* [19c729289](https://github.com/argoproj/argo-workflows/commit/19c729289724879f33f5e5a2da1b0d476c91b712) chore(deps): bump google.golang.org/api from 0.155.0 to 0.156.0 (#12507)
+* [5dd8002e8](https://github.com/argoproj/argo-workflows/commit/5dd8002e87ae543fb4d13c4b5b5bf02c675435af) chore(deps): bump golang.org/x/crypto from 0.17.0 to 0.18.0 (#12506)
+* [4a9ef2ae8](https://github.com/argoproj/argo-workflows/commit/4a9ef2ae8801f31df1ddc29e04466f4712f76a54) chore(deps): bump github.com/evanphx/json-patch from 5.7.0+incompatible to 5.8.0+incompatible (#12504)
+* [b447951e1](https://github.com/argoproj/argo-workflows/commit/b447951e11d965f05766674f8ef28c16d68af5ab) fix: Add missing 'archived' prop for ArtifactPanel component. Fixes #12331 (#12397)
+* [44b33fadf](https://github.com/argoproj/argo-workflows/commit/44b33fadf2d2d73cde2b5965c4a05946e45b6e75) fix: merge env bug in workflow-controller-configmap and container. Fixes #12424 (#12426)
+* [2bb770e89](https://github.com/argoproj/argo-workflows/commit/2bb770e8913a490548efeda1620689fbfbfce420) feat: delete pods in parallel to speed up retryworkflow (#12419)
+* [98b578ee3](https://github.com/argoproj/argo-workflows/commit/98b578ee3c23b4f5ed4698db0e258e12e714df0b) fix: http template host header rewrite(#12385) (#12386)
+* [93914261c](https://github.com/argoproj/argo-workflows/commit/93914261cff4216561c89c1f5f6123e7ad0d5f61) chore(deps): bump google.golang.org/api from 0.154.0 to 0.155.0 (#12479)
+* [6b2d775dd](https://github.com/argoproj/argo-workflows/commit/6b2d775dd5ff185a21208d9058e2eb4f34916aba) chore(deps): bump golang.org/x/sync from 0.5.0 to 0.6.0 (#12478)
+* [563011ace](https://github.com/argoproj/argo-workflows/commit/563011ace6d54a45f6a418d5b7d1e71aa8443f5b) chore(deps): bump golang.org/x/term from 0.15.0 to 0.16.0 (#12477)
+* [11ee342fe](https://github.com/argoproj/argo-workflows/commit/11ee342fe6f22ec90fdd909f0f98e65fd2de6274) fix: Resolve vulnerabilities in axios (#12470)
+* [bcf5672ec](https://github.com/argoproj/argo-workflows/commit/bcf5672ecfa9492e254d6d201699fb7caa06fa7e) fix(docs): handle `fields` examples with `md_in_html` (#12465)
+* [96f25af05](https://github.com/argoproj/argo-workflows/commit/96f25af0538bd3ad265d47fcbbb03a7f4953d17a) fix(docs): exclude `docs/requirements.txt` from docs build (#12466)
+* [1968436a6](https://github.com/argoproj/argo-workflows/commit/1968436a6e021adc4785ec287635a6136574c5ac) fix(docs): render Mermaid diagrams in docs (#12464)
+* [c71e1dc05](https://github.com/argoproj/argo-workflows/commit/c71e1dc05a052778bed597f7c0f50b2ede4a7f32) feat: Support argo plugin stop. Fixes #12333 (#12441)
+* [901fdab72](https://github.com/argoproj/argo-workflows/commit/901fdab7241e135a57ac312476e7d0c91bca53ab) fix: CI Artifact Download Timeout. Fixes #12452 (#12454)
+* [c63c2bc18](https://github.com/argoproj/argo-workflows/commit/c63c2bc1838bc6069703c3cd31873b51329ce15d) fix: fix missing artifacts for stopped workflows. Fixes #12401 (#12402)
+* [198818b55](https://github.com/argoproj/argo-workflows/commit/198818b55518150a530ca8f894f5c25700826fda) fix: Apply workflow level PodSpecPatch in agent pod. Fixes #12387 (#12440)
+* [d1cae63b9](https://github.com/argoproj/argo-workflows/commit/d1cae63b90c374e37577147c4865b81f022b631c) fix: documentation links (#12446)
+* [af66abc74](https://github.com/argoproj/argo-workflows/commit/af66abc74fa9d669248e7b6b6df9104ff7be48a6) fix: ensure workflow wait for onExit hook for DAG template (#11880) (#12436)
+* [ee890e9ad](https://github.com/argoproj/argo-workflows/commit/ee890e9adffaf151c42e95d55fd83bd43be79883) chore(deps): bump tj-actions/changed-files from 40 to 41 (#12433)
+* [7b3d040c3](https://github.com/argoproj/argo-workflows/commit/7b3d040c35ec4d7240ff76e952b0ebb2e78448ae) chore(deps): bump github.com/aliyun/aliyun-oss-go-sdk from 3.0.1+incompatible to 3.0.2+incompatible (#12428)
+* [04ebbe9bd](https://github.com/argoproj/argo-workflows/commit/04ebbe9bd271439f003e01cbac5039f7a08c5fd3) chore(deps): bump moment from 2.29.4 to 2.30.1 in /ui (#12431)
+* [f583400dd](https://github.com/argoproj/argo-workflows/commit/f583400dd363c41a2e35467831b6d1740a23bf67) chore(deps): bump classnames from 2.3.3 to 2.5.1 in /ui (#12430)
+* [476891963](https://github.com/argoproj/argo-workflows/commit/47689196355cbafdb2cdf9493f301abe671cf6d4) fix: custom columns not supporting annotations (#12421)
+* [0a8ca818c](https://github.com/argoproj/argo-workflows/commit/0a8ca818c90068e2304a273a7b90e0e5898ea232) feat: Allow markdown in workflow title and description. Fixes #10126 (#10553)
+* [87c9be744](https://github.com/argoproj/argo-workflows/commit/87c9be7447b98795e06e677485904278a6a1df60) chore(deps): bump github.com/spf13/viper from 1.18.1 to 1.18.2 (#12403)
+* [54e02126e](https://github.com/argoproj/argo-workflows/commit/54e02126e03410191872ea3c4744f98101653a23) chore(deps): bump golang.org/x/crypto from 0.16.0 to 0.17.0 (#12405)
+* [777efeb27](https://github.com/argoproj/argo-workflows/commit/777efeb271fe19fecee799212287e554181b8ab0) chore(deps): bump react-datepicker from 4.24.0 to 4.25.0 in /ui (#12410)
+* [2f89beb6c](https://github.com/argoproj/argo-workflows/commit/2f89beb6c51842ff1f435f04168973e835fa37a8) chore(deps): bump github.com/go-openapi/jsonreference from 0.20.2 to 0.20.4 (#12404)
+* [7bcd6166f](https://github.com/argoproj/argo-workflows/commit/7bcd6166ff399f4263c1403d27d0250ae059f558) feat(server): Support supplying a list of headers when keying IPs for rate limiting (#12199)
+* [f5b6b17c4](https://github.com/argoproj/argo-workflows/commit/f5b6b17c44a8152aaa0a0fdb92adfe1aee5c7991) feat: support to show inputs dir artifacts in UI (#12350)
+* [4f27d4df2](https://github.com/argoproj/argo-workflows/commit/4f27d4df21b1a953786bd08bef881288c6199c77) fix: move log with potential sensitive data to debug loglevel. Fixes: #12366 (#12368)
+* [7bb40ef2a](https://github.com/argoproj/argo-workflows/commit/7bb40ef2ad7b8619355484300aeb2008b5a08bf1) chore(deps): bump upload and download artifact to v4 (#12384)
+* [5b4b8f600](https://github.com/argoproj/argo-workflows/commit/5b4b8f6007f4b70dd2aeafabc8be5a3f79674ec7) fix: resolve output artifact of steps from expression when it refers … (#12320)
+* [d900f074b](https://github.com/argoproj/argo-workflows/commit/d900f074b6f7f3bc06c1d7ca620c9ba42f45d14d) chore(deps): bump github.com/coreos/go-oidc/v3 from 3.8.0 to 3.9.0 (#12380)
+* [6471bc002](https://github.com/argoproj/argo-workflows/commit/6471bc0028ac45140482bd1b0e67657ab27d8c06) chore(deps): bump github.com/minio/minio-go/v7 from 7.0.65 to 7.0.66 (#12379)
+* [255f50367](https://github.com/argoproj/argo-workflows/commit/255f50367ebf51fada5f92dfdc690acb9a678284) chore(deps): bump cloud.google.com/go/storage from 1.35.1 to 1.36.0 (#12378)
+* [99f49d364](https://github.com/argoproj/argo-workflows/commit/99f49d3644979a0b7e57e6366d46a099dc3f8a16) chore(deps): bump google.golang.org/api from 0.153.0 to 0.154.0 (#12377)
+* [ceaffd419](https://github.com/argoproj/argo-workflows/commit/ceaffd419a7185f5b02546e1bba94d15ae5c13ce) chore(deps): bump github.com/Azure/azure-sdk-for-go/sdk/azcore from 1.9.0 to 1.9.1 (#12376)
+* [460ec5da1](https://github.com/argoproj/argo-workflows/commit/460ec5da1b87049ad76d83a4db80ce2c53453471) chore(deps): bump monaco-editor from 0.44.0 to 0.45.0 in /ui (#12373)
+* [5bcf1af15](https://github.com/argoproj/argo-workflows/commit/5bcf1af1565b2b450ad808c939db26fda4290318) fix: delete pending pod when workflow terminated (#12196)
+* [dee7ec5e1](https://github.com/argoproj/argo-workflows/commit/dee7ec5e190a0ee17185f461db12506a467ad89f) feat: add retry count value of custom metric (#11927)
+* [51ed59117](https://github.com/argoproj/argo-workflows/commit/51ed59117bfd2e4d4d561be26fc0924bdca43392) fix: liveness check (healthz) type asserts to wrong type (#12353)
+* [84454467b](https://github.com/argoproj/argo-workflows/commit/84454467b271e2d80e1f7aca7c5634bfe5d3b990) feat: add default metric of argo_pod_missing (#11857)
+* [80c178cb0](https://github.com/argoproj/argo-workflows/commit/80c178cb04b4c93099165593f93f0c79143d534b) fix: create dir when input path is not exist in oss (#12323)
+* [b8e98e06f](https://github.com/argoproj/argo-workflows/commit/b8e98e06fe2d86600fcac917c1c0f123ab165cb6) fix: ensure wftmplLifecycleHook wait for each dag task (#12192)
+* [a9dc033d5](https://github.com/argoproj/argo-workflows/commit/a9dc033d5e340ad3bc92ad9df0e083333c8bfa4a) chore(deps): bump google.golang.org/api from 0.152.0 to 0.153.0 (#12348)
+* [cd5cf92ed](https://github.com/argoproj/argo-workflows/commit/cd5cf92ed902a62af1bcde34a1a7bc2062c8074a) chore(deps): bump github.com/spf13/viper from 1.17.0 to 1.18.1 (#12347)
+* [b90772bfa](https://github.com/argoproj/argo-workflows/commit/b90772bfa1217b5b446f44ca53f4558fdbb766dc) chore(deps): bump github.com/itchyny/gojq from 0.12.13 to 0.12.14 (#12346)
+* [975bbc58c](https://github.com/argoproj/argo-workflows/commit/975bbc58ca3d389f2b1ef96af88b0398c8276ca2) chore(deps): bump github.com/coreos/go-oidc/v3 from 3.7.0 to 3.8.0 (#12345)
+* [b0d170a9e](https://github.com/argoproj/argo-workflows/commit/b0d170a9e2809e610db648ed3db67823bf850cbb) chore(deps): bump golang.org/x/oauth2 from 0.14.0 to 0.15.0 (#12343)
+* [2257c0e7b](https://github.com/argoproj/argo-workflows/commit/2257c0e7bb060fa0fbbbac63f17c74c112379a34) chore(deps): bump github.com/minio/minio-go/v7 from 7.0.64 to 7.0.65 (#12344)
+* [70c906497](https://github.com/argoproj/argo-workflows/commit/70c9064975fa6f72ffb5e84fde0e1333208b04f2) chore(deps): bump react-datepicker from 4.23.0 to 4.24.0 in /ui (#12340)
+* [d310920a6](https://github.com/argoproj/argo-workflows/commit/d310920a63c859c2bce34531ad23f483ad4e8a9f) chore(deps): bump cronstrue from 2.44.0 to 2.47.0 in /ui (#12338)
+* [45f595d11](https://github.com/argoproj/argo-workflows/commit/45f595d1187328deae7e3c5f635bbe5e13e142e0) chore(deps): update nixpkgs to nixos-23.11 (#12335)
+* [64ee6ae9b](https://github.com/argoproj/argo-workflows/commit/64ee6ae9b674795c114bd66d5b6bdd45be093e9a) refactor: invert conditionals for less nesting in `includeScriptOutput` (#12146)
+* [7eee84d34](https://github.com/argoproj/argo-workflows/commit/7eee84d34c2a9939e4c3006a6a1aa62e49c4cfa7) chore(deps): bump golang.org/x/crypto from 0.15.0 to 0.16.0 (#12292)
+* [7bcf9087c](https://github.com/argoproj/argo-workflows/commit/7bcf9087c067fe3e6bcfe22f1cc45e654a29f5cf) fix: return failed instead of success when no container status (#12197)
+* [c7413929c](https://github.com/argoproj/argo-workflows/commit/c7413929c6493ccf697d2b23760193877ad6fd84) fix: Changes to workflow semaphore does work #12194 (#12284)
+* [d2c415ab5](https://github.com/argoproj/argo-workflows/commit/d2c415ab55e06bfd93737fd63ad19b6b8175062c) fix: allow withItems when hooks are involved (#12281)
+* [d682c0fd7](https://github.com/argoproj/argo-workflows/commit/d682c0fd71fe452d24513b03cdde41b90fe071f7) fix: Fix variables not substitue bug when creation failed for the first time. Fixes (#11487)
+* [544ed9069](https://github.com/argoproj/argo-workflows/commit/544ed9069af6852f496fdd543c6b6233acd67a9b) chore(deps): bump github.com/Azure/azure-sdk-for-go/sdk/azcore from 1.8.0 to 1.9.0 (#12298)
+* [1f2de884c](https://github.com/argoproj/argo-workflows/commit/1f2de884c76d4576e9d7d0952fdaf46b56cde912) chore(deps): bump google.golang.org/api from 0.151.0 to 0.152.0 (#12299)
+* [aeb1bdda1](https://github.com/argoproj/argo-workflows/commit/aeb1bdda1f97faeef2b3333507bb5389bf485fe7) chore(deps): bump github.com/creack/pty from 1.1.20 to 1.1.21 (#12312)
+* [03a753ed6](https://github.com/argoproj/argo-workflows/commit/03a753ed61acff9758645d5b8060b930857c06c9) chore(deps): bump golang.org/x/term from 0.14.0 to 0.15.0 (#12311)
+* [6c0697928](https://github.com/argoproj/argo-workflows/commit/6c0697928f92160f84e2fc6581551d26e13c0dc5) chore(deps): bump github.com/gorilla/handlers from 1.5.1 to 1.5.2 (#12294)
+* [5da4b5ced](https://github.com/argoproj/argo-workflows/commit/5da4b5ceddd9b2fc2b1cc0cc9dcece712f55ea63) chore(deps): bump github.com/google/go-containerregistry from 0.16.1 to 0.17.0 (#12296)
+* [cf870b81c](https://github.com/argoproj/argo-workflows/commit/cf870b81c5552777e17599bf396cfed048258357) chore(deps): upgrade `prettier` from v1.x to v3+ (#12290)
+* [a2e7c5a1b](https://github.com/argoproj/argo-workflows/commit/a2e7c5a1bef21552e85ca426ac64a439d8ba7a6c) fix: properly resolve exit handler inputs (fixes #12283) (#12288)
+* [498734fbc](https://github.com/argoproj/argo-workflows/commit/498734fbca934d2446ae25472c21941ebd819051) fix: missing Object Value when Unmarshaling Plugin struct. Fixes #12202 (#12285)
+* [62732b30a](https://github.com/argoproj/argo-workflows/commit/62732b30a3724dad702352160cdf2a9e55a922c6) fix: completed workflow tracking (#12198)
+* [bb29d6ab9](https://github.com/argoproj/argo-workflows/commit/bb29d6ab91a2f1acadb0cfd20e9c49ff899709e8) fix: Add identifiable user agent in API client. Fixes #11996 (#12276)
+* [cc99dc1bc](https://github.com/argoproj/argo-workflows/commit/cc99dc1bc108efaf0825985f7cbb95e089c91f99) fix: remove deprecated function rand.Seed (#12271)
+* [d7b49c865](https://github.com/argoproj/argo-workflows/commit/d7b49c865d60c288ef3fbab3f82fb715d7d2d8a2) refactor(deps): migrate from deprecated `tslint` to `eslint` (#12163)
+* [9feda45fc](https://github.com/argoproj/argo-workflows/commit/9feda45fcc83e598c2a63b0d23e39fc5eb99a79a) chore(deps): bump tj-actions/changed-files from 39 to 40 (#12090)
+* [f028ac2b7](https://github.com/argoproj/argo-workflows/commit/f028ac2b709dcb7937254685dbcc947e5a448690) chore(deps): bump golang.org/x/crypto from 0.14.0 to 0.15.0 (#12265)
+* [c71005ba2](https://github.com/argoproj/argo-workflows/commit/c71005ba2c5418f65760837d280644fb7dab235e) chore(deps): bump google.golang.org/api from 0.149.0 to 0.151.0 (#12262)
+* [5cdc8cace](https://github.com/argoproj/argo-workflows/commit/5cdc8cacee72b1979060db2e84715f43e37bf43b) chore(deps): bump github.com/minio/minio-go/v7 from 7.0.63 to 7.0.64 (#12267)
+* [a9ecb1199](https://github.com/argoproj/argo-workflows/commit/a9ecb119955a3dac1538f2bacf1e60c5d0a832c0) chore(deps): bump github.com/antonmedv/expr from 1.15.3 to 1.15.5 (#12263)
+* [489263f3b](https://github.com/argoproj/argo-workflows/commit/489263f3b622bf87ae4e483a2311e9ecd9a0cac8) chore(deps): bump github.com/upper/db/v4 from 4.6.0 to 4.7.0 (#12260)
+* [a3bcd068a](https://github.com/argoproj/argo-workflows/commit/a3bcd068a0b3f2d0d66f3244e13b91e69724fb97) chore(deps): bump cloud.google.com/go/storage from 1.34.1 to 1.35.1 (#12266)
+* [2f640f6e5](https://github.com/argoproj/argo-workflows/commit/2f640f6e559e7551a6402e4598928465d22dc22a) chore(deps): bump react-datepicker from 4.21.0 to 4.23.0 in /ui (#12259)
+* [b69fc556b](https://github.com/argoproj/argo-workflows/commit/b69fc556b12fc1f9d1ee12a162df82c05187ce63) chore(deps): bump github.com/TwiN/go-color from 1.4.0 to 1.4.1 (#11567)
+* [c93913e8a](https://github.com/argoproj/argo-workflows/commit/c93913e8a0dcdfc4f970b438f7c96f5f14595ca7) chore(deps): bump sigs.k8s.io/yaml from 1.3.0 to 1.4.0 (#12092)
+* [d7d04616b](https://github.com/argoproj/argo-workflows/commit/d7d04616bf683dcb5af74ca76ecdacbbbd51b346) refactor(ui): consistent imports: `React.use` -> `use` (#12098)
+* [453f85ff9](https://github.com/argoproj/argo-workflows/commit/453f85ff926c151b873bf1b88c173cc6bb567d2f) refactor(ui): code-split gigantic Monaco Editor dep (#12150)
+* [9eadf2def](https://github.com/argoproj/argo-workflows/commit/9eadf2deff7c291cb458cc4800ada422b671349d) fix: leak stream (#12193)
+* [75d7eb190](https://github.com/argoproj/argo-workflows/commit/75d7eb1906179bad8c4e59a8b358374deef5b21f) chore(deps): bump github.com/aliyun/credentials-go from 1.3.1 to 1.3.2 (#12227)
+* [63f53eae9](https://github.com/argoproj/argo-workflows/commit/63f53eae9e697af92b89364c0443dd9a9bf9dfbc) chore(deps): bump github.com/gorilla/websocket from 1.5.0 to 1.5.1 (#12226)
+* [b6590027a](https://github.com/argoproj/argo-workflows/commit/b6590027ae30bac6c0cb0826eb19311f4b396423) chore(deps): bump golang.org/x/term from 0.13.0 to 0.14.0 (#12225)
+* [bce96ab6d](https://github.com/argoproj/argo-workflows/commit/bce96ab6d1c2315c229201bdbaa1592bbfefc4b3) chore(deps): bump cronstrue from 2.41.0 to 2.44.0 in /ui (#12224)
+* [206c901c6](https://github.com/argoproj/argo-workflows/commit/206c901c6ff122ad06a32820763e504cc5caf190) fix: Fix for missing steps in the UI (#12203)
+* [939ce4029](https://github.com/argoproj/argo-workflows/commit/939ce4029f642c03534ac9710813ecef2153fdf6) fix(server): allow passing loglevels as env vars to Server (#12145)
+* [ad5ac52a0](https://github.com/argoproj/argo-workflows/commit/ad5ac52a07138a944a65a58a479f1bb9244861bf) feat: implement IsDirectory for OSS (#12188)
+* [222d53cdf](https://github.com/argoproj/argo-workflows/commit/222d53cdfbffb962763689f3d0ba6ac2814e32d0) fix: Resource version incorrectly overridden for wfInformer list requests. Fixes #11948 (#12133)
+* [f95a5fc6b](https://github.com/argoproj/argo-workflows/commit/f95a5fc6b9d7c2501691f3c785f43861bd0af1b6) fix: retry S3 on RequestError. Fixes #9914 (#12191)
+* [6805c9132](https://github.com/argoproj/argo-workflows/commit/6805c9132c88674bc6913c58e33af3695d75d946) fix: ArtifactGC Fails for Stopped Workflows. Fixes #11879 (#11947)
+* [c95d9a1ba](https://github.com/argoproj/argo-workflows/commit/c95d9a1ba55090563f43ec97615a3d06ee117e82) chore(deps): bump golang.org/x/sync from 0.4.0 to 0.5.0 (#12185)
+* [877a2e737](https://github.com/argoproj/argo-workflows/commit/877a2e7371720e3e66ae00c5e9f57a23094fc732) chore(deps): bump github.com/go-jose/go-jose/v3 from 3.0.0 to 3.0.1 (#12184)
+* [460b30a5c](https://github.com/argoproj/argo-workflows/commit/460b30a5c821515650b478a0abc058abbf0d04e6) chore(deps): bump golang.org/x/time from 0.3.0 to 0.4.0 (#12186)
+* [873bacbaf](https://github.com/argoproj/argo-workflows/commit/873bacbafc4da79df15e0da728501ad925eef4fc) fix(ui): Cost Opt should only apply to live Workflows (#12170)
+* [249768c9d](https://github.com/argoproj/argo-workflows/commit/249768c9d6e3d0f30d53e92b248b0939822ccfa6) refactor(ui): replace `moment-timezone` with native `Intl` (#12097)
+* [a47e46208](https://github.com/argoproj/argo-workflows/commit/a47e46208cd0029ef2e35019207d0b1ee4f85ea4) chore(deps): bump github.com/aliyun/aliyun-oss-go-sdk from 2.2.9+incompatible to 3.0.1+incompatible (#12140)
+* [69b47b957](https://github.com/argoproj/argo-workflows/commit/69b47b9571eb713be3cdaf3ae878bea3d86e605c) chore(deps): bump monaco-editor from 0.43.0 to 0.44.0 in /ui (#12142)
+* [664569bb1](https://github.com/argoproj/argo-workflows/commit/664569bb1526cb2c23debf638944dd39d9c7521c) chore(deps): bump cronstrue from 2.32.0 to 2.41.0 in /ui (#12144)
+* [77173a57f](https://github.com/argoproj/argo-workflows/commit/77173a57fbadfc7d859bcd1696ddaa7a501528c6) chore(deps): bump github.com/creack/pty from 1.1.18 to 1.1.20 (#12139)
+* [789c60888](https://github.com/argoproj/argo-workflows/commit/789c60888cb394d8fceb16343e2891c30636d0e8) chore(deps): bump cloud.google.com/go/storage from 1.33.0 to 1.34.1 (#12138)
+* [c751e6605](https://github.com/argoproj/argo-workflows/commit/c751e66050a7c16d84ecdfdfe0f7ef59d6ec84c0) fix: regression in memoization without outputs (#12130)
+* [4d062d1f2](https://github.com/argoproj/argo-workflows/commit/4d062d1f24bf5168ce19687d0bfdd5d60761c193) refactor(ui): WorkflowsToolbar component from class to functional (#12046)
+* [f200826d1](https://github.com/argoproj/argo-workflows/commit/f200826d1ef832cb641e40ef6735eae69f6bbff1) fix: Upgrade axios to v1.6.0. Fixes #12085 (#12111)
+* [2f0094c56](https://github.com/argoproj/argo-workflows/commit/2f0094c56ebf22ec80f61843f3ea54d9fc410100) chore(deps): bump react-datepicker and @types/react-datepicker in /ui (#12096)
+* [fa15743ab](https://github.com/argoproj/argo-workflows/commit/fa15743aba499a4b0be40e94130d4d1eb59f3add) fix: oss list bucket return all records (#12084)
+* [2abc16f6c](https://github.com/argoproj/argo-workflows/commit/2abc16f6c08432d19fce8988a4f41a728fb2333d) fix: conflicting type of "workflow" logging attribute (#12083)
+* [08096fc05](https://github.com/argoproj/argo-workflows/commit/08096fc0512ed57a89e4a95ced56512631d8c94b) fix: Revert #11761 to avoid argo-server performance issue (#12068)
+* [5896f7561](https://github.com/argoproj/argo-workflows/commit/5896f7561b0ea3c9e4e556df68d9a702ed247881) refactor(ui): use named functions for better tracing (#12062)
+* [8f0910842](https://github.com/argoproj/argo-workflows/commit/8f0910842856eee3ad7950d0a9c141218d21ea54) chore(deps): upgrade `swagger-ui-react` to latest 4.x.x (#12058)
+* [7567775f3](https://github.com/argoproj/argo-workflows/commit/7567775f3f462099ff0936ac073f39ba1c577585) fix(ui): remove accidentally rendered semi-colon (#12060)
+* [03a6168da](https://github.com/argoproj/argo-workflows/commit/03a6168da30717eba3a7e585832841350724e90d) chore(deps): bump github.com/evanphx/json-patch from 5.6.0+incompatible to 5.7.0+incompatible (#11868)
+* [5cc8484a5](https://github.com/argoproj/argo-workflows/commit/5cc8484a5b6d85f9a687c08780250f05f6b844e0) chore(deps): bump google.golang.org/api from 0.147.0 to 0.148.0 (#12051)
+* [7a25c05dc](https://github.com/argoproj/argo-workflows/commit/7a25c05dc454c9b2a3c528acd6e85fb6ae3680de) chore(deps): bump github.com/coreos/go-oidc/v3 from 3.5.0 to 3.7.0 (#12050)
+* [35f7208ec](https://github.com/argoproj/argo-workflows/commit/35f7208ec248c0ba7bf065e0b1a8983a23a7bf7b) chore(deps): automatically `audit fix` UI deps (#12036)
+* [e5d8c5357](https://github.com/argoproj/argo-workflows/commit/e5d8c53575923b4fb0f0d3a64614388248645e4d) fix: suppress error about unable to obtain node (#12020)
+* [af41c1bac](https://github.com/argoproj/argo-workflows/commit/af41c1bac768cdaef18f843b907b4dbca735f624) chore(deps): use official versions of `bufpipe` and `expr` (#12033)
+* [bbb4807e4](https://github.com/argoproj/argo-workflows/commit/bbb4807e4a713e3276550300ae171503d5b87e09) fix: Fixed workflow onexit condition skipped when retry. Fixes #11884 (#12019)
+* [5d5c08916](https://github.com/argoproj/argo-workflows/commit/5d5c089167b9b1fd045619b8b06de4dbe798a554) feat: Fall back to retrieve logs from live pods (#12024)
+* [d1928e8c5](https://github.com/argoproj/argo-workflows/commit/d1928e8c514cf1a03c364daba78ee74dc34babd6) fix: remove WorkflowSpec VolumeClaimTemplates patch key (#11662)
+* [05fa1cba7](https://github.com/argoproj/argo-workflows/commit/05fa1cba7f02be309a06fc105e7a7b93315dea4c) fix: Fix the Maximum Recursion Depth prompt link in the CLI. (#12015)
+* [a04d05508](https://github.com/argoproj/argo-workflows/commit/a04d0550876c8940da98a7f902092958b6e6cae1) fix: retry only proper node (#11589) (#11839)
+* [32d31ab16](https://github.com/argoproj/argo-workflows/commit/32d31ab16f8164f487f24fdd08f52f7ca346642d) chore(deps): bump google.golang.org/api from 0.143.0 to 0.147.0 (#12001)
+* [b1cecff7c](https://github.com/argoproj/argo-workflows/commit/b1cecff7c75c2adf8a41bef54402bd7dccfcd79a) chore(deps): bump react-datepicker and @types/react-datepicker in /ui (#12004)
+* [5f7a2cbee](https://github.com/argoproj/argo-workflows/commit/5f7a2cbee42b88eceec387bec84d597786f2beb4) chore(deps): bump github.com/Azure/azure-sdk-for-go/sdk/azidentity from 1.3.1 to 1.4.0 (#12003)
+* [2227c9f7e](https://github.com/argoproj/argo-workflows/commit/2227c9f7e33d8f760b86131217f4e81f8860924d) chore(deps): bump golang.org/x/oauth2 from 0.12.0 to 0.13.0 (#12000)
+* [67c5fc915](https://github.com/argoproj/argo-workflows/commit/67c5fc915183beb272650b8d140f4810b571706d) fix(ui): don't show pagination warning on first page if all are displayed (#11979)
+* [ac105483d](https://github.com/argoproj/argo-workflows/commit/ac105483d55fe3461149e7b885a8a97fb3db60d5) refactor(ui): converting a drop-down component to a functional component (#11901)
+
+Contributors
+
+* Adrien Delannoy
+* Alan Clucas
+* AlbeeSo
+* Alex
+* AloysAqemia
+* Anastasiia Kozlova
+* Andrei Shevchenko
+* Andrew Fenner
+* Anton Gilgur
+* Baris Erdem
+* Blake Pettersson
+* Bryce-Huang
+* Carlos Santana
+* Chris Dolan
+* Daan Seynaeve
+* Darko Janjic
+* David Gamba
+* David Pollack
+* Dennis Lawler
+* Denys Melnyk
+* Dillen Padhiar
+* Doug Goldstein
+* Eduardo Rodrigues
+* Garett MacGowan
+* GhangZh
+* Gongpu Zhu
+* Greg Sheremeta
+* Harrison Kim
+* Helge Willum Thingvad
+* Ian Ensor
+* Injun Baeg
+* Isitha Subasinghe
+* James Kang
+* Janghun Lee(James)
+* Jason Meridth
+* Jellyfrog
+* Jiacheng Xu
+* Joe Bowbeer
+* João Pedro
+* Julie Vogelman
+* Justice
+* Kavish Dahekar
+* Krunal2017
+* Mason Malone
+* Matt Fisher
+* Matt Menzenski
+* Meng Zhuo
+* Michael Weibel
+* Miltiadis Alexis
+* Nagy Attila Gábor
+* Oliver Dain
+* Omer Levi Hevroni
+* Paolo Quadri
+* Paul Greenberg
+* Phil Brown
+* Raffael
+* Raymond
+* Roel Arents
+* Ruin09
+* Ryan Currah
+* Rémi Cresson
+* Sahil Sharma
+* Serg Shalavin
+* Shabeeb Khalid
+* Shiwei Tang
+* Shubham
+* Shunsuke Suzuki
+* Sion Kang
+* Sn0rt
+* Son Bui
+* Takumi Sue
+* Tal Yitzhak
+* Thor K. Høgås
+* Tianchu Zhao
+* Tim Collins
+* Travis Stevens
+* Vasily Chekalkin
+* Weidong Cai
+* William Van Hevelingen
+* Xiaofan Hu
+* Yang Lu
+* Yuan (Terry) Tang
+* Yuan Tang
+* Yulin Li
+* YunCow
+* Yuping Fan
+* Zubair Haque
+* albertoclarit
+* chengjoey
+* chenrui
+* crazeteam
+* dependabot[bot]
+* github-actions[bot]
+* guangwu
+* gussan
+* happyso
+* heidongxianhua
+* instauro
+* itayvolo
+* ivancili
+* jiangjiang
+* jingkai
+* jswxstw
+* leesungbin
+* linzhengen
+* lukashankeln
+* mahdi alizadeh
+* moonyoung
+* neosu
+* origxm
+* panicboat
+* polarbear567
+* redismongo
+* renovate[bot]
+* rnathuji
+* sakai-ast
+* sh.yoon
+* shangchengbabaiban
+* shuangkun tian
+* spaced
+* static-moonlight
+* sycured
+* vatine
+* williamburgson
+* Andrzej Ressel
+* 刘达
+* 名白
+
+
+
+## v3.5.11 (2024-09-20)
+
+Full Changelog: [v3.5.10...v3.5.11](https://github.com/argoproj/argo-workflows/compare/v3.5.10...v3.5.11)
+
+### Selected Changes
+
+* [a84edd93c](https://github.com/argoproj/argo-workflows/commit/a84edd93c7aafb6a5a9c91a6ee01eb7f11541633) fix(semaphore): ensure `holderKey`s carry all information needed. Fixes #8684 (#13553)
+* [dc004a754](https://github.com/argoproj/argo-workflows/commit/dc004a754b1cfa572e74847ff5d755a8657a98bc) fix(controller): handle `nil` `processedTmpl` in DAGs (#13548)
+* [fe06e94f5](https://github.com/argoproj/argo-workflows/commit/fe06e94f5d6048a2673b147ac9b3e3f8b484af48) fix(test): it is possible to get 1Tb of RAM on a node (#13606)
+* [e5618575e](https://github.com/argoproj/argo-workflows/commit/e5618575ed135b678f3995fe020d291e97237cd1) fix: remove non-transient logs on missing `artifact-repositories` configmap (#13516)
+* [f4f7dbded](https://github.com/argoproj/argo-workflows/commit/f4f7dbdede8840f6f7af7f262708d69476654c7c) fix(api): optimise archived list query. Fixes #13295 (#13566)
+* [be77948c0](https://github.com/argoproj/argo-workflows/commit/be77948c063019460b5763c9f619f064fcc25e5e) fix(api): `deleteDelayDuration` should be a string (#13543)
+* [7f191a496](https://github.com/argoproj/argo-workflows/commit/7f191a496ca1d96161146ff9e0488a19d8c5d3bb) refactor(ci): move api knowledge to the matrix (#13569)
+* [1da8a57de](https://github.com/argoproj/argo-workflows/commit/1da8a57de6fdf29efe0ba420e52f14198185c874) fix: ignore error when input artifacts optional. Fixes:#13564 (#13567)
+* [9ff8815e6](https://github.com/argoproj/argo-workflows/commit/9ff8815e6d16914b0844c3dd71eed632ae4221b8) fix: aggregate JSON output parameters correctly (#13513)
+* [18e3caa49](https://github.com/argoproj/argo-workflows/commit/18e3caa494e057b9697382754990ea60c1679543) fix(executor): add executable permission to staged `script` (#12787)
+* [b0ee16d4a](https://github.com/argoproj/argo-workflows/commit/b0ee16d4a5ad43d33595085d7ca032c2e25b671a) fix: Mark task result as completed if pod has been deleted for a while. Fixes #13533 (#13537)
+* [472843a3c](https://github.com/argoproj/argo-workflows/commit/472843a3c2d4d05a98105ae3dd6f808cd39a8247) fix: don't clean up old offloaded records during save. Fixes: #13220 (#13286)
+* [67253e8ab](https://github.com/argoproj/argo-workflows/commit/67253e8ab502a850415345a7945b2ba00f00cb82) fix: Mark taskResult completed if wait container terminated not gracefully. Fixes #13373 (#13491)
+* [14200cacc](https://github.com/argoproj/argo-workflows/commit/14200caccaae6dd1059260c47efcf807f5fde5a1) fix(docs): remove unused spaces (#13487)
+* [8ebb8e59e](https://github.com/argoproj/argo-workflows/commit/8ebb8e59e54ba7bd9cd8ace38c5f52eca36425ad) fix(docs): use `sh` instead of `bash` with `busybox` (#13508)
+* [269b54cbd](https://github.com/argoproj/argo-workflows/commit/269b54cbd1a54341497c0cb301fbdd03502c62ca) fix: Do not reset the root node by default. Fixes #13196 (#13198)
+* [77dc368fb](https://github.com/argoproj/argo-workflows/commit/77dc368fb446c4030fae5a0910d18d5fcfc36252) fix(controller): remove ArtifactGC `finalizer` when no artifacts. Fixes #13499 (#13500)
+* [877ff5fd3](https://github.com/argoproj/argo-workflows/commit/877ff5fd3fec3a8d5082c2890bad3dea52391c81) fix: Task result comparison is incorrect, leading to inconsistent comparison results. (#13211)
+* [3e3da0776](https://github.com/argoproj/argo-workflows/commit/3e3da0776104b834ffd51bcd1b361ccaeec10626) ci: Remove Synk ignore for vulnerability for jackc/pgx/v4 (#13481)
+* [9c2b12d17](https://github.com/argoproj/argo-workflows/commit/9c2b12d170663672aa7ca4dcc6732159d1a02ad9) fix: avoid exit handler nil pointer when missing outputs. Fixes #13445 (#13448)
+* [f4c92bcfc](https://github.com/argoproj/argo-workflows/commit/f4c92bcfca9497c635953f61aad7a165ad3672b0) fix: mark node failed if pod absent. Fixes #12993 (#13454)
+* [beec612ed](https://github.com/argoproj/argo-workflows/commit/beec612ed339cbc5f9feb338e9423fefa78e9f9e) fix: Set initial progress from pod metadata if exists. Fixes #13057 (#13260)
+* [b881cf075](https://github.com/argoproj/argo-workflows/commit/b881cf075ad9931cfe4d6aeddaddb383347da8c6) fix(docs): Provide versioned links to documentation (#13455)
+* [8f65f0200](https://github.com/argoproj/argo-workflows/commit/8f65f0200f67215a1242d99ab5c5b553b6445fcb) fix: Only apply execution control to nodes that are not part of exit handler. (#13016)
+* [b18f944bd](https://github.com/argoproj/argo-workflows/commit/b18f944bdce10b1b741db58ba61a8a845faa1525) fix(docs): replace outdated `whalesay` image with `busybox` (#13429)
+* [50432f23b](https://github.com/argoproj/argo-workflows/commit/50432f23bf09bcb0571f6e3fce23d43e6a36dc30) fix(test): load to stream tmp file counting (#13366)
+* [1892cea4f](https://github.com/argoproj/argo-workflows/commit/1892cea4f9f0aa450cf7495d1644a4cc4a5a99bf) fix(build): slightly optimize UI tasks in `kit` `tasks.yaml` (#13350)
+* [f197662f2](https://github.com/argoproj/argo-workflows/commit/f197662f286cd8c185152ecf37643832a09586ac) fix: Mark non-fulfilled taskSetNodes error when agent pod failed. Fixes #12703 (#12723)
+* [74708c75f](https://github.com/argoproj/argo-workflows/commit/74708c75f4aad3d304a48cc39ee6ff74a0bdd0c0) fix(devcontainer): `chown` regression for `make codegen` (#13375)
+* [b6e591eb8](https://github.com/argoproj/argo-workflows/commit/b6e591eb80ddfe81099ae209aebc1c3f86b5c10e) fix: constraint containerType outboundnode boundary. Fixes #12997 (#13048)
+* [abcd1c708](https://github.com/argoproj/argo-workflows/commit/abcd1c7080ab47a8eea4a327ed7c63a4d39d45d6) fix(devcontainer): remove `-R` in `chown` (#13348)
+* [8393080f4](https://github.com/argoproj/argo-workflows/commit/8393080f444bb3985f7a5384f2ab36d8fcece10f) fix(cli): `argo lint` with strict should report case-sensitive errors. Fixes #13006 (#13250)
+* [834ee93d3](https://github.com/argoproj/argo-workflows/commit/834ee93d3eae8e91b1ccd8f285ad5546be6bc2da) fix(devcontainer): expose ports for all services (#13349)
+* [58a77ee38](https://github.com/argoproj/argo-workflows/commit/58a77ee380ae015f08ea4b9d40c26fe7181f27d9) fix: provide fallback for 3.4 to 3.5 transition with absent `NodeFlag`. Fixes #12162 (#13504)
+
+Contributors
+
+* Alan Clucas
+* Anton Gilgur
+* Isitha Subasinghe
+* Mason Malone
+* Miltiadis Alexis
+* Thor K. Høgås
+* Tianchu Zhao
+* William Van Hevelingen
+* Xiaofan Hu
+* Yuan Tang
+* chengjoey
+* jingkai
+* jswxstw
+* origxm
+* shangchengbabaiban
+* shuangkun tian
+* vatine
+* Andrzej Ressel
+* 名白
+
+
+
## v3.5.10 (2024-08-01)
Full Changelog: [v3.5.9...v3.5.10](https://github.com/argoproj/argo-workflows/compare/v3.5.9...v3.5.10)
diff --git a/Dockerfile b/Dockerfile
index 3b15636f611f..0a801172de9f 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -3,7 +3,7 @@ ARG GIT_COMMIT=unknown
ARG GIT_TAG=unknown
ARG GIT_TREE_STATE=unknown
-FROM golang:1.22-alpine3.19 as builder
+FROM golang:1.23-alpine3.19 as builder
# libc-dev to build openapi-gen
RUN apk update && apk add --no-cache \
diff --git a/Dockerfile.windows b/Dockerfile.windows
index bf7efeef0d58..2b2bac69e218 100644
--- a/Dockerfile.windows
+++ b/Dockerfile.windows
@@ -11,7 +11,7 @@ ARG GIT_TREE_STATE=unknown
# had issues with official golange image for windows so I'm using plain servercore
FROM mcr.microsoft.com/windows/servercore:${IMAGE_OS_VERSION} as builder
-ENV GOLANG_VERSION=1.22
+ENV GOLANG_VERSION=1.23
SHELL ["powershell", "-Command"]
# install chocolatey package manager
diff --git a/Makefile b/Makefile
index e2ac5268bbeb..b324d746cc53 100644
--- a/Makefile
+++ b/Makefile
@@ -38,6 +38,7 @@ E2E_WAIT_TIMEOUT ?= 90s # timeout for wait conditions
E2E_PARALLEL ?= 20
E2E_SUITE_TIMEOUT ?= 15m
GOTEST ?= go test -v -p 20
+ALL_BUILD_TAGS ?= api,cli,cron,executor,examples,corefunctional,functional,plugins
# should we build the static files?
ifneq (,$(filter $(MAKECMDGOALS),codegen lint test docs start))
@@ -50,12 +51,16 @@ endif
PROFILE ?= minimal
KUBE_NAMESPACE ?= argo # namespace where Kubernetes resources/RBAC will be installed
PLUGINS ?= $(shell [ $PROFILE = plugins ] && echo false || echo true)
-UI ?= false # start the UI
+UI ?= false # start the UI with HTTP
+UI_SECURE ?= false # start the UI with HTTPS
API ?= $(UI) # start the Argo Server
TASKS := controller
ifeq ($(API),true)
TASKS := controller server
endif
+ifeq ($(UI_SECURE),true)
+TASKS := controller server ui
+endif
ifeq ($(UI),true)
TASKS := controller server ui
endif
@@ -165,7 +170,7 @@ ui/dist/app/index.html: $(shell find ui/src -type f && find ui -maxdepth 1 -type
# `yarn build` is slow, so we guard it with a up-to-date check.
JOBS=max yarn --cwd ui build
-$(GOPATH)/bin/staticfiles:
+$(GOPATH)/bin/staticfiles: Makefile
# update this in Nix when updating it here
ifneq ($(USE_NIX), true)
go install bou.ke/staticfiles@dd04075
@@ -290,57 +295,59 @@ swagger: \
api/jsonschema/schema.json
-$(GOPATH)/bin/mockery:
+$(GOPATH)/bin/mockery: Makefile
# update this in Nix when upgrading it here
ifneq ($(USE_NIX), true)
go install github.com/vektra/mockery/v2@v2.42.2
endif
-$(GOPATH)/bin/controller-gen:
+$(GOPATH)/bin/controller-gen: Makefile
# update this in Nix when upgrading it here
ifneq ($(USE_NIX), true)
- go install sigs.k8s.io/controller-tools/cmd/controller-gen@v0.14.0
+ go install sigs.k8s.io/controller-tools/cmd/controller-gen@v0.15.0
endif
-$(GOPATH)/bin/go-to-protobuf:
+$(GOPATH)/bin/go-to-protobuf: Makefile
# update this in Nix when upgrading it here
ifneq ($(USE_NIX), true)
+ # TODO: currently fails on v0.30.3 with
+ # Unable to clean package k8s.io.api.core.v1: remove /home/runner/go/pkg/mod/k8s.io/api@v0.30.3/core/v1/generated.proto: permission denied
go install k8s.io/code-generator/cmd/go-to-protobuf@v0.21.5
endif
-$(GOPATH)/src/github.com/gogo/protobuf:
+$(GOPATH)/src/github.com/gogo/protobuf: Makefile
# update this in Nix when upgrading it here
ifneq ($(USE_NIX), true)
- [ -e $(GOPATH)/src/github.com/gogo/protobuf ] || git clone --depth 1 https://github.com/gogo/protobuf.git -b v1.3.2 $(GOPATH)/src/github.com/gogo/protobuf
+ [ -e $@ ] || git clone --depth 1 https://github.com/gogo/protobuf.git -b v1.3.2 $@
endif
-$(GOPATH)/bin/protoc-gen-gogo:
+$(GOPATH)/bin/protoc-gen-gogo: Makefile
# update this in Nix when upgrading it here
ifneq ($(USE_NIX), true)
go install github.com/gogo/protobuf/protoc-gen-gogo@v1.3.2
endif
-$(GOPATH)/bin/protoc-gen-gogofast:
+$(GOPATH)/bin/protoc-gen-gogofast: Makefile
# update this in Nix when upgrading it here
ifneq ($(USE_NIX), true)
go install github.com/gogo/protobuf/protoc-gen-gogofast@v1.3.2
endif
-$(GOPATH)/bin/protoc-gen-grpc-gateway:
+$(GOPATH)/bin/protoc-gen-grpc-gateway: Makefile
# update this in Nix when upgrading it here
ifneq ($(USE_NIX), true)
go install github.com/grpc-ecosystem/grpc-gateway/protoc-gen-grpc-gateway@v1.16.0
endif
-$(GOPATH)/bin/protoc-gen-swagger:
+$(GOPATH)/bin/protoc-gen-swagger: Makefile
# update this in Nix when upgrading it here
ifneq ($(USE_NIX), true)
go install github.com/grpc-ecosystem/grpc-gateway/protoc-gen-swagger@v1.16.0
endif
-$(GOPATH)/bin/openapi-gen:
+$(GOPATH)/bin/openapi-gen: Makefile
# update this in Nix when upgrading it here
ifneq ($(USE_NIX), true)
go install k8s.io/kube-openapi/cmd/openapi-gen@v0.0.0-20220124234850-424119656bbf
endif
-$(GOPATH)/bin/swagger:
+$(GOPATH)/bin/swagger: Makefile
# update this in Nix when upgrading it here
ifneq ($(USE_NIX), true)
go install github.com/go-swagger/go-swagger/cmd/swagger@v0.31.0
endif
-$(GOPATH)/bin/goimports:
+$(GOPATH)/bin/goimports: Makefile
# update this in Nix when upgrading it here
ifneq ($(USE_NIX), true)
go install golang.org/x/tools/cmd/goimports@v0.1.7
@@ -352,7 +359,7 @@ ifeq ($(shell uname),Darwin)
brew install clang-format
else
sudo apt update
- sudo apt install clang-format
+ sudo apt install -y clang-format
endif
endif
@@ -443,8 +450,8 @@ dist/manifests/%: manifests/%
# lint/test/etc
-$(GOPATH)/bin/golangci-lint:
- curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b `go env GOPATH`/bin v1.59.1
+$(GOPATH)/bin/golangci-lint: Makefile
+ curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b `go env GOPATH`/bin v1.61.0
.PHONY: lint
lint: server/static/files.go $(GOPATH)/bin/golangci-lint
@@ -484,6 +491,9 @@ ifeq ($(RUN_MODE),kubernetes)
kubectl -n $(KUBE_NAMESPACE) scale deploy/workflow-controller --replicas 1
kubectl -n $(KUBE_NAMESPACE) scale deploy/argo-server --replicas 1
endif
+ifeq ($(UI_SECURE)$(PROFILE),truesso)
+ KUBE_NAMESPACE=$(KUBE_NAMESPACE) ./hack/update-sso-redirect-url.sh
+endif
.PHONY: argosay
argosay:
@@ -521,7 +531,7 @@ dist/argosay:
cp test/e2e/images/argosay/v2/argosay dist/
.PHONY: kit
-kit:
+kit: Makefile
ifeq ($(shell command -v kit),)
ifeq ($(shell uname),Darwin)
brew tap kitproj/kit --custom-remote https://github.com/kitproj/kit
@@ -561,7 +571,7 @@ endif
grep '127.0.0.1.*postgres' /etc/hosts
grep '127.0.0.1.*mysql' /etc/hosts
ifeq ($(RUN_MODE),local)
- env DEFAULT_REQUEUE_TIME=$(DEFAULT_REQUEUE_TIME) ARGO_SECURE=$(SECURE) ALWAYS_OFFLOAD_NODE_STATUS=$(ALWAYS_OFFLOAD_NODE_STATUS) ARGO_LOGLEVEL=$(LOG_LEVEL) UPPERIO_DB_DEBUG=$(UPPERIO_DB_DEBUG) ARGO_AUTH_MODE=$(AUTH_MODE) ARGO_NAMESPACED=$(NAMESPACED) ARGO_NAMESPACE=$(KUBE_NAMESPACE) ARGO_MANAGED_NAMESPACE=$(MANAGED_NAMESPACE) ARGO_EXECUTOR_PLUGINS=$(PLUGINS) ARGO_POD_STATUS_CAPTURE_FINALIZER=$(POD_STATUS_CAPTURE_FINALIZER) PROFILE=$(PROFILE) kit $(TASKS)
+ env DEFAULT_REQUEUE_TIME=$(DEFAULT_REQUEUE_TIME) ARGO_SECURE=$(SECURE) ALWAYS_OFFLOAD_NODE_STATUS=$(ALWAYS_OFFLOAD_NODE_STATUS) ARGO_LOGLEVEL=$(LOG_LEVEL) UPPERIO_DB_DEBUG=$(UPPERIO_DB_DEBUG) ARGO_AUTH_MODE=$(AUTH_MODE) ARGO_NAMESPACED=$(NAMESPACED) ARGO_NAMESPACE=$(KUBE_NAMESPACE) ARGO_MANAGED_NAMESPACE=$(MANAGED_NAMESPACE) ARGO_EXECUTOR_PLUGINS=$(PLUGINS) ARGO_POD_STATUS_CAPTURE_FINALIZER=$(POD_STATUS_CAPTURE_FINALIZER) ARGO_UI_SECURE=$(UI_SECURE) PROFILE=$(PROFILE) kit $(TASKS)
endif
.PHONY: wait
@@ -572,14 +582,29 @@ ifeq ($(API),true)
# Wait for Argo Server
until lsof -i :2746 > /dev/null ; do sleep 10s ; done
endif
+ifeq ($(PROFILE),mysql)
+ # Wait for MySQL
+ until (: < /dev/tcp/localhost/3306) ; do sleep 10s ; done
+endif
.PHONY: postgres-cli
postgres-cli:
- kubectl exec -ti `kubectl get pod -l app=postgres -o name|cut -c 5-` -- psql -U postgres
+ kubectl exec -ti svc/postgres -- psql -U postgres
+
+.PHONY: postgres-dump
+postgres-dump:
+ @mkdir -p db-dumps
+ kubectl exec svc/postgres -- pg_dump --clean -U postgres > "db-dumps/postgres-$(BUILD_DATE).sql"
.PHONY: mysql-cli
mysql-cli:
- kubectl exec -ti `kubectl get pod -l app=mysql -o name|cut -c 5-` -- mysql -u mysql -ppassword argo
+ kubectl exec -ti svc/mysql -- mysql -u mysql -ppassword argo
+
+.PHONY: mysql-dump
+mysql-dump:
+ @mkdir -p db-dumps
+ kubectl exec svc/mysql -- mysqldump --no-tablespaces -u mysql -ppassword argo > "db-dumps/mysql-$(BUILD_DATE).sql"
+
test-cli: ./dist/argo
@@ -595,8 +620,10 @@ test-%-sdk:
make --directory sdks/$* install test -B
Test%:
- E2E_WAIT_TIMEOUT=$(E2E_WAIT_TIMEOUT) go test -failfast -v -timeout $(E2E_SUITE_TIMEOUT) -count 1 --tags api,cli,cron,executor,examples,corefunctional,functional,plugins -parallel $(E2E_PARALLEL) ./test/e2e -run='.*/$*'
+ E2E_WAIT_TIMEOUT=$(E2E_WAIT_TIMEOUT) go test -failfast -v -timeout $(E2E_SUITE_TIMEOUT) -count 1 --tags $(ALL_BUILD_TAGS) -parallel $(E2E_PARALLEL) ./test/e2e -run='.*/$*'
+Benchmark%:
+ go test --tags $(ALL_BUILD_TAGS) ./test/e2e -run='$@' -benchmem -bench .
# clean
@@ -622,7 +649,7 @@ pkg/apis/workflow/v1alpha1/openapi_generated.go: $(GOPATH)/bin/openapi-gen $(TYP
# generates many other files (listers, informers, client etc).
-pkg/apis/workflow/v1alpha1/zz_generated.deepcopy.go: $(TYPES)
+pkg/apis/workflow/v1alpha1/zz_generated.deepcopy.go: $(GOPATH)/bin/go-to-protobuf $(TYPES)
# These files are generated on a v3/ folder by the tool. Link them to the root folder
[ -e ./v3 ] || ln -s . v3
bash $(GOPATH)/pkg/mod/k8s.io/code-generator@v0.21.5/generate-groups.sh \
@@ -635,9 +662,11 @@ pkg/apis/workflow/v1alpha1/zz_generated.deepcopy.go: $(TYPES)
# Delete the link
[ -e ./v3 ] && rm -rf v3
-dist/kubernetes.swagger.json:
+dist/kubernetes.swagger.json: Makefile
@mkdir -p dist
- ./hack/recurl.sh dist/kubernetes.swagger.json https://raw.githubusercontent.com/kubernetes/kubernetes/v1.23.3/api/openapi-spec/swagger.json
+ # recurl will only fetch if the file doesn't exist, so delete it
+ rm -f $@
+ ./hack/recurl.sh $@ https://raw.githubusercontent.com/kubernetes/kubernetes/v1.30.3/api/openapi-spec/swagger.json
pkg/apiclient/_.secondary.swagger.json: hack/api/swagger/secondaryswaggergen.go pkg/apis/workflow/v1alpha1/openapi_generated.go dist/kubernetes.swagger.json
rm -Rf v3 vendor
@@ -682,7 +711,7 @@ docs/cli/argo.md: $(CLI_PKG_FILES) go.sum server/static/files.go hack/docs/cli.g
# docs
-/usr/local/bin/mdspell:
+/usr/local/bin/mdspell: Makefile
# update this in Nix when upgrading it here
ifneq ($(USE_NIX), true)
npm list -g markdown-spellcheck@1.3.1 > /dev/null || npm i -g markdown-spellcheck@1.3.1
diff --git a/README.md b/README.md
index 13a6eb53b875..b7c26d87d2af 100644
--- a/README.md
+++ b/README.md
@@ -139,12 +139,18 @@ Participation in Argo Workflows is governed by the [CNCF Code of Conduct](https:
* [Argo Workflows and Pipelines - CI/CD, Machine Learning, and Other Kubernetes Workflows](https://youtu.be/UMaivwrAyTA)
* [Argo Ansible role: Provisioning Argo Workflows on OpenShift](https://medium.com/@marekermk/provisioning-argo-on-openshift-with-ansible-and-kustomize-340a1fda8b50)
* [Argo Workflows vs Apache Airflow](http://bit.ly/30YNIvT)
+* [Beyond Prototypes: Production-Ready ML Systems with Metaflow and Argo](https://github.com/terrytangyuan/public-talks/tree/main/talks/kubecon-na-2023-metaflow-argo)
* [CI/CD with Argo on Kubernetes](https://medium.com/@bouwe.ceunen/ci-cd-with-argo-on-kubernetes-28c1a99616a9)
* [Define Your CI/CD Pipeline with Argo Workflows](https://haque-zubair.medium.com/define-your-ci-cd-pipeline-with-argo-workflows-25aefb02fa63)
* [Distributed Machine Learning Patterns from Manning Publication](https://github.com/terrytangyuan/distributed-ml-patterns)
+* [Engineering Cloud Native AI Platform](https://github.com/terrytangyuan/public-talks/tree/main/talks/platform-con-2024-engineering-cloud-native-ai-platform)
+* [Managing Thousands of Automatic Machine Learning Experiments with Argo and Katib](https://github.com/terrytangyuan/public-talks/blob/main/talks/argocon-automl-experiments-2022)
+* [Revolutionizing Scientific Simulations with Argo Workflows](https://www.youtube.com/watch?v=BYVf7GhfiRg)
* [Running Argo Workflows Across Multiple Kubernetes Clusters](https://admiralty.io/blog/running-argo-workflows-across-multiple-kubernetes-clusters/)
+* [Scaling Kubernetes: Best Practices for Managing Large-Scale Batch Jobs with Spark and Argo Workflow](https://www.youtube.com/watch?v=KqEKRPjy4aE)
* [Open Source Model Management Roundup: Polyaxon, Argo, and Seldon](https://www.anaconda.com/blog/developer-blog/open-source-model-management-roundup-polyaxon-argo-and-seldon/)
* [Producing 200 OpenStreetMap extracts in 35 minutes using a scalable data workflow](https://www.interline.io/blog/scaling-openstreetmap-data-workflows/)
+* [Production-Ready AI Platform on Kubernetes](https://github.com/terrytangyuan/public-talks/tree/main/talks/kubecon-europe-2024-production-ai-platform-on-k8s)
* [Argo integration review](http://dev.matt.hillsdon.net/2018/03/24/argo-integration-review.html)
* TGI Kubernetes with Joe Beda: [Argo workflow system](https://www.youtube.com/watch?v=M_rxPPLG8pU&start=859)
diff --git a/USERS.md b/USERS.md
index 344b8fd3ea97..7ebc6b5ad099 100644
--- a/USERS.md
+++ b/USERS.md
@@ -158,6 +158,7 @@ Currently, the following organizations are **officially** using Argo Workflows:
1. [Procore](https://www.procore.com)
1. [Promaton](https://www.promaton.com/)
1. [Prudential](https://www.prudential.com.sg/)
+1. [Pvotal Technologies](https://pvotal.tech/)
1. [Quantibio](http://quantibio.com/us/en/)
1. [QuantumBlack](https://quantumblack.com/)
1. [Raccoon Digital Marketing](https://raccoon.ag/)
diff --git a/api/jsonschema/schema.json b/api/jsonschema/schema.json
index 7b6a2d23d054..b853e72e2f53 100644
--- a/api/jsonschema/schema.json
+++ b/api/jsonschema/schema.json
@@ -4563,14 +4563,16 @@
"items": {
"type": "string"
},
- "type": "array"
+ "type": "array",
+ "x-kubernetes-list-type": "atomic"
},
"command": {
"description": "Entrypoint array. Not executed within a shell. The container image's ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell",
"items": {
"type": "string"
},
- "type": "array"
+ "type": "array",
+ "x-kubernetes-list-type": "atomic"
},
"dependencies": {
"items": {
@@ -4584,6 +4586,10 @@
"$ref": "#/definitions/io.k8s.api.core.v1.EnvVar"
},
"type": "array",
+ "x-kubernetes-list-map-keys": [
+ "name"
+ ],
+ "x-kubernetes-list-type": "map",
"x-kubernetes-patch-merge-key": "name",
"x-kubernetes-patch-strategy": "merge"
},
@@ -4592,7 +4598,8 @@
"items": {
"$ref": "#/definitions/io.k8s.api.core.v1.EnvFromSource"
},
- "type": "array"
+ "type": "array",
+ "x-kubernetes-list-type": "atomic"
},
"image": {
"description": "Container image name. More info: https://kubernetes.io/docs/concepts/containers/images This field is optional to allow higher level config management to default or override container images in workload controllers like Deployments and StatefulSets.",
@@ -4632,10 +4639,22 @@
"$ref": "#/definitions/io.k8s.api.core.v1.Probe",
"description": "Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes"
},
+ "resizePolicy": {
+ "description": "Resources resize policy for the container.",
+ "items": {
+ "$ref": "#/definitions/io.k8s.api.core.v1.ContainerResizePolicy"
+ },
+ "type": "array",
+ "x-kubernetes-list-type": "atomic"
+ },
"resources": {
"$ref": "#/definitions/io.k8s.api.core.v1.ResourceRequirements",
"description": "Compute Resources required by this container. Cannot be updated. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/"
},
+ "restartPolicy": {
+ "description": "RestartPolicy defines the restart behavior of individual containers in a pod. This field may only be set for init containers, and the only allowed value is \"Always\". For non-init containers or when this field is not specified, the restart behavior is defined by the Pod's restart policy and the container type. Setting the RestartPolicy as \"Always\" for the init container will have the following effect: this init container will be continually restarted on exit until all regular containers have terminated. Once all regular containers have completed, all init containers with restartPolicy \"Always\" will be shut down. This lifecycle differs from normal init containers and is often referred to as a \"sidecar\" container. Although this init container still starts in the init container sequence, it does not wait for the container to complete before proceeding to the next init container. Instead, the next init container starts immediately after this init container is started, or after any startupProbe has successfully completed.",
+ "type": "string"
+ },
"securityContext": {
"$ref": "#/definitions/io.k8s.api.core.v1.SecurityContext",
"description": "SecurityContext defines the security options the container should be run with. If set, the fields of SecurityContext override the equivalent fields of PodSecurityContext. More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/"
@@ -4670,6 +4689,10 @@
"$ref": "#/definitions/io.k8s.api.core.v1.VolumeDevice"
},
"type": "array",
+ "x-kubernetes-list-map-keys": [
+ "devicePath"
+ ],
+ "x-kubernetes-list-type": "map",
"x-kubernetes-patch-merge-key": "devicePath",
"x-kubernetes-patch-strategy": "merge"
},
@@ -4679,6 +4702,10 @@
"$ref": "#/definitions/io.k8s.api.core.v1.VolumeMount"
},
"type": "array",
+ "x-kubernetes-list-map-keys": [
+ "mountPath"
+ ],
+ "x-kubernetes-list-type": "map",
"x-kubernetes-patch-merge-key": "mountPath",
"x-kubernetes-patch-strategy": "merge"
},
@@ -4871,11 +4898,11 @@
"type": "integer"
},
"schedule": {
- "description": "Schedule is a schedule to run the Workflow in Cron format",
+ "description": "Schedule is a schedule to run the Workflow in Cron format. Deprecated, use Schedules",
"type": "string"
},
"schedules": {
- "description": "Schedules is a list of schedules to run the Workflow in Cron format",
+ "description": "v3.6 and after: Schedules is a list of schedules to run the Workflow in Cron format",
"items": {
"type": "string"
},
@@ -4901,6 +4928,10 @@
"description": "Timezone is the timezone against which the cron schedule will be calculated, e.g. \"Asia/Tokyo\". Default is machine's local time.",
"type": "string"
},
+ "when": {
+ "description": "v3.6 and after: When is an expression that determines if a run should be scheduled.",
+ "type": "string"
+ },
"workflowMetadata": {
"$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta",
"description": "WorkflowMetadata contains some metadata of the workflow to be run"
@@ -4911,8 +4942,7 @@
}
},
"required": [
- "workflowSpec",
- "schedule"
+ "workflowSpec"
],
"type": "object"
},
@@ -5246,6 +5276,10 @@
"description": "InsecureIgnoreHostKey disables SSH strict host key checking during git clone",
"type": "boolean"
},
+ "insecureSkipTLS": {
+ "description": "InsecureSkipTLS disables server certificate verification resulting in insecure HTTPS connections",
+ "type": "boolean"
+ },
"passwordSecret": {
"$ref": "#/definitions/io.k8s.api.core.v1.SecretKeySelector",
"description": "PasswordSecret is the secret selector to the repository password"
@@ -6483,6 +6517,10 @@
"$ref": "#/definitions/io.k8s.api.core.v1.SecretKeySelector",
"description": "SecretKeySecret is the secret selector to the bucket's secret key"
},
+ "sessionTokenSecret": {
+ "$ref": "#/definitions/io.k8s.api.core.v1.SecretKeySelector",
+ "description": "SessionTokenSecret is used for ephemeral credentials like an IAM assume role or S3 access grant"
+ },
"useSDKCreds": {
"description": "UseSDKCreds tells the driver to figure out credentials based on sdk defaults.",
"type": "boolean"
@@ -6540,6 +6578,10 @@
"$ref": "#/definitions/io.k8s.api.core.v1.SecretKeySelector",
"description": "SecretKeySecret is the secret selector to the bucket's secret key"
},
+ "sessionTokenSecret": {
+ "$ref": "#/definitions/io.k8s.api.core.v1.SecretKeySelector",
+ "description": "SessionTokenSecret is used for ephemeral credentials like an IAM assume role or S3 access grant"
+ },
"useSDKCreds": {
"description": "UseSDKCreds tells the driver to figure out credentials based on sdk defaults.",
"type": "boolean"
@@ -6577,14 +6619,16 @@
"items": {
"type": "string"
},
- "type": "array"
+ "type": "array",
+ "x-kubernetes-list-type": "atomic"
},
"command": {
"description": "Entrypoint array. Not executed within a shell. The container image's ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell",
"items": {
"type": "string"
},
- "type": "array"
+ "type": "array",
+ "x-kubernetes-list-type": "atomic"
},
"env": {
"description": "List of environment variables to set in the container. Cannot be updated.",
@@ -6592,6 +6636,10 @@
"$ref": "#/definitions/io.k8s.api.core.v1.EnvVar"
},
"type": "array",
+ "x-kubernetes-list-map-keys": [
+ "name"
+ ],
+ "x-kubernetes-list-type": "map",
"x-kubernetes-patch-merge-key": "name",
"x-kubernetes-patch-strategy": "merge"
},
@@ -6600,7 +6648,8 @@
"items": {
"$ref": "#/definitions/io.k8s.api.core.v1.EnvFromSource"
},
- "type": "array"
+ "type": "array",
+ "x-kubernetes-list-type": "atomic"
},
"image": {
"description": "Container image name. More info: https://kubernetes.io/docs/concepts/containers/images This field is optional to allow higher level config management to default or override container images in workload controllers like Deployments and StatefulSets.",
@@ -6640,10 +6689,22 @@
"$ref": "#/definitions/io.k8s.api.core.v1.Probe",
"description": "Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes"
},
+ "resizePolicy": {
+ "description": "Resources resize policy for the container.",
+ "items": {
+ "$ref": "#/definitions/io.k8s.api.core.v1.ContainerResizePolicy"
+ },
+ "type": "array",
+ "x-kubernetes-list-type": "atomic"
+ },
"resources": {
"$ref": "#/definitions/io.k8s.api.core.v1.ResourceRequirements",
"description": "Compute Resources required by this container. Cannot be updated. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/"
},
+ "restartPolicy": {
+ "description": "RestartPolicy defines the restart behavior of individual containers in a pod. This field may only be set for init containers, and the only allowed value is \"Always\". For non-init containers or when this field is not specified, the restart behavior is defined by the Pod's restart policy and the container type. Setting the RestartPolicy as \"Always\" for the init container will have the following effect: this init container will be continually restarted on exit until all regular containers have terminated. Once all regular containers have completed, all init containers with restartPolicy \"Always\" will be shut down. This lifecycle differs from normal init containers and is often referred to as a \"sidecar\" container. Although this init container still starts in the init container sequence, it does not wait for the container to complete before proceeding to the next init container. Instead, the next init container starts immediately after this init container is started, or after any startupProbe has successfully completed.",
+ "type": "string"
+ },
"securityContext": {
"$ref": "#/definitions/io.k8s.api.core.v1.SecurityContext",
"description": "SecurityContext defines the security options the container should be run with. If set, the fields of SecurityContext override the equivalent fields of PodSecurityContext. More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/"
@@ -6682,6 +6743,10 @@
"$ref": "#/definitions/io.k8s.api.core.v1.VolumeDevice"
},
"type": "array",
+ "x-kubernetes-list-map-keys": [
+ "devicePath"
+ ],
+ "x-kubernetes-list-type": "map",
"x-kubernetes-patch-merge-key": "devicePath",
"x-kubernetes-patch-strategy": "merge"
},
@@ -6691,6 +6756,10 @@
"$ref": "#/definitions/io.k8s.api.core.v1.VolumeMount"
},
"type": "array",
+ "x-kubernetes-list-map-keys": [
+ "mountPath"
+ ],
+ "x-kubernetes-list-type": "map",
"x-kubernetes-patch-merge-key": "mountPath",
"x-kubernetes-patch-strategy": "merge"
},
@@ -6778,15 +6847,15 @@
"type": "object"
},
"io.argoproj.workflow.v1alpha1.StopStrategy": {
- "description": "v3.6 and after: StopStrategy defines if the CronWorkflow should stop scheduling based on a condition",
+ "description": "StopStrategy defines if the CronWorkflow should stop scheduling based on an expression. v3.6 and after",
"properties": {
- "condition": {
- "description": "v3.6 and after: Condition is an expression that stops scheduling workflows when true. Use the variables `failed` or `succeeded` to access the number of failed or successful child workflows.",
+ "expression": {
+ "description": "v3.6 and after: Expression is an expression that stops scheduling workflows when true. Use the variables `cronworkflow`.`failed` or `cronworkflow`.`succeeded` to access the number of failed or successful child workflows.",
"type": "string"
}
},
"required": [
- "condition"
+ "expression"
],
"type": "object"
},
@@ -6886,11 +6955,25 @@
"properties": {
"mutex": {
"$ref": "#/definitions/io.argoproj.workflow.v1alpha1.Mutex",
- "description": "Mutex holds the Mutex lock details"
+ "description": "Mutex holds the Mutex lock details - deprecated, use mutexes instead"
+ },
+ "mutexes": {
+ "description": "v3.6 and after: Mutexes holds the list of Mutex lock details",
+ "items": {
+ "$ref": "#/definitions/io.argoproj.workflow.v1alpha1.Mutex"
+ },
+ "type": "array"
},
"semaphore": {
"$ref": "#/definitions/io.argoproj.workflow.v1alpha1.SemaphoreRef",
- "description": "Semaphore holds the Semaphore configuration"
+ "description": "Semaphore holds the Semaphore configuration - deprecated, use semaphores instead"
+ },
+ "semaphores": {
+ "description": "v3.6 and after: Semaphores holds the list of Semaphores configuration",
+ "items": {
+ "$ref": "#/definitions/io.argoproj.workflow.v1alpha1.SemaphoreRef"
+ },
+ "type": "array"
}
},
"type": "object"
@@ -7183,14 +7266,16 @@
"items": {
"type": "string"
},
- "type": "array"
+ "type": "array",
+ "x-kubernetes-list-type": "atomic"
},
"command": {
"description": "Entrypoint array. Not executed within a shell. The container image's ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell",
"items": {
"type": "string"
},
- "type": "array"
+ "type": "array",
+ "x-kubernetes-list-type": "atomic"
},
"env": {
"description": "List of environment variables to set in the container. Cannot be updated.",
@@ -7198,6 +7283,10 @@
"$ref": "#/definitions/io.k8s.api.core.v1.EnvVar"
},
"type": "array",
+ "x-kubernetes-list-map-keys": [
+ "name"
+ ],
+ "x-kubernetes-list-type": "map",
"x-kubernetes-patch-merge-key": "name",
"x-kubernetes-patch-strategy": "merge"
},
@@ -7206,7 +7295,8 @@
"items": {
"$ref": "#/definitions/io.k8s.api.core.v1.EnvFromSource"
},
- "type": "array"
+ "type": "array",
+ "x-kubernetes-list-type": "atomic"
},
"image": {
"description": "Container image name. More info: https://kubernetes.io/docs/concepts/containers/images This field is optional to allow higher level config management to default or override container images in workload controllers like Deployments and StatefulSets.",
@@ -7250,10 +7340,22 @@
"$ref": "#/definitions/io.k8s.api.core.v1.Probe",
"description": "Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes"
},
+ "resizePolicy": {
+ "description": "Resources resize policy for the container.",
+ "items": {
+ "$ref": "#/definitions/io.k8s.api.core.v1.ContainerResizePolicy"
+ },
+ "type": "array",
+ "x-kubernetes-list-type": "atomic"
+ },
"resources": {
"$ref": "#/definitions/io.k8s.api.core.v1.ResourceRequirements",
"description": "Compute Resources required by this container. Cannot be updated. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/"
},
+ "restartPolicy": {
+ "description": "RestartPolicy defines the restart behavior of individual containers in a pod. This field may only be set for init containers, and the only allowed value is \"Always\". For non-init containers or when this field is not specified, the restart behavior is defined by the Pod's restart policy and the container type. Setting the RestartPolicy as \"Always\" for the init container will have the following effect: this init container will be continually restarted on exit until all regular containers have terminated. Once all regular containers have completed, all init containers with restartPolicy \"Always\" will be shut down. This lifecycle differs from normal init containers and is often referred to as a \"sidecar\" container. Although this init container still starts in the init container sequence, it does not wait for the container to complete before proceeding to the next init container. Instead, the next init container starts immediately after this init container is started, or after any startupProbe has successfully completed.",
+ "type": "string"
+ },
"securityContext": {
"$ref": "#/definitions/io.k8s.api.core.v1.SecurityContext",
"description": "SecurityContext defines the security options the container should be run with. If set, the fields of SecurityContext override the equivalent fields of PodSecurityContext. More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/"
@@ -7288,6 +7390,10 @@
"$ref": "#/definitions/io.k8s.api.core.v1.VolumeDevice"
},
"type": "array",
+ "x-kubernetes-list-map-keys": [
+ "devicePath"
+ ],
+ "x-kubernetes-list-type": "map",
"x-kubernetes-patch-merge-key": "devicePath",
"x-kubernetes-patch-strategy": "merge"
},
@@ -7297,6 +7403,10 @@
"$ref": "#/definitions/io.k8s.api.core.v1.VolumeMount"
},
"type": "array",
+ "x-kubernetes-list-map-keys": [
+ "mountPath"
+ ],
+ "x-kubernetes-list-type": "map",
"x-kubernetes-patch-merge-key": "mountPath",
"x-kubernetes-patch-strategy": "merge"
},
@@ -8269,19 +8379,19 @@
"description": "Represents a Persistent Disk resource in AWS.\n\nAn AWS EBS disk must exist before mounting to a container. The disk must also be in the same AWS zone as the kubelet. An AWS EBS disk can only be mounted as read/write once. AWS EBS volumes support ownership management and SELinux relabeling.",
"properties": {
"fsType": {
- "description": "Filesystem type of the volume that you want to mount. Tip: Ensure that the filesystem type is supported by the host operating system. Examples: \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified. More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore",
+ "description": "fsType is the filesystem type of the volume that you want to mount. Tip: Ensure that the filesystem type is supported by the host operating system. Examples: \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified. More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore",
"type": "string"
},
"partition": {
- "description": "The partition in the volume that you want to mount. If omitted, the default is to mount by volume name. Examples: For volume /dev/sda1, you specify the partition as \"1\". Similarly, the volume partition for /dev/sda is \"0\" (or you can leave the property empty).",
+ "description": "partition is the partition in the volume that you want to mount. If omitted, the default is to mount by volume name. Examples: For volume /dev/sda1, you specify the partition as \"1\". Similarly, the volume partition for /dev/sda is \"0\" (or you can leave the property empty).",
"type": "integer"
},
"readOnly": {
- "description": "Specify \"true\" to force and set the ReadOnly property in VolumeMounts to \"true\". If omitted, the default is \"false\". More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore",
+ "description": "readOnly value true will force the readOnly setting in VolumeMounts. More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore",
"type": "boolean"
},
"volumeID": {
- "description": "Unique ID of the persistent disk resource in AWS (Amazon EBS volume). More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore",
+ "description": "volumeID is unique ID of the persistent disk resource in AWS (Amazon EBS volume). More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore",
"type": "string"
}
},
@@ -8308,31 +8418,56 @@
},
"type": "object"
},
+ "io.k8s.api.core.v1.AppArmorProfile": {
+ "description": "AppArmorProfile defines a pod or container's AppArmor settings.",
+ "properties": {
+ "localhostProfile": {
+ "description": "localhostProfile indicates a profile loaded on the node that should be used. The profile must be preconfigured on the node to work. Must match the loaded name of the profile. Must be set if and only if type is \"Localhost\".",
+ "type": "string"
+ },
+ "type": {
+ "description": "type indicates which kind of AppArmor profile will be applied. Valid options are:\n Localhost - a profile pre-loaded on the node.\n RuntimeDefault - the container runtime's default profile.\n Unconfined - no AppArmor enforcement.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "type": "object",
+ "x-kubernetes-unions": [
+ {
+ "discriminator": "type",
+ "fields-to-discriminateBy": {
+ "localhostProfile": "LocalhostProfile"
+ }
+ }
+ ]
+ },
"io.k8s.api.core.v1.AzureDiskVolumeSource": {
"description": "AzureDisk represents an Azure Data Disk mount on the host and bind mount to the pod.",
"properties": {
"cachingMode": {
- "description": "Host Caching mode: None, Read Only, Read Write.",
+ "description": "cachingMode is the Host Caching mode: None, Read Only, Read Write.",
"type": "string"
},
"diskName": {
- "description": "The Name of the data disk in the blob storage",
+ "description": "diskName is the Name of the data disk in the blob storage",
"type": "string"
},
"diskURI": {
- "description": "The URI the data disk in the blob storage",
+ "description": "diskURI is the URI of data disk in the blob storage",
"type": "string"
},
"fsType": {
- "description": "Filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified.",
+ "description": "fsType is Filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified.",
"type": "string"
},
"kind": {
- "description": "Expected values Shared: multiple blob disks per storage account Dedicated: single blob disk per storage account Managed: azure managed data disk (only in managed availability set). defaults to shared",
+ "description": "kind expected values are Shared: multiple blob disks per storage account Dedicated: single blob disk per storage account Managed: azure managed data disk (only in managed availability set). defaults to shared",
"type": "string"
},
"readOnly": {
- "description": "Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts.",
+ "description": "readOnly Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts.",
"type": "boolean"
}
},
@@ -8346,15 +8481,15 @@
"description": "AzureFile represents an Azure File Service mount on the host and bind mount to the pod.",
"properties": {
"readOnly": {
- "description": "Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts.",
+ "description": "readOnly defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts.",
"type": "boolean"
},
"secretName": {
- "description": "the name of secret that contains Azure Storage Account Name and Key",
+ "description": "secretName is the name of secret that contains Azure Storage Account Name and Key",
"type": "string"
},
"shareName": {
- "description": "Share Name",
+ "description": "shareName is the azure share Name",
"type": "string"
}
},
@@ -8368,26 +8503,26 @@
"description": "Represents a source location of a volume to mount, managed by an external CSI driver",
"properties": {
"driver": {
- "description": "Driver is the name of the CSI driver that handles this volume. Consult with your admin for the correct name as registered in the cluster.",
+ "description": "driver is the name of the CSI driver that handles this volume. Consult with your admin for the correct name as registered in the cluster.",
"type": "string"
},
"fsType": {
- "description": "Filesystem type to mount. Ex. \"ext4\", \"xfs\", \"ntfs\". If not provided, the empty value is passed to the associated CSI driver which will determine the default filesystem to apply.",
+ "description": "fsType to mount. Ex. \"ext4\", \"xfs\", \"ntfs\". If not provided, the empty value is passed to the associated CSI driver which will determine the default filesystem to apply.",
"type": "string"
},
"nodePublishSecretRef": {
"$ref": "#/definitions/io.k8s.api.core.v1.LocalObjectReference",
- "description": "NodePublishSecretRef is a reference to the secret object containing sensitive information to pass to the CSI driver to complete the CSI NodePublishVolume and NodeUnpublishVolume calls. This field is optional, and may be empty if no secret is required. If the secret object contains more than one secret, all secret references are passed."
+ "description": "nodePublishSecretRef is a reference to the secret object containing sensitive information to pass to the CSI driver to complete the CSI NodePublishVolume and NodeUnpublishVolume calls. This field is optional, and may be empty if no secret is required. If the secret object contains more than one secret, all secret references are passed."
},
"readOnly": {
- "description": "Specifies a read-only configuration for the volume. Defaults to false (read/write).",
+ "description": "readOnly specifies a read-only configuration for the volume. Defaults to false (read/write).",
"type": "boolean"
},
"volumeAttributes": {
"additionalProperties": {
"type": "string"
},
- "description": "VolumeAttributes stores driver-specific properties that are passed to the CSI driver. Consult your driver's documentation for supported values.",
+ "description": "volumeAttributes stores driver-specific properties that are passed to the CSI driver. Consult your driver's documentation for supported values.",
"type": "object"
}
},
@@ -8404,14 +8539,16 @@
"items": {
"type": "string"
},
- "type": "array"
+ "type": "array",
+ "x-kubernetes-list-type": "atomic"
},
"drop": {
"description": "Removed capabilities",
"items": {
"type": "string"
},
- "type": "array"
+ "type": "array",
+ "x-kubernetes-list-type": "atomic"
}
},
"type": "object"
@@ -8420,30 +8557,31 @@
"description": "Represents a Ceph Filesystem mount that lasts the lifetime of a pod Cephfs volumes do not support ownership management or SELinux relabeling.",
"properties": {
"monitors": {
- "description": "Required: Monitors is a collection of Ceph monitors More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it",
+ "description": "monitors is Required: Monitors is a collection of Ceph monitors More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it",
"items": {
"type": "string"
},
- "type": "array"
+ "type": "array",
+ "x-kubernetes-list-type": "atomic"
},
"path": {
- "description": "Optional: Used as the mounted root, rather than the full Ceph tree, default is /",
+ "description": "path is Optional: Used as the mounted root, rather than the full Ceph tree, default is /",
"type": "string"
},
"readOnly": {
- "description": "Optional: Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts. More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it",
+ "description": "readOnly is Optional: Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts. More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it",
"type": "boolean"
},
"secretFile": {
- "description": "Optional: SecretFile is the path to key ring for User, default is /etc/ceph/user.secret More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it",
+ "description": "secretFile is Optional: SecretFile is the path to key ring for User, default is /etc/ceph/user.secret More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it",
"type": "string"
},
"secretRef": {
"$ref": "#/definitions/io.k8s.api.core.v1.LocalObjectReference",
- "description": "Optional: SecretRef is reference to the authentication secret for User, default is empty. More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it"
+ "description": "secretRef is Optional: SecretRef is reference to the authentication secret for User, default is empty. More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it"
},
"user": {
- "description": "Optional: User is the rados user name, default is admin More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it",
+ "description": "user is optional: User is the rados user name, default is admin More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it",
"type": "string"
}
},
@@ -8456,19 +8594,19 @@
"description": "Represents a cinder volume resource in Openstack. A Cinder volume must exist before mounting to a container. The volume must also be in the same region as the kubelet. Cinder volumes support ownership management and SELinux relabeling.",
"properties": {
"fsType": {
- "description": "Filesystem type to mount. Must be a filesystem type supported by the host operating system. Examples: \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified. More info: https://examples.k8s.io/mysql-cinder-pd/README.md",
+ "description": "fsType is the filesystem type to mount. Must be a filesystem type supported by the host operating system. Examples: \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified. More info: https://examples.k8s.io/mysql-cinder-pd/README.md",
"type": "string"
},
"readOnly": {
- "description": "Optional: Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts. More info: https://examples.k8s.io/mysql-cinder-pd/README.md",
+ "description": "readOnly defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts. More info: https://examples.k8s.io/mysql-cinder-pd/README.md",
"type": "boolean"
},
"secretRef": {
"$ref": "#/definitions/io.k8s.api.core.v1.LocalObjectReference",
- "description": "Optional: points to a secret object containing parameters used to connect to OpenStack."
+ "description": "secretRef is optional: points to a secret object containing parameters used to connect to OpenStack."
},
"volumeID": {
- "description": "volume id used to identify the volume in cinder. More info: https://examples.k8s.io/mysql-cinder-pd/README.md",
+ "description": "volumeID used to identify the volume in cinder. More info: https://examples.k8s.io/mysql-cinder-pd/README.md",
"type": "string"
}
},
@@ -8477,11 +8615,40 @@
],
"type": "object"
},
+ "io.k8s.api.core.v1.ClusterTrustBundleProjection": {
+ "description": "ClusterTrustBundleProjection describes how to select a set of ClusterTrustBundle objects and project their contents into the pod filesystem.",
+ "properties": {
+ "labelSelector": {
+ "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.LabelSelector",
+ "description": "Select all ClusterTrustBundles that match this label selector. Only has effect if signerName is set. Mutually-exclusive with name. If unset, interpreted as \"match nothing\". If set but empty, interpreted as \"match everything\"."
+ },
+ "name": {
+ "description": "Select a single ClusterTrustBundle by object name. Mutually-exclusive with signerName and labelSelector.",
+ "type": "string"
+ },
+ "optional": {
+ "description": "If true, don't block pod startup if the referenced ClusterTrustBundle(s) aren't available. If using name, then the named ClusterTrustBundle is allowed not to exist. If using signerName, then the combination of signerName and labelSelector is allowed to match zero ClusterTrustBundles.",
+ "type": "boolean"
+ },
+ "path": {
+ "description": "Relative path from the volume root to write the bundle.",
+ "type": "string"
+ },
+ "signerName": {
+ "description": "Select all ClusterTrustBundles that match this signer name. Mutually-exclusive with name. The contents of all selected ClusterTrustBundles will be unified and deduplicated.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "path"
+ ],
+ "type": "object"
+ },
"io.k8s.api.core.v1.ConfigMapEnvSource": {
"description": "ConfigMapEnvSource selects a ConfigMap to populate the environment variables with.\n\nThe contents of the target ConfigMap's Data field will represent the key-value pairs as environment variables.",
"properties": {
"name": {
- "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
+ "description": "Name of the referent. This field is effectively required, but due to backwards compatibility is allowed to be empty. Instances of this type with an empty value here are almost certainly wrong. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
"type": "string"
},
"optional": {
@@ -8499,7 +8666,7 @@
"type": "string"
},
"name": {
- "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
+ "description": "Name of the referent. This field is effectively required, but due to backwards compatibility is allowed to be empty. Instances of this type with an empty value here are almost certainly wrong. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
"type": "string"
},
"optional": {
@@ -8517,18 +8684,19 @@
"description": "Adapts a ConfigMap into a projected volume.\n\nThe contents of the target ConfigMap's Data field will be presented in a projected volume as files using the keys in the Data field as the file names, unless the items element is populated with specific mappings of keys to paths. Note that this is identical to a configmap volume source without the default mode.",
"properties": {
"items": {
- "description": "If unspecified, each key-value pair in the Data field of the referenced ConfigMap will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the ConfigMap, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'.",
+ "description": "items if unspecified, each key-value pair in the Data field of the referenced ConfigMap will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the ConfigMap, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'.",
"items": {
"$ref": "#/definitions/io.k8s.api.core.v1.KeyToPath"
},
- "type": "array"
+ "type": "array",
+ "x-kubernetes-list-type": "atomic"
},
"name": {
- "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
+ "description": "Name of the referent. This field is effectively required, but due to backwards compatibility is allowed to be empty. Instances of this type with an empty value here are almost certainly wrong. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
"type": "string"
},
"optional": {
- "description": "Specify whether the ConfigMap or its keys must be defined",
+ "description": "optional specify whether the ConfigMap or its keys must be defined",
"type": "boolean"
}
},
@@ -8538,22 +8706,23 @@
"description": "Adapts a ConfigMap into a volume.\n\nThe contents of the target ConfigMap's Data field will be presented in a volume as files using the keys in the Data field as the file names, unless the items element is populated with specific mappings of keys to paths. ConfigMap volumes support ownership management and SELinux relabeling.",
"properties": {
"defaultMode": {
- "description": "Optional: mode bits used to set permissions on created files by default. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.",
+ "description": "defaultMode is optional: mode bits used to set permissions on created files by default. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.",
"type": "integer"
},
"items": {
- "description": "If unspecified, each key-value pair in the Data field of the referenced ConfigMap will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the ConfigMap, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'.",
+ "description": "items if unspecified, each key-value pair in the Data field of the referenced ConfigMap will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the ConfigMap, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'.",
"items": {
"$ref": "#/definitions/io.k8s.api.core.v1.KeyToPath"
},
- "type": "array"
+ "type": "array",
+ "x-kubernetes-list-type": "atomic"
},
"name": {
- "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
+ "description": "Name of the referent. This field is effectively required, but due to backwards compatibility is allowed to be empty. Instances of this type with an empty value here are almost certainly wrong. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
"type": "string"
},
"optional": {
- "description": "Specify whether the ConfigMap or its keys must be defined",
+ "description": "optional specify whether the ConfigMap or its keys must be defined",
"type": "boolean"
}
},
@@ -8563,18 +8732,20 @@
"description": "A single application container that you want to run within a pod.",
"properties": {
"args": {
- "description": "Arguments to the entrypoint. The docker image's CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell",
+ "description": "Arguments to the entrypoint. The container image's CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell",
"items": {
"type": "string"
},
- "type": "array"
+ "type": "array",
+ "x-kubernetes-list-type": "atomic"
},
"command": {
- "description": "Entrypoint array. Not executed within a shell. The docker image's ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell",
+ "description": "Entrypoint array. Not executed within a shell. The container image's ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell",
"items": {
"type": "string"
},
- "type": "array"
+ "type": "array",
+ "x-kubernetes-list-type": "atomic"
},
"env": {
"description": "List of environment variables to set in the container. Cannot be updated.",
@@ -8582,6 +8753,10 @@
"$ref": "#/definitions/io.k8s.api.core.v1.EnvVar"
},
"type": "array",
+ "x-kubernetes-list-map-keys": [
+ "name"
+ ],
+ "x-kubernetes-list-type": "map",
"x-kubernetes-patch-merge-key": "name",
"x-kubernetes-patch-strategy": "merge"
},
@@ -8590,19 +8765,15 @@
"items": {
"$ref": "#/definitions/io.k8s.api.core.v1.EnvFromSource"
},
- "type": "array"
+ "type": "array",
+ "x-kubernetes-list-type": "atomic"
},
"image": {
- "description": "Docker image name. More info: https://kubernetes.io/docs/concepts/containers/images This field is optional to allow higher level config management to default or override container images in workload controllers like Deployments and StatefulSets.",
+ "description": "Container image name. More info: https://kubernetes.io/docs/concepts/containers/images This field is optional to allow higher level config management to default or override container images in workload controllers like Deployments and StatefulSets.",
"type": "string"
},
"imagePullPolicy": {
- "description": "Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images\n\nPossible enum values:\n - `\"Always\"` means that kubelet always attempts to pull the latest image. Container will fail If the pull fails.\n - `\"IfNotPresent\"` means that kubelet pulls if the image isn't present on disk. Container will fail if the image isn't present and the pull fails.\n - `\"Never\"` means that kubelet never pulls an image, but only uses a local image. Container will fail if the image isn't present",
- "enum": [
- "Always",
- "IfNotPresent",
- "Never"
- ],
+ "description": "Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images",
"type": "string"
},
"lifecycle": {
@@ -8618,7 +8789,7 @@
"type": "string"
},
"ports": {
- "description": "List of ports to expose from the container. Exposing a port here gives the system additional information about the network connections a container uses, but is primarily informational. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default \"0.0.0.0\" address inside a container will be accessible from the network. Cannot be updated.",
+ "description": "List of ports to expose from the container. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default \"0.0.0.0\" address inside a container will be accessible from the network. Modifying this array with strategic merge patch may corrupt the data. For more information See https://github.com/kubernetes/kubernetes/issues/108255. Cannot be updated.",
"items": {
"$ref": "#/definitions/io.k8s.api.core.v1.ContainerPort"
},
@@ -8635,10 +8806,22 @@
"$ref": "#/definitions/io.k8s.api.core.v1.Probe",
"description": "Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes"
},
+ "resizePolicy": {
+ "description": "Resources resize policy for the container.",
+ "items": {
+ "$ref": "#/definitions/io.k8s.api.core.v1.ContainerResizePolicy"
+ },
+ "type": "array",
+ "x-kubernetes-list-type": "atomic"
+ },
"resources": {
"$ref": "#/definitions/io.k8s.api.core.v1.ResourceRequirements",
"description": "Compute Resources required by this container. Cannot be updated. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/"
},
+ "restartPolicy": {
+ "description": "RestartPolicy defines the restart behavior of individual containers in a pod. This field may only be set for init containers, and the only allowed value is \"Always\". For non-init containers or when this field is not specified, the restart behavior is defined by the Pod's restart policy and the container type. Setting the RestartPolicy as \"Always\" for the init container will have the following effect: this init container will be continually restarted on exit until all regular containers have terminated. Once all regular containers have completed, all init containers with restartPolicy \"Always\" will be shut down. This lifecycle differs from normal init containers and is often referred to as a \"sidecar\" container. Although this init container still starts in the init container sequence, it does not wait for the container to complete before proceeding to the next init container. Instead, the next init container starts immediately after this init container is started, or after any startupProbe has successfully completed.",
+ "type": "string"
+ },
"securityContext": {
"$ref": "#/definitions/io.k8s.api.core.v1.SecurityContext",
"description": "SecurityContext defines the security options the container should be run with. If set, the fields of SecurityContext override the equivalent fields of PodSecurityContext. More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/"
@@ -8660,11 +8843,7 @@
"type": "string"
},
"terminationMessagePolicy": {
- "description": "Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated.\n\nPossible enum values:\n - `\"FallbackToLogsOnError\"` will read the most recent contents of the container logs for the container status message when the container exits with an error and the terminationMessagePath has no contents.\n - `\"File\"` is the default behavior and will set the container status message to the contents of the container's terminationMessagePath when the container exits.",
- "enum": [
- "FallbackToLogsOnError",
- "File"
- ],
+ "description": "Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated.",
"type": "string"
},
"tty": {
@@ -8677,6 +8856,10 @@
"$ref": "#/definitions/io.k8s.api.core.v1.VolumeDevice"
},
"type": "array",
+ "x-kubernetes-list-map-keys": [
+ "devicePath"
+ ],
+ "x-kubernetes-list-type": "map",
"x-kubernetes-patch-merge-key": "devicePath",
"x-kubernetes-patch-strategy": "merge"
},
@@ -8686,6 +8869,10 @@
"$ref": "#/definitions/io.k8s.api.core.v1.VolumeMount"
},
"type": "array",
+ "x-kubernetes-list-map-keys": [
+ "mountPath"
+ ],
+ "x-kubernetes-list-type": "map",
"x-kubernetes-patch-merge-key": "mountPath",
"x-kubernetes-patch-strategy": "merge"
},
@@ -8719,12 +8906,7 @@
"type": "string"
},
"protocol": {
- "description": "Protocol for port. Must be UDP, TCP, or SCTP. Defaults to \"TCP\".\n\nPossible enum values:\n - `\"SCTP\"` is the SCTP protocol.\n - `\"TCP\"` is the TCP protocol.\n - `\"UDP\"` is the UDP protocol.",
- "enum": [
- "SCTP",
- "TCP",
- "UDP"
- ],
+ "description": "Protocol for port. Must be UDP, TCP, or SCTP. Defaults to \"TCP\".",
"type": "string"
}
},
@@ -8733,6 +8915,24 @@
],
"type": "object"
},
+ "io.k8s.api.core.v1.ContainerResizePolicy": {
+ "description": "ContainerResizePolicy represents resource resize policy for the container.",
+ "properties": {
+ "resourceName": {
+ "description": "Name of the resource to which this resource resize policy applies. Supported values: cpu, memory.",
+ "type": "string"
+ },
+ "restartPolicy": {
+ "description": "Restart policy to apply when specified resource is resized. If not specified, it defaults to NotRequired.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "resourceName",
+ "restartPolicy"
+ ],
+ "type": "object"
+ },
"io.k8s.api.core.v1.DownwardAPIProjection": {
"description": "Represents downward API info for projecting into a projected volume. Note that this is identical to a downwardAPI volume source without the default mode.",
"properties": {
@@ -8741,7 +8941,8 @@
"items": {
"$ref": "#/definitions/io.k8s.api.core.v1.DownwardAPIVolumeFile"
},
- "type": "array"
+ "type": "array",
+ "x-kubernetes-list-type": "atomic"
}
},
"type": "object"
@@ -8751,7 +8952,7 @@
"properties": {
"fieldRef": {
"$ref": "#/definitions/io.k8s.api.core.v1.ObjectFieldSelector",
- "description": "Required: Selects a field of the pod: only annotations, labels, name and namespace are supported."
+ "description": "Required: Selects a field of the pod: only annotations, labels, name, namespace and uid are supported."
},
"mode": {
"description": "Optional: mode bits used to set permissions on this file, must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.",
@@ -8783,7 +8984,8 @@
"items": {
"$ref": "#/definitions/io.k8s.api.core.v1.DownwardAPIVolumeFile"
},
- "type": "array"
+ "type": "array",
+ "x-kubernetes-list-type": "atomic"
}
},
"type": "object"
@@ -8792,12 +8994,12 @@
"description": "Represents an empty directory for a pod. Empty directory volumes support ownership management and SELinux relabeling.",
"properties": {
"medium": {
- "description": "What type of storage medium should back this directory. The default is \"\" which means to use the node's default medium. Must be an empty string (default) or Memory. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir",
+ "description": "medium represents what type of storage medium should back this directory. The default is \"\" which means to use the node's default medium. Must be an empty string (default) or Memory. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir",
"type": "string"
},
"sizeLimit": {
"$ref": "#/definitions/io.k8s.apimachinery.pkg.api.resource.Quantity",
- "description": "Total amount of local storage required for this EmptyDir volume. The size limit is also applicable for memory medium. The maximum usage on memory medium EmptyDir would be the minimum value between the SizeLimit specified here and the sum of memory limits of all containers in a pod. The default is nil which means that the limit is undefined. More info: http://kubernetes.io/docs/user-guide/volumes#emptydir"
+ "description": "sizeLimit is the total amount of local storage required for this EmptyDir volume. The size limit is also applicable for memory medium. The maximum usage on memory medium EmptyDir would be the minimum value between the SizeLimit specified here and the sum of memory limits of all containers in a pod. The default is nil which means that the limit is undefined. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir"
}
},
"type": "object"
@@ -8994,7 +9196,8 @@
"items": {
"type": "string"
},
- "type": "array"
+ "type": "array",
+ "x-kubernetes-list-type": "atomic"
}
},
"type": "object"
@@ -9003,30 +9206,32 @@
"description": "Represents a Fibre Channel volume. Fibre Channel volumes can only be mounted as read/write once. Fibre Channel volumes support ownership management and SELinux relabeling.",
"properties": {
"fsType": {
- "description": "Filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified.",
+ "description": "fsType is the filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified.",
"type": "string"
},
"lun": {
- "description": "Optional: FC target lun number",
+ "description": "lun is Optional: FC target lun number",
"type": "integer"
},
"readOnly": {
- "description": "Optional: Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts.",
+ "description": "readOnly is Optional: Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts.",
"type": "boolean"
},
"targetWWNs": {
- "description": "Optional: FC target worldwide names (WWNs)",
+ "description": "targetWWNs is Optional: FC target worldwide names (WWNs)",
"items": {
"type": "string"
},
- "type": "array"
+ "type": "array",
+ "x-kubernetes-list-type": "atomic"
},
"wwids": {
- "description": "Optional: FC volume world wide identifiers (wwids) Either wwids or combination of targetWWNs and lun must be set, but not both simultaneously.",
+ "description": "wwids Optional: FC volume world wide identifiers (wwids) Either wwids or combination of targetWWNs and lun must be set, but not both simultaneously.",
"items": {
"type": "string"
},
- "type": "array"
+ "type": "array",
+ "x-kubernetes-list-type": "atomic"
}
},
"type": "object"
@@ -9035,27 +9240,27 @@
"description": "FlexVolume represents a generic volume resource that is provisioned/attached using an exec based plugin.",
"properties": {
"driver": {
- "description": "Driver is the name of the driver to use for this volume.",
+ "description": "driver is the name of the driver to use for this volume.",
"type": "string"
},
"fsType": {
- "description": "Filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. \"ext4\", \"xfs\", \"ntfs\". The default filesystem depends on FlexVolume script.",
+ "description": "fsType is the filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. \"ext4\", \"xfs\", \"ntfs\". The default filesystem depends on FlexVolume script.",
"type": "string"
},
"options": {
"additionalProperties": {
"type": "string"
},
- "description": "Optional: Extra command options if any.",
+ "description": "options is Optional: this field holds extra command options if any.",
"type": "object"
},
"readOnly": {
- "description": "Optional: Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts.",
+ "description": "readOnly is Optional: defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts.",
"type": "boolean"
},
"secretRef": {
"$ref": "#/definitions/io.k8s.api.core.v1.LocalObjectReference",
- "description": "Optional: SecretRef is reference to the secret object containing sensitive information to pass to the plugin scripts. This may be empty if no secret object is specified. If the secret object contains more than one secret, all secrets are passed to the plugin scripts."
+ "description": "secretRef is Optional: secretRef is reference to the secret object containing sensitive information to pass to the plugin scripts. This may be empty if no secret object is specified. If the secret object contains more than one secret, all secrets are passed to the plugin scripts."
}
},
"required": [
@@ -9067,11 +9272,11 @@
"description": "Represents a Flocker volume mounted by the Flocker agent. One and only one of datasetName and datasetUUID should be set. Flocker volumes do not support ownership management or SELinux relabeling.",
"properties": {
"datasetName": {
- "description": "Name of the dataset stored as metadata -\u003e name on the dataset for Flocker should be considered as deprecated",
+ "description": "datasetName is Name of the dataset stored as metadata -\u003e name on the dataset for Flocker should be considered as deprecated",
"type": "string"
},
"datasetUUID": {
- "description": "UUID of the dataset. This is unique identifier of a Flocker dataset",
+ "description": "datasetUUID is the UUID of the dataset. This is unique identifier of a Flocker dataset",
"type": "string"
}
},
@@ -9081,19 +9286,19 @@
"description": "Represents a Persistent Disk resource in Google Compute Engine.\n\nA GCE PD must exist before mounting to a container. The disk must also be in the same GCE project and zone as the kubelet. A GCE PD can only be mounted as read/write once or read-only many times. GCE PDs support ownership management and SELinux relabeling.",
"properties": {
"fsType": {
- "description": "Filesystem type of the volume that you want to mount. Tip: Ensure that the filesystem type is supported by the host operating system. Examples: \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk",
+ "description": "fsType is filesystem type of the volume that you want to mount. Tip: Ensure that the filesystem type is supported by the host operating system. Examples: \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk",
"type": "string"
},
"partition": {
- "description": "The partition in the volume that you want to mount. If omitted, the default is to mount by volume name. Examples: For volume /dev/sda1, you specify the partition as \"1\". Similarly, the volume partition for /dev/sda is \"0\" (or you can leave the property empty). More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk",
+ "description": "partition is the partition in the volume that you want to mount. If omitted, the default is to mount by volume name. Examples: For volume /dev/sda1, you specify the partition as \"1\". Similarly, the volume partition for /dev/sda is \"0\" (or you can leave the property empty). More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk",
"type": "integer"
},
"pdName": {
- "description": "Unique name of the PD resource in GCE. Used to identify the disk in GCE. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk",
+ "description": "pdName is unique name of the PD resource in GCE. Used to identify the disk in GCE. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk",
"type": "string"
},
"readOnly": {
- "description": "ReadOnly here will force the ReadOnly setting in VolumeMounts. Defaults to false. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk",
+ "description": "readOnly here will force the ReadOnly setting in VolumeMounts. Defaults to false. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk",
"type": "boolean"
}
},
@@ -9122,15 +9327,15 @@
"description": "Represents a volume that is populated with the contents of a git repository. Git repo volumes do not support ownership management. Git repo volumes support SELinux relabeling.\n\nDEPRECATED: GitRepo is deprecated. To provision a container with a git repo, mount an EmptyDir into an InitContainer that clones the repo using git, then mount the EmptyDir into the Pod's container.",
"properties": {
"directory": {
- "description": "Target directory name. Must not contain or start with '..'. If '.' is supplied, the volume directory will be the git repository. Otherwise, if specified, the volume will contain the git repository in the subdirectory with the given name.",
+ "description": "directory is the target directory name. Must not contain or start with '..'. If '.' is supplied, the volume directory will be the git repository. Otherwise, if specified, the volume will contain the git repository in the subdirectory with the given name.",
"type": "string"
},
"repository": {
- "description": "Repository URL",
+ "description": "repository is the URL",
"type": "string"
},
"revision": {
- "description": "Commit hash for the specified revision.",
+ "description": "revision is the commit hash for the specified revision.",
"type": "string"
}
},
@@ -9143,15 +9348,15 @@
"description": "Represents a Glusterfs mount that lasts the lifetime of a pod. Glusterfs volumes do not support ownership management or SELinux relabeling.",
"properties": {
"endpoints": {
- "description": "EndpointsName is the endpoint name that details Glusterfs topology. More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod",
+ "description": "endpoints is the endpoint name that details Glusterfs topology. More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod",
"type": "string"
},
"path": {
- "description": "Path is the Glusterfs volume path. More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod",
+ "description": "path is the Glusterfs volume path. More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod",
"type": "string"
},
"readOnly": {
- "description": "ReadOnly here will force the Glusterfs volume to be mounted with read-only permissions. Defaults to false. More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod",
+ "description": "readOnly here will force the Glusterfs volume to be mounted with read-only permissions. Defaults to false. More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod",
"type": "boolean"
}
},
@@ -9173,7 +9378,8 @@
"items": {
"$ref": "#/definitions/io.k8s.api.core.v1.HTTPHeader"
},
- "type": "array"
+ "type": "array",
+ "x-kubernetes-list-type": "atomic"
},
"path": {
"description": "Path to access on the HTTP server.",
@@ -9184,11 +9390,7 @@
"description": "Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME."
},
"scheme": {
- "description": "Scheme to use for connecting to the host. Defaults to HTTP.\n\nPossible enum values:\n - `\"HTTP\"` means that the scheme used will be http://\n - `\"HTTPS\"` means that the scheme used will be https://",
- "enum": [
- "HTTP",
- "HTTPS"
- ],
+ "description": "Scheme to use for connecting to the host. Defaults to HTTP.",
"type": "string"
}
},
@@ -9201,7 +9403,7 @@
"description": "HTTPHeader describes a custom header to be used in HTTP probes",
"properties": {
"name": {
- "description": "The header field name",
+ "description": "The header field name. This will be canonicalized upon output, so case-variant names will be understood as the same header.",
"type": "string"
},
"value": {
@@ -9223,24 +9425,28 @@
"items": {
"type": "string"
},
- "type": "array"
+ "type": "array",
+ "x-kubernetes-list-type": "atomic"
},
"ip": {
"description": "IP address of the host file entry.",
"type": "string"
}
},
+ "required": [
+ "ip"
+ ],
"type": "object"
},
"io.k8s.api.core.v1.HostPathVolumeSource": {
"description": "Represents a host path mapped into a pod. Host path volumes do not support ownership management or SELinux relabeling.",
"properties": {
"path": {
- "description": "Path of the directory on the host. If the path is a symlink, it will follow the link to the real path. More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath",
+ "description": "path of the directory on the host. If the path is a symlink, it will follow the link to the real path. More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath",
"type": "string"
},
"type": {
- "description": "Type for HostPath Volume Defaults to \"\" More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath",
+ "description": "type for HostPath Volume Defaults to \"\" More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath",
"type": "string"
}
},
@@ -9253,50 +9459,51 @@
"description": "Represents an ISCSI disk. ISCSI volumes can only be mounted as read/write once. ISCSI volumes support ownership management and SELinux relabeling.",
"properties": {
"chapAuthDiscovery": {
- "description": "whether support iSCSI Discovery CHAP authentication",
+ "description": "chapAuthDiscovery defines whether support iSCSI Discovery CHAP authentication",
"type": "boolean"
},
"chapAuthSession": {
- "description": "whether support iSCSI Session CHAP authentication",
+ "description": "chapAuthSession defines whether support iSCSI Session CHAP authentication",
"type": "boolean"
},
"fsType": {
- "description": "Filesystem type of the volume that you want to mount. Tip: Ensure that the filesystem type is supported by the host operating system. Examples: \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified. More info: https://kubernetes.io/docs/concepts/storage/volumes#iscsi",
+ "description": "fsType is the filesystem type of the volume that you want to mount. Tip: Ensure that the filesystem type is supported by the host operating system. Examples: \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified. More info: https://kubernetes.io/docs/concepts/storage/volumes#iscsi",
"type": "string"
},
"initiatorName": {
- "description": "Custom iSCSI Initiator Name. If initiatorName is specified with iscsiInterface simultaneously, new iSCSI interface \u003ctarget portal\u003e:\u003cvolume name\u003e will be created for the connection.",
+ "description": "initiatorName is the custom iSCSI Initiator Name. If initiatorName is specified with iscsiInterface simultaneously, new iSCSI interface \u003ctarget portal\u003e:\u003cvolume name\u003e will be created for the connection.",
"type": "string"
},
"iqn": {
- "description": "Target iSCSI Qualified Name.",
+ "description": "iqn is the target iSCSI Qualified Name.",
"type": "string"
},
"iscsiInterface": {
- "description": "iSCSI Interface Name that uses an iSCSI transport. Defaults to 'default' (tcp).",
+ "description": "iscsiInterface is the interface Name that uses an iSCSI transport. Defaults to 'default' (tcp).",
"type": "string"
},
"lun": {
- "description": "iSCSI Target Lun number.",
+ "description": "lun represents iSCSI Target Lun number.",
"type": "integer"
},
"portals": {
- "description": "iSCSI Target Portal List. The portal is either an IP or ip_addr:port if the port is other than default (typically TCP ports 860 and 3260).",
+ "description": "portals is the iSCSI Target Portal List. The portal is either an IP or ip_addr:port if the port is other than default (typically TCP ports 860 and 3260).",
"items": {
"type": "string"
},
- "type": "array"
+ "type": "array",
+ "x-kubernetes-list-type": "atomic"
},
"readOnly": {
- "description": "ReadOnly here will force the ReadOnly setting in VolumeMounts. Defaults to false.",
+ "description": "readOnly here will force the ReadOnly setting in VolumeMounts. Defaults to false.",
"type": "boolean"
},
"secretRef": {
"$ref": "#/definitions/io.k8s.api.core.v1.LocalObjectReference",
- "description": "CHAP Secret for iSCSI target and initiator authentication"
+ "description": "secretRef is the CHAP Secret for iSCSI target and initiator authentication"
},
"targetPortal": {
- "description": "iSCSI Target Portal. The Portal is either an IP or ip_addr:port if the port is other than default (typically TCP ports 860 and 3260).",
+ "description": "targetPortal is iSCSI Target Portal. The Portal is either an IP or ip_addr:port if the port is other than default (typically TCP ports 860 and 3260).",
"type": "string"
}
},
@@ -9311,15 +9518,15 @@
"description": "Maps a string key to a path within a volume.",
"properties": {
"key": {
- "description": "The key to project.",
+ "description": "key is the key to project.",
"type": "string"
},
"mode": {
- "description": "Optional: mode bits used to set permissions on this file. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.",
+ "description": "mode is Optional: mode bits used to set permissions on this file. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.",
"type": "integer"
},
"path": {
- "description": "The relative path of the file to map the key to. May not be an absolute path. May not contain the path element '..'. May not start with the string '..'.",
+ "description": "path is the relative path of the file to map the key to. May not be an absolute path. May not contain the path element '..'. May not start with the string '..'.",
"type": "string"
}
},
@@ -9354,6 +9561,10 @@
"$ref": "#/definitions/io.k8s.api.core.v1.HTTPGetAction",
"description": "HTTPGet specifies the http request to perform."
},
+ "sleep": {
+ "$ref": "#/definitions/io.k8s.api.core.v1.SleepAction",
+ "description": "Sleep represents the duration that the container should sleep before being terminated."
+ },
"tcpSocket": {
"$ref": "#/definitions/io.k8s.api.core.v1.TCPSocketAction",
"description": "Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept for the backward compatibility. There are no validation of this field and lifecycle hooks will fail in runtime when tcp handler is specified."
@@ -9365,26 +9576,43 @@
"description": "LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace.",
"properties": {
"name": {
- "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
+ "description": "Name of the referent. This field is effectively required, but due to backwards compatibility is allowed to be empty. Instances of this type with an empty value here are almost certainly wrong. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
"type": "string"
}
},
"type": "object",
"x-kubernetes-map-type": "atomic"
},
+ "io.k8s.api.core.v1.ModifyVolumeStatus": {
+ "description": "ModifyVolumeStatus represents the status object of ControllerModifyVolume operation",
+ "properties": {
+ "status": {
+ "description": "status is the status of the ControllerModifyVolume operation. It can be in any of following states:\n - Pending\n Pending indicates that the PersistentVolumeClaim cannot be modified due to unmet requirements, such as\n the specified VolumeAttributesClass not existing.\n - InProgress\n InProgress indicates that the volume is being modified.\n - Infeasible\n Infeasible indicates that the request has been rejected as invalid by the CSI driver. To\n\t resolve the error, a valid VolumeAttributesClass needs to be specified.\nNote: New statuses can be added in the future. Consumers should check for unknown statuses and fail appropriately.",
+ "type": "string"
+ },
+ "targetVolumeAttributesClassName": {
+ "description": "targetVolumeAttributesClassName is the name of the VolumeAttributesClass the PVC currently being reconciled",
+ "type": "string"
+ }
+ },
+ "required": [
+ "status"
+ ],
+ "type": "object"
+ },
"io.k8s.api.core.v1.NFSVolumeSource": {
"description": "Represents an NFS mount that lasts the lifetime of a pod. NFS volumes do not support ownership management or SELinux relabeling.",
"properties": {
"path": {
- "description": "Path that is exported by the NFS server. More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs",
+ "description": "path that is exported by the NFS server. More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs",
"type": "string"
},
"readOnly": {
- "description": "ReadOnly here will force the NFS export to be mounted with read-only permissions. Defaults to false. More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs",
+ "description": "readOnly here will force the NFS export to be mounted with read-only permissions. Defaults to false. More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs",
"type": "boolean"
},
"server": {
- "description": "Server is the hostname or IP address of the NFS server. More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs",
+ "description": "server is the hostname or IP address of the NFS server. More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs",
"type": "string"
}
},
@@ -9402,7 +9630,8 @@
"items": {
"$ref": "#/definitions/io.k8s.api.core.v1.PreferredSchedulingTerm"
},
- "type": "array"
+ "type": "array",
+ "x-kubernetes-list-type": "atomic"
},
"requiredDuringSchedulingIgnoredDuringExecution": {
"$ref": "#/definitions/io.k8s.api.core.v1.NodeSelector",
@@ -9419,7 +9648,8 @@
"items": {
"$ref": "#/definitions/io.k8s.api.core.v1.NodeSelectorTerm"
},
- "type": "array"
+ "type": "array",
+ "x-kubernetes-list-type": "atomic"
}
},
"required": [
@@ -9436,15 +9666,7 @@
"type": "string"
},
"operator": {
- "description": "Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.\n\nPossible enum values:\n - `\"DoesNotExist\"`\n - `\"Exists\"`\n - `\"Gt\"`\n - `\"In\"`\n - `\"Lt\"`\n - `\"NotIn\"`",
- "enum": [
- "DoesNotExist",
- "Exists",
- "Gt",
- "In",
- "Lt",
- "NotIn"
- ],
+ "description": "Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.",
"type": "string"
},
"values": {
@@ -9452,7 +9674,8 @@
"items": {
"type": "string"
},
- "type": "array"
+ "type": "array",
+ "x-kubernetes-list-type": "atomic"
}
},
"required": [
@@ -9469,14 +9692,16 @@
"items": {
"$ref": "#/definitions/io.k8s.api.core.v1.NodeSelectorRequirement"
},
- "type": "array"
+ "type": "array",
+ "x-kubernetes-list-type": "atomic"
},
"matchFields": {
"description": "A list of node selector requirements by node's fields.",
"items": {
"$ref": "#/definitions/io.k8s.api.core.v1.NodeSelectorRequirement"
},
- "type": "array"
+ "type": "array",
+ "x-kubernetes-list-type": "atomic"
}
},
"type": "object",
@@ -9552,11 +9777,11 @@
},
"spec": {
"$ref": "#/definitions/io.k8s.api.core.v1.PersistentVolumeClaimSpec",
- "description": "Spec defines the desired characteristics of a volume requested by a pod author. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims"
+ "description": "spec defines the desired characteristics of a volume requested by a pod author. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims"
},
"status": {
"$ref": "#/definitions/io.k8s.api.core.v1.PersistentVolumeClaimStatus",
- "description": "Status represents the current information/status of a persistent volume claim. Read-only. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims"
+ "description": "status represents the current information/status of a persistent volume claim. Read-only. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims"
}
},
"type": "object",
@@ -9569,33 +9794,28 @@
]
},
"io.k8s.api.core.v1.PersistentVolumeClaimCondition": {
- "description": "PersistentVolumeClaimCondition contails details about state of pvc",
+ "description": "PersistentVolumeClaimCondition contains details about state of pvc",
"properties": {
"lastProbeTime": {
"$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Time",
- "description": "Last time we probed the condition."
+ "description": "lastProbeTime is the time we probed the condition."
},
"lastTransitionTime": {
"$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Time",
- "description": "Last time the condition transitioned from one status to another."
+ "description": "lastTransitionTime is the time the condition transitioned from one status to another."
},
"message": {
- "description": "Human-readable message indicating details about last transition.",
+ "description": "message is the human-readable message indicating details about last transition.",
"type": "string"
},
"reason": {
- "description": "Unique, this should be a short, machine understandable string that gives the reason for condition's last transition. If it reports \"ResizeStarted\" that means the underlying persistent volume is being resized.",
+ "description": "reason is a unique, this should be a short, machine understandable string that gives the reason for condition's last transition. If it reports \"Resizing\" that means the underlying persistent volume is being resized.",
"type": "string"
},
"status": {
"type": "string"
},
"type": {
- "description": "\n\n\nPossible enum values:\n - `\"FileSystemResizePending\"` - controller resize is finished and a file system resize is pending on node\n - `\"Resizing\"` - a user trigger resize of pvc has been started",
- "enum": [
- "FileSystemResizePending",
- "Resizing"
- ],
"type": "string"
}
},
@@ -9609,30 +9829,35 @@
"description": "PersistentVolumeClaimSpec describes the common attributes of storage devices and allows a Source for provider-specific attributes",
"properties": {
"accessModes": {
- "description": "AccessModes contains the desired access modes the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1",
+ "description": "accessModes contains the desired access modes the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1",
"items": {
"type": "string"
},
- "type": "array"
+ "type": "array",
+ "x-kubernetes-list-type": "atomic"
},
"dataSource": {
"$ref": "#/definitions/io.k8s.api.core.v1.TypedLocalObjectReference",
- "description": "This field can be used to specify either: * An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot) * An existing PVC (PersistentVolumeClaim) If the provisioner or an external controller can support the specified data source, it will create a new volume based on the contents of the specified data source. If the AnyVolumeDataSource feature gate is enabled, this field will always have the same contents as the DataSourceRef field."
+ "description": "dataSource field can be used to specify either: * An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot) * An existing PVC (PersistentVolumeClaim) If the provisioner or an external controller can support the specified data source, it will create a new volume based on the contents of the specified data source. When the AnyVolumeDataSource feature gate is enabled, dataSource contents will be copied to dataSourceRef, and dataSourceRef contents will be copied to dataSource when dataSourceRef.namespace is not specified. If the namespace is specified, then dataSourceRef will not be copied to dataSource."
},
"dataSourceRef": {
- "$ref": "#/definitions/io.k8s.api.core.v1.TypedLocalObjectReference",
- "description": "Specifies the object from which to populate the volume with data, if a non-empty volume is desired. This may be any local object from a non-empty API group (non core object) or a PersistentVolumeClaim object. When this field is specified, volume binding will only succeed if the type of the specified object matches some installed volume populator or dynamic provisioner. This field will replace the functionality of the DataSource field and as such if both fields are non-empty, they must have the same value. For backwards compatibility, both fields (DataSource and DataSourceRef) will be set to the same value automatically if one of them is empty and the other is non-empty. There are two important differences between DataSource and DataSourceRef: * While DataSource only allows two specific types of objects, DataSourceRef\n allows any non-core object, as well as PersistentVolumeClaim objects.\n* While DataSource ignores disallowed values (dropping them), DataSourceRef\n preserves all values, and generates an error if a disallowed value is\n specified.\n(Alpha) Using this field requires the AnyVolumeDataSource feature gate to be enabled."
+ "$ref": "#/definitions/io.k8s.api.core.v1.TypedObjectReference",
+ "description": "dataSourceRef specifies the object from which to populate the volume with data, if a non-empty volume is desired. This may be any object from a non-empty API group (non core object) or a PersistentVolumeClaim object. When this field is specified, volume binding will only succeed if the type of the specified object matches some installed volume populator or dynamic provisioner. This field will replace the functionality of the dataSource field and as such if both fields are non-empty, they must have the same value. For backwards compatibility, when namespace isn't specified in dataSourceRef, both fields (dataSource and dataSourceRef) will be set to the same value automatically if one of them is empty and the other is non-empty. When namespace is specified in dataSourceRef, dataSource isn't set to the same value and must be empty. There are three important differences between dataSource and dataSourceRef: * While dataSource only allows two specific types of objects, dataSourceRef\n allows any non-core object, as well as PersistentVolumeClaim objects.\n* While dataSource ignores disallowed values (dropping them), dataSourceRef\n preserves all values, and generates an error if a disallowed value is\n specified.\n* While dataSource only allows local objects, dataSourceRef allows objects\n in any namespaces.\n(Beta) Using this field requires the AnyVolumeDataSource feature gate to be enabled. (Alpha) Using the namespace field of dataSourceRef requires the CrossNamespaceVolumeDataSource feature gate to be enabled."
},
"resources": {
- "$ref": "#/definitions/io.k8s.api.core.v1.ResourceRequirements",
- "description": "Resources represents the minimum resources the volume should have. If RecoverVolumeExpansionFailure feature is enabled users are allowed to specify resource requirements that are lower than previous value but must still be higher than capacity recorded in the status field of the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources"
+ "$ref": "#/definitions/io.k8s.api.core.v1.VolumeResourceRequirements",
+ "description": "resources represents the minimum resources the volume should have. If RecoverVolumeExpansionFailure feature is enabled users are allowed to specify resource requirements that are lower than previous value but must still be higher than capacity recorded in the status field of the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources"
},
"selector": {
"$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.LabelSelector",
- "description": "A label query over volumes to consider for binding."
+ "description": "selector is a label query over volumes to consider for binding."
},
"storageClassName": {
- "description": "Name of the StorageClass required by the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1",
+ "description": "storageClassName is the name of the StorageClass required by the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1",
+ "type": "string"
+ },
+ "volumeAttributesClassName": {
+ "description": "volumeAttributesClassName may be used to set the VolumeAttributesClass used by this claim. If specified, the CSI driver will create or update the volume with the attributes defined in the corresponding VolumeAttributesClass. This has a different purpose than storageClassName, it can be changed after the claim is created. An empty string value means that no VolumeAttributesClass will be applied to the claim but it's not allowed to reset this field to empty string once it is set. If unspecified and the PersistentVolumeClaim is unbound, the default VolumeAttributesClass will be set by the persistentvolume controller if it exists. If the resource referred to by volumeAttributesClass does not exist, this PersistentVolumeClaim will be set to a Pending state, as reflected by the modifyVolumeStatus field, until such as a resource exists. More info: https://kubernetes.io/docs/concepts/storage/volume-attributes-classes/ (Alpha) Using this field requires the VolumeAttributesClass feature gate to be enabled.",
"type": "string"
},
"volumeMode": {
@@ -9640,7 +9865,7 @@
"type": "string"
},
"volumeName": {
- "description": "VolumeName is the binding reference to the PersistentVolume backing this claim.",
+ "description": "volumeName is the binding reference to the PersistentVolume backing this claim.",
"type": "string"
}
},
@@ -9650,46 +9875,58 @@
"description": "PersistentVolumeClaimStatus is the current status of a persistent volume claim.",
"properties": {
"accessModes": {
- "description": "AccessModes contains the actual access modes the volume backing the PVC has. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1",
+ "description": "accessModes contains the actual access modes the volume backing the PVC has. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1",
"items": {
"type": "string"
},
- "type": "array"
+ "type": "array",
+ "x-kubernetes-list-type": "atomic"
+ },
+ "allocatedResourceStatuses": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "allocatedResourceStatuses stores status of resource being resized for the given PVC. Key names follow standard Kubernetes label syntax. Valid values are either:\n\t* Un-prefixed keys:\n\t\t- storage - the capacity of the volume.\n\t* Custom resources must use implementation-defined prefixed names such as \"example.com/my-custom-resource\"\nApart from above values - keys that are unprefixed or have kubernetes.io prefix are considered reserved and hence may not be used.\n\nClaimResourceStatus can be in any of following states:\n\t- ControllerResizeInProgress:\n\t\tState set when resize controller starts resizing the volume in control-plane.\n\t- ControllerResizeFailed:\n\t\tState set when resize has failed in resize controller with a terminal error.\n\t- NodeResizePending:\n\t\tState set when resize controller has finished resizing the volume but further resizing of\n\t\tvolume is needed on the node.\n\t- NodeResizeInProgress:\n\t\tState set when kubelet starts resizing the volume.\n\t- NodeResizeFailed:\n\t\tState set when resizing has failed in kubelet with a terminal error. Transient errors don't set\n\t\tNodeResizeFailed.\nFor example: if expanding a PVC for more capacity - this field can be one of the following states:\n\t- pvc.status.allocatedResourceStatus['storage'] = \"ControllerResizeInProgress\"\n - pvc.status.allocatedResourceStatus['storage'] = \"ControllerResizeFailed\"\n - pvc.status.allocatedResourceStatus['storage'] = \"NodeResizePending\"\n - pvc.status.allocatedResourceStatus['storage'] = \"NodeResizeInProgress\"\n - pvc.status.allocatedResourceStatus['storage'] = \"NodeResizeFailed\"\nWhen this field is not set, it means that no resize operation is in progress for the given PVC.\n\nA controller that receives PVC update with previously unknown resourceName or ClaimResourceStatus should ignore the update for the purpose it was designed. For example - a controller that only is responsible for resizing capacity of the volume, should ignore PVC updates that change other valid resources associated with PVC.\n\nThis is an alpha field and requires enabling RecoverVolumeExpansionFailure feature.",
+ "type": "object",
+ "x-kubernetes-map-type": "granular"
},
"allocatedResources": {
"additionalProperties": {
"$ref": "#/definitions/io.k8s.apimachinery.pkg.api.resource.Quantity"
},
- "description": "The storage resource within AllocatedResources tracks the capacity allocated to a PVC. It may be larger than the actual capacity when a volume expansion operation is requested. For storage quota, the larger value from allocatedResources and PVC.spec.resources is used. If allocatedResources is not set, PVC.spec.resources alone is used for quota calculation. If a volume expansion capacity request is lowered, allocatedResources is only lowered if there are no expansion operations in progress and if the actual volume capacity is equal or lower than the requested capacity. This is an alpha field and requires enabling RecoverVolumeExpansionFailure feature.",
+ "description": "allocatedResources tracks the resources allocated to a PVC including its capacity. Key names follow standard Kubernetes label syntax. Valid values are either:\n\t* Un-prefixed keys:\n\t\t- storage - the capacity of the volume.\n\t* Custom resources must use implementation-defined prefixed names such as \"example.com/my-custom-resource\"\nApart from above values - keys that are unprefixed or have kubernetes.io prefix are considered reserved and hence may not be used.\n\nCapacity reported here may be larger than the actual capacity when a volume expansion operation is requested. For storage quota, the larger value from allocatedResources and PVC.spec.resources is used. If allocatedResources is not set, PVC.spec.resources alone is used for quota calculation. If a volume expansion capacity request is lowered, allocatedResources is only lowered if there are no expansion operations in progress and if the actual volume capacity is equal or lower than the requested capacity.\n\nA controller that receives PVC update with previously unknown resourceName should ignore the update for the purpose it was designed. For example - a controller that only is responsible for resizing capacity of the volume, should ignore PVC updates that change other valid resources associated with PVC.\n\nThis is an alpha field and requires enabling RecoverVolumeExpansionFailure feature.",
"type": "object"
},
"capacity": {
"additionalProperties": {
"$ref": "#/definitions/io.k8s.apimachinery.pkg.api.resource.Quantity"
},
- "description": "Represents the actual resources of the underlying volume.",
+ "description": "capacity represents the actual resources of the underlying volume.",
"type": "object"
},
"conditions": {
- "description": "Current Condition of persistent volume claim. If underlying persistent volume is being resized then the Condition will be set to 'ResizeStarted'.",
+ "description": "conditions is the current Condition of persistent volume claim. If underlying persistent volume is being resized then the Condition will be set to 'Resizing'.",
"items": {
"$ref": "#/definitions/io.k8s.api.core.v1.PersistentVolumeClaimCondition"
},
"type": "array",
+ "x-kubernetes-list-map-keys": [
+ "type"
+ ],
+ "x-kubernetes-list-type": "map",
"x-kubernetes-patch-merge-key": "type",
"x-kubernetes-patch-strategy": "merge"
},
- "phase": {
- "description": "Phase represents the current phase of PersistentVolumeClaim.\n\nPossible enum values:\n - `\"Bound\"` used for PersistentVolumeClaims that are bound\n - `\"Lost\"` used for PersistentVolumeClaims that lost their underlying PersistentVolume. The claim was bound to a PersistentVolume and this volume does not exist any longer and all data on it was lost.\n - `\"Pending\"` used for PersistentVolumeClaims that are not yet bound",
- "enum": [
- "Bound",
- "Lost",
- "Pending"
- ],
+ "currentVolumeAttributesClassName": {
+ "description": "currentVolumeAttributesClassName is the current name of the VolumeAttributesClass the PVC is using. When unset, there is no VolumeAttributeClass applied to this PersistentVolumeClaim This is an alpha field and requires enabling VolumeAttributesClass feature.",
"type": "string"
},
- "resizeStatus": {
- "description": "ResizeStatus stores status of resize operation. ResizeStatus is not set by default but when expansion is complete resizeStatus is set to empty string by resize controller or kubelet. This is an alpha field and requires enabling RecoverVolumeExpansionFailure feature.",
+ "modifyVolumeStatus": {
+ "$ref": "#/definitions/io.k8s.api.core.v1.ModifyVolumeStatus",
+ "description": "ModifyVolumeStatus represents the status object of ControllerModifyVolume operation. When this is unset, there is no ModifyVolume operation being attempted. This is an alpha field and requires enabling VolumeAttributesClass feature."
+ },
+ "phase": {
+ "description": "phase represents the current phase of PersistentVolumeClaim.",
"type": "string"
}
},
@@ -9716,11 +9953,11 @@
"description": "PersistentVolumeClaimVolumeSource references the user's PVC in the same namespace. This volume finds the bound PV and mounts that volume for the pod. A PersistentVolumeClaimVolumeSource is, essentially, a wrapper around another type of volume that is owned by someone else (the system).",
"properties": {
"claimName": {
- "description": "ClaimName is the name of a PersistentVolumeClaim in the same namespace as the pod using this volume. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims",
+ "description": "claimName is the name of a PersistentVolumeClaim in the same namespace as the pod using this volume. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims",
"type": "string"
},
"readOnly": {
- "description": "Will force the ReadOnly setting in VolumeMounts. Default false.",
+ "description": "readOnly Will force the ReadOnly setting in VolumeMounts. Default false.",
"type": "boolean"
}
},
@@ -9733,11 +9970,11 @@
"description": "Represents a Photon Controller persistent disk resource.",
"properties": {
"fsType": {
- "description": "Filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified.",
+ "description": "fsType is the filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified.",
"type": "string"
},
"pdID": {
- "description": "ID that identifies Photon Controller persistent disk",
+ "description": "pdID is the ID that identifies Photon Controller persistent disk",
"type": "string"
}
},
@@ -9754,14 +9991,16 @@
"items": {
"$ref": "#/definitions/io.k8s.api.core.v1.WeightedPodAffinityTerm"
},
- "type": "array"
+ "type": "array",
+ "x-kubernetes-list-type": "atomic"
},
"requiredDuringSchedulingIgnoredDuringExecution": {
"description": "If the affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to a pod label update), the system may or may not try to eventually evict the pod from its node. When there are multiple elements, the lists of nodes corresponding to each podAffinityTerm are intersected, i.e. all terms must be satisfied.",
"items": {
"$ref": "#/definitions/io.k8s.api.core.v1.PodAffinityTerm"
},
- "type": "array"
+ "type": "array",
+ "x-kubernetes-list-type": "atomic"
}
},
"type": "object"
@@ -9771,18 +10010,35 @@
"properties": {
"labelSelector": {
"$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.LabelSelector",
- "description": "A label query over a set of resources, in this case pods."
+ "description": "A label query over a set of resources, in this case pods. If it's null, this PodAffinityTerm matches with no Pods."
+ },
+ "matchLabelKeys": {
+ "description": "MatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)` to select the group of existing pods which pods will be taken into consideration for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both matchLabelKeys and labelSelector. Also, matchLabelKeys cannot be set when labelSelector isn't set. This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "x-kubernetes-list-type": "atomic"
+ },
+ "mismatchLabelKeys": {
+ "description": "MismatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)` to select the group of existing pods which pods will be taken into consideration for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both mismatchLabelKeys and labelSelector. Also, mismatchLabelKeys cannot be set when labelSelector isn't set. This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "x-kubernetes-list-type": "atomic"
},
"namespaceSelector": {
"$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.LabelSelector",
- "description": "A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means \"this pod's namespace\". An empty selector ({}) matches all namespaces. This field is beta-level and is only honored when PodAffinityNamespaceSelector feature is enabled."
+ "description": "A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means \"this pod's namespace\". An empty selector ({}) matches all namespaces."
},
"namespaces": {
- "description": "namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means \"this pod's namespace\"",
+ "description": "namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means \"this pod's namespace\".",
"items": {
"type": "string"
},
- "type": "array"
+ "type": "array",
+ "x-kubernetes-list-type": "atomic"
},
"topologyKey": {
"description": "This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces, where co-located is defined as running on a node whose value of the label with key topologyKey matches that of any node on which any of the selected pods is running. Empty topologyKey is not allowed.",
@@ -9802,14 +10058,16 @@
"items": {
"$ref": "#/definitions/io.k8s.api.core.v1.WeightedPodAffinityTerm"
},
- "type": "array"
+ "type": "array",
+ "x-kubernetes-list-type": "atomic"
},
"requiredDuringSchedulingIgnoredDuringExecution": {
"description": "If the anti-affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the anti-affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to a pod label update), the system may or may not try to eventually evict the pod from its node. When there are multiple elements, the lists of nodes corresponding to each podAffinityTerm are intersected, i.e. all terms must be satisfied.",
"items": {
"$ref": "#/definitions/io.k8s.api.core.v1.PodAffinityTerm"
},
- "type": "array"
+ "type": "array",
+ "x-kubernetes-list-type": "atomic"
}
},
"type": "object"
@@ -9822,21 +10080,24 @@
"items": {
"type": "string"
},
- "type": "array"
+ "type": "array",
+ "x-kubernetes-list-type": "atomic"
},
"options": {
"description": "A list of DNS resolver options. This will be merged with the base options generated from DNSPolicy. Duplicated entries will be removed. Resolution options given in Options will override those that appear in the base DNSPolicy.",
"items": {
"$ref": "#/definitions/io.k8s.api.core.v1.PodDNSConfigOption"
},
- "type": "array"
+ "type": "array",
+ "x-kubernetes-list-type": "atomic"
},
"searches": {
"description": "A list of DNS search domains for host-name lookup. This will be appended to the base search paths generated from DNSPolicy. Duplicated search paths will be removed.",
"items": {
"type": "string"
},
- "type": "array"
+ "type": "array",
+ "x-kubernetes-list-type": "atomic"
}
},
"type": "object"
@@ -9857,6 +10118,10 @@
"io.k8s.api.core.v1.PodSecurityContext": {
"description": "PodSecurityContext holds pod-level security attributes and common container settings. Some fields are also present in container.securityContext. Field values of container.securityContext take precedence over field values of PodSecurityContext.",
"properties": {
+ "appArmorProfile": {
+ "$ref": "#/definitions/io.k8s.api.core.v1.AppArmorProfile",
+ "description": "appArmorProfile is the AppArmor options to use by the containers in this pod. Note that this field cannot be set when spec.os.name is windows."
+ },
"fsGroup": {
"description": "A special supplemental group that applies to all containers in a pod. Some volume types allow the Kubelet to change the ownership of that volume to be owned by the pod:\n\n1. The owning GID will be the FSGroup 2. The setgid bit is set (new files created in the volume will be owned by FSGroup) 3. The permission bits are OR'd with rw-rw----\n\nIf unset, the Kubelet will not modify the ownership and permissions of any volume. Note that this field cannot be set when spec.os.name is windows.",
"type": "integer"
@@ -9886,19 +10151,21 @@
"description": "The seccomp options to use by the containers in this pod. Note that this field cannot be set when spec.os.name is windows."
},
"supplementalGroups": {
- "description": "A list of groups applied to the first process run in each container, in addition to the container's primary GID. If unspecified, no groups will be added to any container. Note that this field cannot be set when spec.os.name is windows.",
+ "description": "A list of groups applied to the first process run in each container, in addition to the container's primary GID, the fsGroup (if specified), and group memberships defined in the container image for the uid of the container process. If unspecified, no additional groups are added to any container. Note that group memberships defined in the container image for the uid of the container process are still effective, even if they are not included in this list. Note that this field cannot be set when spec.os.name is windows.",
"items": {
"format": "int64",
"type": "integer"
},
- "type": "array"
+ "type": "array",
+ "x-kubernetes-list-type": "atomic"
},
"sysctls": {
"description": "Sysctls hold a list of namespaced sysctls used for the pod. Pods with unsupported sysctls (by the container runtime) might fail to launch. Note that this field cannot be set when spec.os.name is windows.",
"items": {
"$ref": "#/definitions/io.k8s.api.core.v1.Sysctl"
},
- "type": "array"
+ "type": "array",
+ "x-kubernetes-list-type": "atomic"
},
"windowsOptions": {
"$ref": "#/definitions/io.k8s.api.core.v1.WindowsSecurityContextOptions",
@@ -9911,15 +10178,15 @@
"description": "PortworxVolumeSource represents a Portworx volume resource.",
"properties": {
"fsType": {
- "description": "FSType represents the filesystem type to mount Must be a filesystem type supported by the host operating system. Ex. \"ext4\", \"xfs\". Implicitly inferred to be \"ext4\" if unspecified.",
+ "description": "fSType represents the filesystem type to mount Must be a filesystem type supported by the host operating system. Ex. \"ext4\", \"xfs\". Implicitly inferred to be \"ext4\" if unspecified.",
"type": "string"
},
"readOnly": {
- "description": "Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts.",
+ "description": "readOnly defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts.",
"type": "boolean"
},
"volumeID": {
- "description": "VolumeID uniquely identifies a Portworx volume",
+ "description": "volumeID uniquely identifies a Portworx volume",
"type": "string"
}
},
@@ -9959,7 +10226,7 @@
},
"grpc": {
"$ref": "#/definitions/io.k8s.api.core.v1.GRPCAction",
- "description": "GRPC specifies an action involving a GRPC port. This is an alpha field and requires enabling GRPCContainerProbe feature gate."
+ "description": "GRPC specifies an action involving a GRPC port."
},
"httpGet": {
"$ref": "#/definitions/io.k8s.api.core.v1.HTTPGetAction",
@@ -9996,15 +10263,16 @@
"description": "Represents a projected volume source",
"properties": {
"defaultMode": {
- "description": "Mode bits used to set permissions on created files by default. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.",
+ "description": "defaultMode are the mode bits used to set permissions on created files by default. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.",
"type": "integer"
},
"sources": {
- "description": "list of volume projections",
+ "description": "sources is the list of volume projections",
"items": {
"$ref": "#/definitions/io.k8s.api.core.v1.VolumeProjection"
},
- "type": "array"
+ "type": "array",
+ "x-kubernetes-list-type": "atomic"
}
},
"type": "object"
@@ -10013,27 +10281,27 @@
"description": "Represents a Quobyte mount that lasts the lifetime of a pod. Quobyte volumes do not support ownership management or SELinux relabeling.",
"properties": {
"group": {
- "description": "Group to map volume access to Default is no group",
+ "description": "group to map volume access to Default is no group",
"type": "string"
},
"readOnly": {
- "description": "ReadOnly here will force the Quobyte volume to be mounted with read-only permissions. Defaults to false.",
+ "description": "readOnly here will force the Quobyte volume to be mounted with read-only permissions. Defaults to false.",
"type": "boolean"
},
"registry": {
- "description": "Registry represents a single or multiple Quobyte Registry services specified as a string as host:port pair (multiple entries are separated with commas) which acts as the central registry for volumes",
+ "description": "registry represents a single or multiple Quobyte Registry services specified as a string as host:port pair (multiple entries are separated with commas) which acts as the central registry for volumes",
"type": "string"
},
"tenant": {
- "description": "Tenant owning the given Quobyte volume in the Backend Used with dynamically provisioned Quobyte volumes, value is set by the plugin",
+ "description": "tenant owning the given Quobyte volume in the Backend Used with dynamically provisioned Quobyte volumes, value is set by the plugin",
"type": "string"
},
"user": {
- "description": "User to map volume access to Defaults to serivceaccount user",
+ "description": "user to map volume access to Defaults to serivceaccount user",
"type": "string"
},
"volume": {
- "description": "Volume is a string that references an already created Quobyte volume by name.",
+ "description": "volume is a string that references an already created Quobyte volume by name.",
"type": "string"
}
},
@@ -10047,38 +10315,39 @@
"description": "Represents a Rados Block Device mount that lasts the lifetime of a pod. RBD volumes support ownership management and SELinux relabeling.",
"properties": {
"fsType": {
- "description": "Filesystem type of the volume that you want to mount. Tip: Ensure that the filesystem type is supported by the host operating system. Examples: \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified. More info: https://kubernetes.io/docs/concepts/storage/volumes#rbd",
+ "description": "fsType is the filesystem type of the volume that you want to mount. Tip: Ensure that the filesystem type is supported by the host operating system. Examples: \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified. More info: https://kubernetes.io/docs/concepts/storage/volumes#rbd",
"type": "string"
},
"image": {
- "description": "The rados image name. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it",
+ "description": "image is the rados image name. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it",
"type": "string"
},
"keyring": {
- "description": "Keyring is the path to key ring for RBDUser. Default is /etc/ceph/keyring. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it",
+ "description": "keyring is the path to key ring for RBDUser. Default is /etc/ceph/keyring. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it",
"type": "string"
},
"monitors": {
- "description": "A collection of Ceph monitors. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it",
+ "description": "monitors is a collection of Ceph monitors. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it",
"items": {
"type": "string"
},
- "type": "array"
+ "type": "array",
+ "x-kubernetes-list-type": "atomic"
},
"pool": {
- "description": "The rados pool name. Default is rbd. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it",
+ "description": "pool is the rados pool name. Default is rbd. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it",
"type": "string"
},
"readOnly": {
- "description": "ReadOnly here will force the ReadOnly setting in VolumeMounts. Defaults to false. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it",
+ "description": "readOnly here will force the ReadOnly setting in VolumeMounts. Defaults to false. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it",
"type": "boolean"
},
"secretRef": {
"$ref": "#/definitions/io.k8s.api.core.v1.LocalObjectReference",
- "description": "SecretRef is name of the authentication secret for RBDUser. If provided overrides keyring. Default is nil. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it"
+ "description": "secretRef is name of the authentication secret for RBDUser. If provided overrides keyring. Default is nil. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it"
},
"user": {
- "description": "The rados user name. Default is admin. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it",
+ "description": "user is the rados user name. Default is admin. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it",
"type": "string"
}
},
@@ -10088,6 +10357,19 @@
],
"type": "object"
},
+ "io.k8s.api.core.v1.ResourceClaim": {
+ "description": "ResourceClaim references one entry in PodSpec.ResourceClaims.",
+ "properties": {
+ "name": {
+ "description": "Name must match the name of one entry in pod.spec.resourceClaims of the Pod where this field is used. It makes that resource available inside a container.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "name"
+ ],
+ "type": "object"
+ },
"io.k8s.api.core.v1.ResourceFieldSelector": {
"description": "ResourceFieldSelector represents container resources (cpu, memory) and their output format",
"properties": {
@@ -10113,6 +10395,17 @@
"io.k8s.api.core.v1.ResourceRequirements": {
"description": "ResourceRequirements describes the compute resource requirements.",
"properties": {
+ "claims": {
+ "description": "Claims lists the names of resources, defined in spec.resourceClaims, that are used by this container.\n\nThis is an alpha field and requires enabling the DynamicResourceAllocation feature gate.\n\nThis field is immutable. It can only be set for containers.",
+ "items": {
+ "$ref": "#/definitions/io.k8s.api.core.v1.ResourceClaim"
+ },
+ "type": "array",
+ "x-kubernetes-list-map-keys": [
+ "name"
+ ],
+ "x-kubernetes-list-type": "map"
+ },
"limits": {
"additionalProperties": {
"$ref": "#/definitions/io.k8s.apimachinery.pkg.api.resource.Quantity"
@@ -10124,7 +10417,7 @@
"additionalProperties": {
"$ref": "#/definitions/io.k8s.apimachinery.pkg.api.resource.Quantity"
},
- "description": "Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/",
+ "description": "Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. Requests cannot exceed Limits. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/",
"type": "object"
}
},
@@ -10156,43 +10449,43 @@
"description": "ScaleIOVolumeSource represents a persistent ScaleIO volume",
"properties": {
"fsType": {
- "description": "Filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. \"ext4\", \"xfs\", \"ntfs\". Default is \"xfs\".",
+ "description": "fsType is the filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. \"ext4\", \"xfs\", \"ntfs\". Default is \"xfs\".",
"type": "string"
},
"gateway": {
- "description": "The host address of the ScaleIO API Gateway.",
+ "description": "gateway is the host address of the ScaleIO API Gateway.",
"type": "string"
},
"protectionDomain": {
- "description": "The name of the ScaleIO Protection Domain for the configured storage.",
+ "description": "protectionDomain is the name of the ScaleIO Protection Domain for the configured storage.",
"type": "string"
},
"readOnly": {
- "description": "Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts.",
+ "description": "readOnly Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts.",
"type": "boolean"
},
"secretRef": {
"$ref": "#/definitions/io.k8s.api.core.v1.LocalObjectReference",
- "description": "SecretRef references to the secret for ScaleIO user and other sensitive information. If this is not provided, Login operation will fail."
+ "description": "secretRef references to the secret for ScaleIO user and other sensitive information. If this is not provided, Login operation will fail."
},
"sslEnabled": {
- "description": "Flag to enable/disable SSL communication with Gateway, default false",
+ "description": "sslEnabled Flag enable/disable SSL communication with Gateway, default false",
"type": "boolean"
},
"storageMode": {
- "description": "Indicates whether the storage for a volume should be ThickProvisioned or ThinProvisioned. Default is ThinProvisioned.",
+ "description": "storageMode indicates whether the storage for a volume should be ThickProvisioned or ThinProvisioned. Default is ThinProvisioned.",
"type": "string"
},
"storagePool": {
- "description": "The ScaleIO Storage Pool associated with the protection domain.",
+ "description": "storagePool is the ScaleIO Storage Pool associated with the protection domain.",
"type": "string"
},
"system": {
- "description": "The name of the storage system as configured in ScaleIO.",
+ "description": "system is the name of the storage system as configured in ScaleIO.",
"type": "string"
},
"volumeName": {
- "description": "The name of a volume already created in the ScaleIO system that is associated with this volume source.",
+ "description": "volumeName is the name of a volume already created in the ScaleIO system that is associated with this volume source.",
"type": "string"
}
},
@@ -10207,16 +10500,11 @@
"description": "SeccompProfile defines a pod/container's seccomp profile settings. Only one profile source may be set.",
"properties": {
"localhostProfile": {
- "description": "localhostProfile indicates a profile defined in a file on the node should be used. The profile must be preconfigured on the node to work. Must be a descending path, relative to the kubelet's configured seccomp profile location. Must only be set if type is \"Localhost\".",
+ "description": "localhostProfile indicates a profile defined in a file on the node should be used. The profile must be preconfigured on the node to work. Must be a descending path, relative to the kubelet's configured seccomp profile location. Must be set if type is \"Localhost\". Must NOT be set for any other type.",
"type": "string"
},
"type": {
- "description": "type indicates which kind of seccomp profile will be applied. Valid options are:\n\nLocalhost - a profile defined in a file on the node should be used. RuntimeDefault - the container runtime default profile should be used. Unconfined - no profile should be applied.\n\nPossible enum values:\n - `\"Localhost\"` indicates a profile defined in a file on the node should be used. The file's location relative to \u003ckubelet-root-dir\u003e/seccomp.\n - `\"RuntimeDefault\"` represents the default container runtime seccomp profile.\n - `\"Unconfined\"` indicates no seccomp profile is applied (A.K.A. unconfined).",
- "enum": [
- "Localhost",
- "RuntimeDefault",
- "Unconfined"
- ],
+ "description": "type indicates which kind of seccomp profile will be applied. Valid options are:\n\nLocalhost - a profile defined in a file on the node should be used. RuntimeDefault - the container runtime default profile should be used. Unconfined - no profile should be applied.",
"type": "string"
}
},
@@ -10237,7 +10525,7 @@
"description": "SecretEnvSource selects a Secret to populate the environment variables with.\n\nThe contents of the target Secret's Data field will represent the key-value pairs as environment variables.",
"properties": {
"name": {
- "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
+ "description": "Name of the referent. This field is effectively required, but due to backwards compatibility is allowed to be empty. Instances of this type with an empty value here are almost certainly wrong. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
"type": "string"
},
"optional": {
@@ -10255,7 +10543,7 @@
"type": "string"
},
"name": {
- "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
+ "description": "Name of the referent. This field is effectively required, but due to backwards compatibility is allowed to be empty. Instances of this type with an empty value here are almost certainly wrong. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
"type": "string"
},
"optional": {
@@ -10273,18 +10561,19 @@
"description": "Adapts a secret into a projected volume.\n\nThe contents of the target Secret's Data field will be presented in a projected volume as files using the keys in the Data field as the file names. Note that this is identical to a secret volume source without the default mode.",
"properties": {
"items": {
- "description": "If unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'.",
+ "description": "items if unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'.",
"items": {
"$ref": "#/definitions/io.k8s.api.core.v1.KeyToPath"
},
- "type": "array"
+ "type": "array",
+ "x-kubernetes-list-type": "atomic"
},
"name": {
- "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
+ "description": "Name of the referent. This field is effectively required, but due to backwards compatibility is allowed to be empty. Instances of this type with an empty value here are almost certainly wrong. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
"type": "string"
},
"optional": {
- "description": "Specify whether the Secret or its key must be defined",
+ "description": "optional field specify whether the Secret or its key must be defined",
"type": "boolean"
}
},
@@ -10294,22 +10583,23 @@
"description": "Adapts a Secret into a volume.\n\nThe contents of the target Secret's Data field will be presented in a volume as files using the keys in the Data field as the file names. Secret volumes support ownership management and SELinux relabeling.",
"properties": {
"defaultMode": {
- "description": "Optional: mode bits used to set permissions on created files by default. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.",
+ "description": "defaultMode is Optional: mode bits used to set permissions on created files by default. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.",
"type": "integer"
},
"items": {
- "description": "If unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'.",
+ "description": "items If unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'.",
"items": {
"$ref": "#/definitions/io.k8s.api.core.v1.KeyToPath"
},
- "type": "array"
+ "type": "array",
+ "x-kubernetes-list-type": "atomic"
},
"optional": {
- "description": "Specify whether the Secret or its keys must be defined",
+ "description": "optional field specify whether the Secret or its keys must be defined",
"type": "boolean"
},
"secretName": {
- "description": "Name of the secret in the pod's namespace to use. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret",
+ "description": "secretName is the name of the secret in the pod's namespace to use. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret",
"type": "string"
}
},
@@ -10322,6 +10612,10 @@
"description": "AllowPrivilegeEscalation controls whether a process can gain more privileges than its parent process. This bool directly controls if the no_new_privs flag will be set on the container process. AllowPrivilegeEscalation is true always when the container is: 1) run as Privileged 2) has CAP_SYS_ADMIN Note that this field cannot be set when spec.os.name is windows.",
"type": "boolean"
},
+ "appArmorProfile": {
+ "$ref": "#/definitions/io.k8s.api.core.v1.AppArmorProfile",
+ "description": "appArmorProfile is the AppArmor options to use by this container. If set, this profile overrides the pod's appArmorProfile. Note that this field cannot be set when spec.os.name is windows."
+ },
"capabilities": {
"$ref": "#/definitions/io.k8s.api.core.v1.Capabilities",
"description": "The capabilities to add/drop when running containers. Defaults to the default set of capabilities granted by the container runtime. Note that this field cannot be set when spec.os.name is windows."
@@ -10369,15 +10663,15 @@
"description": "ServiceAccountTokenProjection represents a projected service account token volume. This projection can be used to insert a service account token into the pods runtime filesystem for use against APIs (Kubernetes API Server or otherwise).",
"properties": {
"audience": {
- "description": "Audience is the intended audience of the token. A recipient of a token must identify itself with an identifier specified in the audience of the token, and otherwise should reject the token. The audience defaults to the identifier of the apiserver.",
+ "description": "audience is the intended audience of the token. A recipient of a token must identify itself with an identifier specified in the audience of the token, and otherwise should reject the token. The audience defaults to the identifier of the apiserver.",
"type": "string"
},
"expirationSeconds": {
- "description": "ExpirationSeconds is the requested duration of validity of the service account token. As the token approaches expiration, the kubelet volume plugin will proactively rotate the service account token. The kubelet will start trying to rotate the token if the token is older than 80 percent of its time to live or if the token is older than 24 hours.Defaults to 1 hour and must be at least 10 minutes.",
+ "description": "expirationSeconds is the requested duration of validity of the service account token. As the token approaches expiration, the kubelet volume plugin will proactively rotate the service account token. The kubelet will start trying to rotate the token if the token is older than 80 percent of its time to live or if the token is older than 24 hours.Defaults to 1 hour and must be at least 10 minutes.",
"type": "integer"
},
"path": {
- "description": "Path is the path relative to the mount point of the file to project the token into.",
+ "description": "path is the path relative to the mount point of the file to project the token into.",
"type": "string"
}
},
@@ -10390,7 +10684,7 @@
"description": "ServicePort contains information on service's port.",
"properties": {
"appProtocol": {
- "description": "The application protocol for this port. This field follows standard Kubernetes label syntax. Un-prefixed names are reserved for IANA standard service names (as per RFC-6335 and http://www.iana.org/assignments/service-names). Non-standard protocols should use prefixed names such as mycompany.com/my-custom-protocol.",
+ "description": "The application protocol for this port. This is used as a hint for implementations to offer richer behavior for protocols that they understand. This field follows standard Kubernetes label syntax. Valid values are either:\n\n* Un-prefixed protocol names - reserved for IANA standard service names (as per RFC-6335 and https://www.iana.org/assignments/service-names).\n\n* Kubernetes-defined prefixed names:\n * 'kubernetes.io/h2c' - HTTP/2 prior knowledge over cleartext as described in https://www.rfc-editor.org/rfc/rfc9113.html#name-starting-http-2-with-prior-\n * 'kubernetes.io/ws' - WebSocket over cleartext as described in https://www.rfc-editor.org/rfc/rfc6455\n * 'kubernetes.io/wss' - WebSocket over TLS as described in https://www.rfc-editor.org/rfc/rfc6455\n\n* Other protocols should use implementation-defined prefixed names such as mycompany.com/my-custom-protocol.",
"type": "string"
},
"name": {
@@ -10406,12 +10700,7 @@
"type": "integer"
},
"protocol": {
- "description": "The IP protocol for this port. Supports \"TCP\", \"UDP\", and \"SCTP\". Default is TCP.\n\nPossible enum values:\n - `\"SCTP\"` is the SCTP protocol.\n - `\"TCP\"` is the TCP protocol.\n - `\"UDP\"` is the UDP protocol.",
- "enum": [
- "SCTP",
- "TCP",
- "UDP"
- ],
+ "description": "The IP protocol for this port. Supports \"TCP\", \"UDP\", and \"SCTP\". Default is TCP.",
"type": "string"
},
"targetPort": {
@@ -10424,27 +10713,40 @@
],
"type": "object"
},
+ "io.k8s.api.core.v1.SleepAction": {
+ "description": "SleepAction describes a \"sleep\" action.",
+ "properties": {
+ "seconds": {
+ "description": "Seconds is the number of seconds to sleep.",
+ "type": "integer"
+ }
+ },
+ "required": [
+ "seconds"
+ ],
+ "type": "object"
+ },
"io.k8s.api.core.v1.StorageOSVolumeSource": {
"description": "Represents a StorageOS persistent volume resource.",
"properties": {
"fsType": {
- "description": "Filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified.",
+ "description": "fsType is the filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified.",
"type": "string"
},
"readOnly": {
- "description": "Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts.",
+ "description": "readOnly defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts.",
"type": "boolean"
},
"secretRef": {
"$ref": "#/definitions/io.k8s.api.core.v1.LocalObjectReference",
- "description": "SecretRef specifies the secret to use for obtaining the StorageOS API credentials. If not specified, default values will be attempted."
+ "description": "secretRef specifies the secret to use for obtaining the StorageOS API credentials. If not specified, default values will be attempted."
},
"volumeName": {
- "description": "VolumeName is the human-readable name of the StorageOS volume. Volume names are only unique within a namespace.",
+ "description": "volumeName is the human-readable name of the StorageOS volume. Volume names are only unique within a namespace.",
"type": "string"
},
"volumeNamespace": {
- "description": "VolumeNamespace specifies the scope of the volume within StorageOS. If no namespace is specified then the Pod's namespace will be used. This allows the Kubernetes name scoping to be mirrored within StorageOS for tighter integration. Set VolumeName to any name to override the default behaviour. Set to \"default\" if you are not using namespaces within StorageOS. Namespaces that do not pre-exist within StorageOS will be created.",
+ "description": "volumeNamespace specifies the scope of the volume within StorageOS. If no namespace is specified then the Pod's namespace will be used. This allows the Kubernetes name scoping to be mirrored within StorageOS for tighter integration. Set VolumeName to any name to override the default behaviour. Set to \"default\" if you are not using namespaces within StorageOS. Namespaces that do not pre-exist within StorageOS will be created.",
"type": "string"
}
},
@@ -10489,12 +10791,7 @@
"description": "The pod this Toleration is attached to tolerates any taint that matches the triple \u003ckey,value,effect\u003e using the matching operator \u003coperator\u003e.",
"properties": {
"effect": {
- "description": "Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.\n\nPossible enum values:\n - `\"NoExecute\"` Evict any already-running pods that do not tolerate the taint. Currently enforced by NodeController.\n - `\"NoSchedule\"` Do not allow new pods to schedule onto the node unless they tolerate the taint, but allow all pods submitted to Kubelet without going through the scheduler to start, and allow all already-running pods to continue running. Enforced by the scheduler.\n - `\"PreferNoSchedule\"` Like TaintEffectNoSchedule, but the scheduler tries not to schedule new pods onto the node, rather than prohibiting new pods from scheduling onto the node entirely. Enforced by the scheduler.",
- "enum": [
- "NoExecute",
- "NoSchedule",
- "PreferNoSchedule"
- ],
+ "description": "Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.",
"type": "string"
},
"key": {
@@ -10502,11 +10799,7 @@
"type": "string"
},
"operator": {
- "description": "Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category.\n\nPossible enum values:\n - `\"Equal\"`\n - `\"Exists\"`",
- "enum": [
- "Equal",
- "Exists"
- ],
+ "description": "Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category.",
"type": "string"
},
"tolerationSeconds": {
@@ -10543,128 +10836,153 @@
"type": "object",
"x-kubernetes-map-type": "atomic"
},
+ "io.k8s.api.core.v1.TypedObjectReference": {
+ "properties": {
+ "apiGroup": {
+ "description": "APIGroup is the group for the resource being referenced. If APIGroup is not specified, the specified Kind must be in the core API group. For any other third-party types, APIGroup is required.",
+ "type": "string"
+ },
+ "kind": {
+ "description": "Kind is the type of resource being referenced",
+ "type": "string"
+ },
+ "name": {
+ "description": "Name is the name of resource being referenced",
+ "type": "string"
+ },
+ "namespace": {
+ "description": "Namespace is the namespace of resource being referenced Note that when a namespace is specified, a gateway.networking.k8s.io/ReferenceGrant object is required in the referent namespace to allow that namespace's owner to accept the reference. See the ReferenceGrant documentation for details. (Alpha) This field requires the CrossNamespaceVolumeDataSource feature gate to be enabled.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "kind",
+ "name"
+ ],
+ "type": "object"
+ },
"io.k8s.api.core.v1.Volume": {
"description": "Volume represents a named volume in a pod that may be accessed by any container in the pod.",
"properties": {
"awsElasticBlockStore": {
"$ref": "#/definitions/io.k8s.api.core.v1.AWSElasticBlockStoreVolumeSource",
- "description": "AWSElasticBlockStore represents an AWS Disk resource that is attached to a kubelet's host machine and then exposed to the pod. More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore"
+ "description": "awsElasticBlockStore represents an AWS Disk resource that is attached to a kubelet's host machine and then exposed to the pod. More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore"
},
"azureDisk": {
"$ref": "#/definitions/io.k8s.api.core.v1.AzureDiskVolumeSource",
- "description": "AzureDisk represents an Azure Data Disk mount on the host and bind mount to the pod."
+ "description": "azureDisk represents an Azure Data Disk mount on the host and bind mount to the pod."
},
"azureFile": {
"$ref": "#/definitions/io.k8s.api.core.v1.AzureFileVolumeSource",
- "description": "AzureFile represents an Azure File Service mount on the host and bind mount to the pod."
+ "description": "azureFile represents an Azure File Service mount on the host and bind mount to the pod."
},
"cephfs": {
"$ref": "#/definitions/io.k8s.api.core.v1.CephFSVolumeSource",
- "description": "CephFS represents a Ceph FS mount on the host that shares a pod's lifetime"
+ "description": "cephFS represents a Ceph FS mount on the host that shares a pod's lifetime"
},
"cinder": {
"$ref": "#/definitions/io.k8s.api.core.v1.CinderVolumeSource",
- "description": "Cinder represents a cinder volume attached and mounted on kubelets host machine. More info: https://examples.k8s.io/mysql-cinder-pd/README.md"
+ "description": "cinder represents a cinder volume attached and mounted on kubelets host machine. More info: https://examples.k8s.io/mysql-cinder-pd/README.md"
},
"configMap": {
"$ref": "#/definitions/io.k8s.api.core.v1.ConfigMapVolumeSource",
- "description": "ConfigMap represents a configMap that should populate this volume"
+ "description": "configMap represents a configMap that should populate this volume"
},
"csi": {
"$ref": "#/definitions/io.k8s.api.core.v1.CSIVolumeSource",
- "description": "CSI (Container Storage Interface) represents ephemeral storage that is handled by certain external CSI drivers (Beta feature)."
+ "description": "csi (Container Storage Interface) represents ephemeral storage that is handled by certain external CSI drivers (Beta feature)."
},
"downwardAPI": {
"$ref": "#/definitions/io.k8s.api.core.v1.DownwardAPIVolumeSource",
- "description": "DownwardAPI represents downward API about the pod that should populate this volume"
+ "description": "downwardAPI represents downward API about the pod that should populate this volume"
},
"emptyDir": {
"$ref": "#/definitions/io.k8s.api.core.v1.EmptyDirVolumeSource",
- "description": "EmptyDir represents a temporary directory that shares a pod's lifetime. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir"
+ "description": "emptyDir represents a temporary directory that shares a pod's lifetime. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir"
},
"ephemeral": {
"$ref": "#/definitions/io.k8s.api.core.v1.EphemeralVolumeSource",
- "description": "Ephemeral represents a volume that is handled by a cluster storage driver. The volume's lifecycle is tied to the pod that defines it - it will be created before the pod starts, and deleted when the pod is removed.\n\nUse this if: a) the volume is only needed while the pod runs, b) features of normal volumes like restoring from snapshot or capacity\n tracking are needed,\nc) the storage driver is specified through a storage class, and d) the storage driver supports dynamic volume provisioning through\n a PersistentVolumeClaim (see EphemeralVolumeSource for more\n information on the connection between this volume type\n and PersistentVolumeClaim).\n\nUse PersistentVolumeClaim or one of the vendor-specific APIs for volumes that persist for longer than the lifecycle of an individual pod.\n\nUse CSI for light-weight local ephemeral volumes if the CSI driver is meant to be used that way - see the documentation of the driver for more information.\n\nA pod can use both types of ephemeral volumes and persistent volumes at the same time."
+ "description": "ephemeral represents a volume that is handled by a cluster storage driver. The volume's lifecycle is tied to the pod that defines it - it will be created before the pod starts, and deleted when the pod is removed.\n\nUse this if: a) the volume is only needed while the pod runs, b) features of normal volumes like restoring from snapshot or capacity\n tracking are needed,\nc) the storage driver is specified through a storage class, and d) the storage driver supports dynamic volume provisioning through\n a PersistentVolumeClaim (see EphemeralVolumeSource for more\n information on the connection between this volume type\n and PersistentVolumeClaim).\n\nUse PersistentVolumeClaim or one of the vendor-specific APIs for volumes that persist for longer than the lifecycle of an individual pod.\n\nUse CSI for light-weight local ephemeral volumes if the CSI driver is meant to be used that way - see the documentation of the driver for more information.\n\nA pod can use both types of ephemeral volumes and persistent volumes at the same time."
},
"fc": {
"$ref": "#/definitions/io.k8s.api.core.v1.FCVolumeSource",
- "description": "FC represents a Fibre Channel resource that is attached to a kubelet's host machine and then exposed to the pod."
+ "description": "fc represents a Fibre Channel resource that is attached to a kubelet's host machine and then exposed to the pod."
},
"flexVolume": {
"$ref": "#/definitions/io.k8s.api.core.v1.FlexVolumeSource",
- "description": "FlexVolume represents a generic volume resource that is provisioned/attached using an exec based plugin."
+ "description": "flexVolume represents a generic volume resource that is provisioned/attached using an exec based plugin."
},
"flocker": {
"$ref": "#/definitions/io.k8s.api.core.v1.FlockerVolumeSource",
- "description": "Flocker represents a Flocker volume attached to a kubelet's host machine. This depends on the Flocker control service being running"
+ "description": "flocker represents a Flocker volume attached to a kubelet's host machine. This depends on the Flocker control service being running"
},
"gcePersistentDisk": {
"$ref": "#/definitions/io.k8s.api.core.v1.GCEPersistentDiskVolumeSource",
- "description": "GCEPersistentDisk represents a GCE Disk resource that is attached to a kubelet's host machine and then exposed to the pod. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk"
+ "description": "gcePersistentDisk represents a GCE Disk resource that is attached to a kubelet's host machine and then exposed to the pod. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk"
},
"gitRepo": {
"$ref": "#/definitions/io.k8s.api.core.v1.GitRepoVolumeSource",
- "description": "GitRepo represents a git repository at a particular revision. DEPRECATED: GitRepo is deprecated. To provision a container with a git repo, mount an EmptyDir into an InitContainer that clones the repo using git, then mount the EmptyDir into the Pod's container."
+ "description": "gitRepo represents a git repository at a particular revision. DEPRECATED: GitRepo is deprecated. To provision a container with a git repo, mount an EmptyDir into an InitContainer that clones the repo using git, then mount the EmptyDir into the Pod's container."
},
"glusterfs": {
"$ref": "#/definitions/io.k8s.api.core.v1.GlusterfsVolumeSource",
- "description": "Glusterfs represents a Glusterfs mount on the host that shares a pod's lifetime. More info: https://examples.k8s.io/volumes/glusterfs/README.md"
+ "description": "glusterfs represents a Glusterfs mount on the host that shares a pod's lifetime. More info: https://examples.k8s.io/volumes/glusterfs/README.md"
},
"hostPath": {
"$ref": "#/definitions/io.k8s.api.core.v1.HostPathVolumeSource",
- "description": "HostPath represents a pre-existing file or directory on the host machine that is directly exposed to the container. This is generally used for system agents or other privileged things that are allowed to see the host machine. Most containers will NOT need this. More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath"
+ "description": "hostPath represents a pre-existing file or directory on the host machine that is directly exposed to the container. This is generally used for system agents or other privileged things that are allowed to see the host machine. Most containers will NOT need this. More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath"
},
"iscsi": {
"$ref": "#/definitions/io.k8s.api.core.v1.ISCSIVolumeSource",
- "description": "ISCSI represents an ISCSI Disk resource that is attached to a kubelet's host machine and then exposed to the pod. More info: https://examples.k8s.io/volumes/iscsi/README.md"
+ "description": "iscsi represents an ISCSI Disk resource that is attached to a kubelet's host machine and then exposed to the pod. More info: https://examples.k8s.io/volumes/iscsi/README.md"
},
"name": {
- "description": "Volume's name. Must be a DNS_LABEL and unique within the pod. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
+ "description": "name of the volume. Must be a DNS_LABEL and unique within the pod. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
"type": "string"
},
"nfs": {
"$ref": "#/definitions/io.k8s.api.core.v1.NFSVolumeSource",
- "description": "NFS represents an NFS mount on the host that shares a pod's lifetime More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs"
+ "description": "nfs represents an NFS mount on the host that shares a pod's lifetime More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs"
},
"persistentVolumeClaim": {
"$ref": "#/definitions/io.k8s.api.core.v1.PersistentVolumeClaimVolumeSource",
- "description": "PersistentVolumeClaimVolumeSource represents a reference to a PersistentVolumeClaim in the same namespace. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims"
+ "description": "persistentVolumeClaimVolumeSource represents a reference to a PersistentVolumeClaim in the same namespace. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims"
},
"photonPersistentDisk": {
"$ref": "#/definitions/io.k8s.api.core.v1.PhotonPersistentDiskVolumeSource",
- "description": "PhotonPersistentDisk represents a PhotonController persistent disk attached and mounted on kubelets host machine"
+ "description": "photonPersistentDisk represents a PhotonController persistent disk attached and mounted on kubelets host machine"
},
"portworxVolume": {
"$ref": "#/definitions/io.k8s.api.core.v1.PortworxVolumeSource",
- "description": "PortworxVolume represents a portworx volume attached and mounted on kubelets host machine"
+ "description": "portworxVolume represents a portworx volume attached and mounted on kubelets host machine"
},
"projected": {
"$ref": "#/definitions/io.k8s.api.core.v1.ProjectedVolumeSource",
- "description": "Items for all in one resources secrets, configmaps, and downward API"
+ "description": "projected items for all in one resources secrets, configmaps, and downward API"
},
"quobyte": {
"$ref": "#/definitions/io.k8s.api.core.v1.QuobyteVolumeSource",
- "description": "Quobyte represents a Quobyte mount on the host that shares a pod's lifetime"
+ "description": "quobyte represents a Quobyte mount on the host that shares a pod's lifetime"
},
"rbd": {
"$ref": "#/definitions/io.k8s.api.core.v1.RBDVolumeSource",
- "description": "RBD represents a Rados Block Device mount on the host that shares a pod's lifetime. More info: https://examples.k8s.io/volumes/rbd/README.md"
+ "description": "rbd represents a Rados Block Device mount on the host that shares a pod's lifetime. More info: https://examples.k8s.io/volumes/rbd/README.md"
},
"scaleIO": {
"$ref": "#/definitions/io.k8s.api.core.v1.ScaleIOVolumeSource",
- "description": "ScaleIO represents a ScaleIO persistent volume attached and mounted on Kubernetes nodes."
+ "description": "scaleIO represents a ScaleIO persistent volume attached and mounted on Kubernetes nodes."
},
"secret": {
"$ref": "#/definitions/io.k8s.api.core.v1.SecretVolumeSource",
- "description": "Secret represents a secret that should populate this volume. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret"
+ "description": "secret represents a secret that should populate this volume. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret"
},
"storageos": {
"$ref": "#/definitions/io.k8s.api.core.v1.StorageOSVolumeSource",
- "description": "StorageOS represents a StorageOS volume attached and mounted on Kubernetes nodes."
+ "description": "storageOS represents a StorageOS volume attached and mounted on Kubernetes nodes."
},
"vsphereVolume": {
"$ref": "#/definitions/io.k8s.api.core.v1.VsphereVirtualDiskVolumeSource",
- "description": "VsphereVolume represents a vSphere volume attached and mounted on kubelets host machine"
+ "description": "vsphereVolume represents a vSphere volume attached and mounted on kubelets host machine"
}
},
"required": [
@@ -10698,7 +11016,7 @@
"type": "string"
},
"mountPropagation": {
- "description": "mountPropagation determines how mounts are propagated from the host to container and the other way around. When not set, MountPropagationNone is used. This field is beta in 1.10.",
+ "description": "mountPropagation determines how mounts are propagated from the host to container and the other way around. When not set, MountPropagationNone is used. This field is beta in 1.10. When RecursiveReadOnly is set to IfPossible or to Enabled, MountPropagation must be None or unspecified (which defaults to None).",
"type": "string"
},
"name": {
@@ -10709,6 +11027,10 @@
"description": "Mounted read-only if true, read-write otherwise (false or unspecified). Defaults to false.",
"type": "boolean"
},
+ "recursiveReadOnly": {
+ "description": "RecursiveReadOnly specifies whether read-only mounts should be handled recursively.\n\nIf ReadOnly is false, this field has no meaning and must be unspecified.\n\nIf ReadOnly is true, and this field is set to Disabled, the mount is not made recursively read-only. If this field is set to IfPossible, the mount is made recursively read-only, if it is supported by the container runtime. If this field is set to Enabled, the mount is made recursively read-only if it is supported by the container runtime, otherwise the pod will not be started and an error will be generated to indicate the reason.\n\nIf this field is set to IfPossible or Enabled, MountPropagation must be set to None (or be unspecified, which defaults to None).\n\nIf this field is not specified, it is treated as an equivalent of Disabled.",
+ "type": "string"
+ },
"subPath": {
"description": "Path within the volume from which the container's volume should be mounted. Defaults to \"\" (volume's root).",
"type": "string"
@@ -10727,21 +11049,45 @@
"io.k8s.api.core.v1.VolumeProjection": {
"description": "Projection that may be projected along with other supported volume types",
"properties": {
+ "clusterTrustBundle": {
+ "$ref": "#/definitions/io.k8s.api.core.v1.ClusterTrustBundleProjection",
+ "description": "ClusterTrustBundle allows a pod to access the `.spec.trustBundle` field of ClusterTrustBundle objects in an auto-updating file.\n\nAlpha, gated by the ClusterTrustBundleProjection feature gate.\n\nClusterTrustBundle objects can either be selected by name, or by the combination of signer name and a label selector.\n\nKubelet performs aggressive normalization of the PEM contents written into the pod filesystem. Esoteric PEM features such as inter-block comments and block headers are stripped. Certificates are deduplicated. The ordering of certificates within the file is arbitrary, and Kubelet may change the order over time."
+ },
"configMap": {
"$ref": "#/definitions/io.k8s.api.core.v1.ConfigMapProjection",
- "description": "information about the configMap data to project"
+ "description": "configMap information about the configMap data to project"
},
"downwardAPI": {
"$ref": "#/definitions/io.k8s.api.core.v1.DownwardAPIProjection",
- "description": "information about the downwardAPI data to project"
+ "description": "downwardAPI information about the downwardAPI data to project"
},
"secret": {
"$ref": "#/definitions/io.k8s.api.core.v1.SecretProjection",
- "description": "information about the secret data to project"
+ "description": "secret information about the secret data to project"
},
"serviceAccountToken": {
"$ref": "#/definitions/io.k8s.api.core.v1.ServiceAccountTokenProjection",
- "description": "information about the serviceAccountToken data to project"
+ "description": "serviceAccountToken is information about the serviceAccountToken data to project"
+ }
+ },
+ "type": "object"
+ },
+ "io.k8s.api.core.v1.VolumeResourceRequirements": {
+ "description": "VolumeResourceRequirements describes the storage resource requirements for a volume.",
+ "properties": {
+ "limits": {
+ "additionalProperties": {
+ "$ref": "#/definitions/io.k8s.apimachinery.pkg.api.resource.Quantity"
+ },
+ "description": "Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/",
+ "type": "object"
+ },
+ "requests": {
+ "additionalProperties": {
+ "$ref": "#/definitions/io.k8s.apimachinery.pkg.api.resource.Quantity"
+ },
+ "description": "Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. Requests cannot exceed Limits. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/",
+ "type": "object"
}
},
"type": "object"
@@ -10750,19 +11096,19 @@
"description": "Represents a vSphere volume resource.",
"properties": {
"fsType": {
- "description": "Filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified.",
+ "description": "fsType is filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified.",
"type": "string"
},
"storagePolicyID": {
- "description": "Storage Policy Based Management (SPBM) profile ID associated with the StoragePolicyName.",
+ "description": "storagePolicyID is the storage Policy Based Management (SPBM) profile ID associated with the StoragePolicyName.",
"type": "string"
},
"storagePolicyName": {
- "description": "Storage Policy Based Management (SPBM) profile name.",
+ "description": "storagePolicyName is the storage Policy Based Management (SPBM) profile name.",
"type": "string"
},
"volumePath": {
- "description": "Path that identifies vSphere volume vmdk",
+ "description": "volumePath is the path that identifies vSphere volume vmdk",
"type": "string"
}
},
@@ -10801,7 +11147,7 @@
"type": "string"
},
"hostProcess": {
- "description": "HostProcess determines if a container should be run as a 'Host Process' container. This field is alpha-level and will only be honored by components that enable the WindowsHostProcessContainers feature flag. Setting this field without the feature flag will result in errors when validating the Pod. All of a Pod's containers must have the same effective HostProcess value (it is not allowed to have a mix of HostProcess containers and non-HostProcess containers). In addition, if HostProcess is true then HostNetwork must also be set to true.",
+ "description": "HostProcess determines if a container should be run as a 'Host Process' container. All of a Pod's containers must have the same effective HostProcess value (it is not allowed to have a mix of HostProcess containers and non-HostProcess containers). In addition, if HostProcess is true then HostNetwork must also be set to true.",
"type": "boolean"
},
"runAsUserName": {
@@ -10826,12 +11172,16 @@
"$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.LabelSelector",
"description": "Label query over pods whose evictions are managed by the disruption budget. A null selector will match no pods, while an empty ({}) selector will select all pods within the namespace.",
"x-kubernetes-patch-strategy": "replace"
+ },
+ "unhealthyPodEvictionPolicy": {
+ "description": "UnhealthyPodEvictionPolicy defines the criteria for when unhealthy pods should be considered for eviction. Current implementation considers healthy pods, as pods that have status.conditions item with type=\"Ready\",status=\"True\".\n\nValid policies are IfHealthyBudget and AlwaysAllow. If no policy is specified, the default behavior will be used, which corresponds to the IfHealthyBudget policy.\n\nIfHealthyBudget policy means that running pods (status.phase=\"Running\"), but not yet healthy can be evicted only if the guarded application is not disrupted (status.currentHealthy is at least equal to status.desiredHealthy). Healthy pods will be subject to the PDB for eviction.\n\nAlwaysAllow policy means that all running pods (status.phase=\"Running\"), but not yet healthy are considered disrupted and can be evicted regardless of whether the criteria in a PDB is met. This means perspective running pods of a disrupted application might not get a chance to become healthy. Healthy pods will be subject to the PDB for eviction.\n\nAdditional policies may be added in the future. Clients making eviction decisions should disallow eviction of unhealthy pods if they encounter an unrecognized policy in this field.\n\nThis field is beta-level. The eviction API uses this field when the feature gate PDBUnhealthyPodEvictionPolicy is enabled (enabled by default).",
+ "type": "string"
}
},
"type": "object"
},
"io.k8s.apimachinery.pkg.api.resource.Quantity": {
- "description": "Quantity is a fixed-point representation of a number. It provides convenient marshaling/unmarshaling in JSON and YAML, in addition to String() and AsInt64() accessors.\n\nThe serialization format is:\n\n\u003cquantity\u003e ::= \u003csignedNumber\u003e\u003csuffix\u003e\n (Note that \u003csuffix\u003e may be empty, from the \"\" case in \u003cdecimalSI\u003e.)\n\u003cdigit\u003e ::= 0 | 1 | ... | 9 \u003cdigits\u003e ::= \u003cdigit\u003e | \u003cdigit\u003e\u003cdigits\u003e \u003cnumber\u003e ::= \u003cdigits\u003e | \u003cdigits\u003e.\u003cdigits\u003e | \u003cdigits\u003e. | .\u003cdigits\u003e \u003csign\u003e ::= \"+\" | \"-\" \u003csignedNumber\u003e ::= \u003cnumber\u003e | \u003csign\u003e\u003cnumber\u003e \u003csuffix\u003e ::= \u003cbinarySI\u003e | \u003cdecimalExponent\u003e | \u003cdecimalSI\u003e \u003cbinarySI\u003e ::= Ki | Mi | Gi | Ti | Pi | Ei\n (International System of units; See: http://physics.nist.gov/cuu/Units/binary.html)\n\u003cdecimalSI\u003e ::= m | \"\" | k | M | G | T | P | E\n (Note that 1024 = 1Ki but 1000 = 1k; I didn't choose the capitalization.)\n\u003cdecimalExponent\u003e ::= \"e\" \u003csignedNumber\u003e | \"E\" \u003csignedNumber\u003e\n\nNo matter which of the three exponent forms is used, no quantity may represent a number greater than 2^63-1 in magnitude, nor may it have more than 3 decimal places. Numbers larger or more precise will be capped or rounded up. (E.g.: 0.1m will rounded up to 1m.) This may be extended in the future if we require larger or smaller quantities.\n\nWhen a Quantity is parsed from a string, it will remember the type of suffix it had, and will use the same type again when it is serialized.\n\nBefore serializing, Quantity will be put in \"canonical form\". This means that Exponent/suffix will be adjusted up or down (with a corresponding increase or decrease in Mantissa) such that:\n a. No precision is lost\n b. No fractional digits will be emitted\n c. The exponent (or suffix) is as large as possible.\nThe sign will be omitted unless the number is negative.\n\nExamples:\n 1.5 will be serialized as \"1500m\"\n 1.5Gi will be serialized as \"1536Mi\"\n\nNote that the quantity will NEVER be internally represented by a floating point number. That is the whole point of this exercise.\n\nNon-canonical values will still parse as long as they are well formed, but will be re-emitted in their canonical form. (So always use canonical form, or don't diff.)\n\nThis format is intended to make it difficult to use these numbers without writing some sort of special handling code in the hopes that that will cause implementors to also use a fixed point implementation.",
+ "description": "Quantity is a fixed-point representation of a number. It provides convenient marshaling/unmarshaling in JSON and YAML, in addition to String() and AsInt64() accessors.\n\nThe serialization format is:\n\n``` \u003cquantity\u003e ::= \u003csignedNumber\u003e\u003csuffix\u003e\n\n\t(Note that \u003csuffix\u003e may be empty, from the \"\" case in \u003cdecimalSI\u003e.)\n\n\u003cdigit\u003e ::= 0 | 1 | ... | 9 \u003cdigits\u003e ::= \u003cdigit\u003e | \u003cdigit\u003e\u003cdigits\u003e \u003cnumber\u003e ::= \u003cdigits\u003e | \u003cdigits\u003e.\u003cdigits\u003e | \u003cdigits\u003e. | .\u003cdigits\u003e \u003csign\u003e ::= \"+\" | \"-\" \u003csignedNumber\u003e ::= \u003cnumber\u003e | \u003csign\u003e\u003cnumber\u003e \u003csuffix\u003e ::= \u003cbinarySI\u003e | \u003cdecimalExponent\u003e | \u003cdecimalSI\u003e \u003cbinarySI\u003e ::= Ki | Mi | Gi | Ti | Pi | Ei\n\n\t(International System of units; See: http://physics.nist.gov/cuu/Units/binary.html)\n\n\u003cdecimalSI\u003e ::= m | \"\" | k | M | G | T | P | E\n\n\t(Note that 1024 = 1Ki but 1000 = 1k; I didn't choose the capitalization.)\n\n\u003cdecimalExponent\u003e ::= \"e\" \u003csignedNumber\u003e | \"E\" \u003csignedNumber\u003e ```\n\nNo matter which of the three exponent forms is used, no quantity may represent a number greater than 2^63-1 in magnitude, nor may it have more than 3 decimal places. Numbers larger or more precise will be capped or rounded up. (E.g.: 0.1m will rounded up to 1m.) This may be extended in the future if we require larger or smaller quantities.\n\nWhen a Quantity is parsed from a string, it will remember the type of suffix it had, and will use the same type again when it is serialized.\n\nBefore serializing, Quantity will be put in \"canonical form\". This means that Exponent/suffix will be adjusted up or down (with a corresponding increase or decrease in Mantissa) such that:\n\n- No precision is lost - No fractional digits will be emitted - The exponent (or suffix) is as large as possible.\n\nThe sign will be omitted unless the number is negative.\n\nExamples:\n\n- 1.5 will be serialized as \"1500m\" - 1.5Gi will be serialized as \"1536Mi\"\n\nNote that the quantity will NEVER be internally represented by a floating point number. That is the whole point of this exercise.\n\nNon-canonical values will still parse as long as they are well formed, but will be re-emitted in their canonical form. (So always use canonical form, or don't diff.)\n\nThis format is intended to make it difficult to use these numbers without writing some sort of special handling code in the hopes that that will cause implementors to also use a fixed point implementation.",
"type": "string"
},
"io.k8s.apimachinery.pkg.apis.meta.v1.CreateOptions": {
@@ -10841,7 +11191,7 @@
"items": {
"type": "string"
},
- "title": "When present, indicates that modifications should not be\npersisted. An invalid or unrecognized dryRun directive will\nresult in an error response and no further processing of the\nrequest. Valid values are:\n- All: all dry run stages will be processed\n+optional",
+ "title": "When present, indicates that modifications should not be\npersisted. An invalid or unrecognized dryRun directive will\nresult in an error response and no further processing of the\nrequest. Valid values are:\n- All: all dry run stages will be processed\n+optional\n+listType=atomic",
"type": "array"
},
"fieldManager": {
@@ -10849,7 +11199,7 @@
"type": "string"
},
"fieldValidation": {
- "title": "fieldValidation instructs the server on how to handle\nobjects in the request (POST/PUT/PATCH) containing unknown\nor duplicate fields, provided that the `ServerSideFieldValidation`\nfeature gate is also enabled. Valid values are:\n- Ignore: This will ignore any unknown fields that are silently\ndropped from the object, and will ignore all but the last duplicate\nfield that the decoder encounters. This is the default behavior\nprior to v1.23 and is the default behavior when the\n`ServerSideFieldValidation` feature gate is disabled.\n- Warn: This will send a warning via the standard warning response\nheader for each unknown field that is dropped from the object, and\nfor each duplicate field that is encountered. The request will\nstill succeed if there are no other errors, and will only persist\nthe last of any duplicate fields. This is the default when the\n`ServerSideFieldValidation` feature gate is enabled.\n- Strict: This will fail the request with a BadRequest error if\nany unknown fields would be dropped from the object, or if any\nduplicate fields are present. The error returned from the server\nwill contain all unknown and duplicate fields encountered.\n+optional",
+ "title": "fieldValidation instructs the server on how to handle\nobjects in the request (POST/PUT/PATCH) containing unknown\nor duplicate fields. Valid values are:\n- Ignore: This will ignore any unknown fields that are silently\ndropped from the object, and will ignore all but the last duplicate\nfield that the decoder encounters. This is the default behavior\nprior to v1.23.\n- Warn: This will send a warning via the standard warning response\nheader for each unknown field that is dropped from the object, and\nfor each duplicate field that is encountered. The request will\nstill succeed if there are no other errors, and will only persist\nthe last of any duplicate fields. This is the default in v1.23+\n- Strict: This will fail the request with a BadRequest error if\nany unknown fields would be dropped from the object, or if any\nduplicate fields are present. The error returned from the server\nwill contain all unknown and duplicate fields encountered.\n+optional",
"type": "string"
}
},
@@ -10883,7 +11233,8 @@
"items": {
"$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.LabelSelectorRequirement"
},
- "type": "array"
+ "type": "array",
+ "x-kubernetes-list-type": "atomic"
},
"matchLabels": {
"additionalProperties": {
@@ -10901,9 +11252,7 @@
"properties": {
"key": {
"description": "key is the label key that the selector applies to.",
- "type": "string",
- "x-kubernetes-patch-merge-key": "key",
- "x-kubernetes-patch-strategy": "merge"
+ "type": "string"
},
"operator": {
"description": "operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.",
@@ -10914,7 +11263,8 @@
"items": {
"type": "string"
},
- "type": "array"
+ "type": "array",
+ "x-kubernetes-list-type": "atomic"
}
},
"required": [
@@ -10939,7 +11289,7 @@
"type": "string"
},
"selfLink": {
- "description": "selfLink is a URL representing this object. Populated by the system. Read-only.\n\nDEPRECATED Kubernetes will stop propagating this field in 1.20 release and the field is planned to be removed in 1.21 release.",
+ "description": "Deprecated: selfLink is a legacy read-only field that is no longer populated by the system.",
"type": "string"
}
},
@@ -10974,7 +11324,7 @@
},
"time": {
"$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Time",
- "description": "Time is timestamp of when these fields were set. It should always be empty if Operation is 'Apply'"
+ "description": "Time is the timestamp of when the ManagedFields entry was added. The timestamp will also be updated if a field is added, the manager changes any of the owned fields value or removes a field. The timestamp does not update when a field is removed from the entry because another manager took it over."
}
},
"type": "object"
@@ -10991,13 +11341,9 @@
"additionalProperties": {
"type": "string"
},
- "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations",
+ "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations",
"type": "object"
},
- "clusterName": {
- "description": "The name of the cluster which the object belongs to. This is used to distinguish resources with same name and namespace in different clusters. This field is not set anywhere right now and apiserver is going to ignore it if set in create or update request.",
- "type": "string"
- },
"creationTimestamp": {
"$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Time",
"description": "CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC.\n\nPopulated by the system. Read-only. Null for lists. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata"
@@ -11016,10 +11362,11 @@
"type": "string"
},
"type": "array",
+ "x-kubernetes-list-type": "set",
"x-kubernetes-patch-strategy": "merge"
},
"generateName": {
- "description": "GenerateName is an optional prefix, used by the server, to generate a unique name ONLY IF the Name field has not been provided. If this field is used, the name returned to the client will be different than the name passed. This value will also be combined with a unique suffix. The provided value has the same validation rules as the Name field, and may be truncated by the length of the suffix required to make the value unique on the server.\n\nIf this field is specified and the generated name exists, the server will NOT return a 409 - instead, it will either return 201 Created or 500 with Reason ServerTimeout indicating a unique name could not be found in the time allotted, and the client should retry (optionally after the time indicated in the Retry-After header).\n\nApplied only if Name is not specified. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#idempotency",
+ "description": "GenerateName is an optional prefix, used by the server, to generate a unique name ONLY IF the Name field has not been provided. If this field is used, the name returned to the client will be different than the name passed. This value will also be combined with a unique suffix. The provided value has the same validation rules as the Name field, and may be truncated by the length of the suffix required to make the value unique on the server.\n\nIf this field is specified and the generated name exists, the server will return a 409.\n\nApplied only if Name is not specified. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#idempotency",
"type": "string"
},
"generation": {
@@ -11030,7 +11377,7 @@
"additionalProperties": {
"type": "string"
},
- "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels",
+ "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels",
"type": "object"
},
"managedFields": {
@@ -11038,14 +11385,15 @@
"items": {
"$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ManagedFieldsEntry"
},
- "type": "array"
+ "type": "array",
+ "x-kubernetes-list-type": "atomic"
},
"name": {
- "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names",
+ "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#names",
"type": "string"
},
"namespace": {
- "description": "Namespace defines the space within which each name must be unique. An empty namespace is equivalent to the \"default\" namespace, but \"default\" is the canonical representation. Not all objects are required to be scoped to a namespace - the value of this field for those objects will be empty.\n\nMust be a DNS_LABEL. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/namespaces",
+ "description": "Namespace defines the space within which each name must be unique. An empty namespace is equivalent to the \"default\" namespace, but \"default\" is the canonical representation. Not all objects are required to be scoped to a namespace - the value of this field for those objects will be empty.\n\nMust be a DNS_LABEL. Cannot be updated. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces",
"type": "string"
},
"ownerReferences": {
@@ -11054,6 +11402,10 @@
"$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.OwnerReference"
},
"type": "array",
+ "x-kubernetes-list-map-keys": [
+ "uid"
+ ],
+ "x-kubernetes-list-type": "map",
"x-kubernetes-patch-merge-key": "uid",
"x-kubernetes-patch-strategy": "merge"
},
@@ -11062,11 +11414,11 @@
"type": "string"
},
"selfLink": {
- "description": "SelfLink is a URL representing this object. Populated by the system. Read-only.\n\nDEPRECATED Kubernetes will stop propagating this field in 1.20 release and the field is planned to be removed in 1.21 release.",
+ "description": "Deprecated: selfLink is a legacy read-only field that is no longer populated by the system.",
"type": "string"
},
"uid": {
- "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids",
+ "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#uids",
"type": "string"
}
},
@@ -11080,7 +11432,7 @@
"type": "string"
},
"blockOwnerDeletion": {
- "description": "If true, AND if the owner has the \"foregroundDeletion\" finalizer, then the owner cannot be deleted from the key-value store until this reference is removed. Defaults to false. To set this field, a user needs \"delete\" permission of the owner, otherwise 422 (Unprocessable Entity) will be returned.",
+ "description": "If true, AND if the owner has the \"foregroundDeletion\" finalizer, then the owner cannot be deleted from the key-value store until this reference is removed. See https://kubernetes.io/docs/concepts/architecture/garbage-collection/#foreground-deletion for how the garbage collector interacts with this field and enforces the foreground deletion. Defaults to false. To set this field, a user needs \"delete\" permission of the owner, otherwise 422 (Unprocessable Entity) will be returned.",
"type": "boolean"
},
"controller": {
@@ -11092,11 +11444,11 @@
"type": "string"
},
"name": {
- "description": "Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names",
+ "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#names",
"type": "string"
},
"uid": {
- "description": "UID of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#uids",
+ "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#uids",
"type": "string"
}
},
diff --git a/api/openapi-spec/swagger.json b/api/openapi-spec/swagger.json
index 61078d38d7c0..7ccfacd9d8fe 100644
--- a/api/openapi-spec/swagger.json
+++ b/api/openapi-spec/swagger.json
@@ -80,6 +80,12 @@
"name": "listOptions.continue",
"in": "query"
},
+ {
+ "type": "boolean",
+ "description": "`sendInitialEvents=true` may be set together with `watch=true`.\nIn that case, the watch stream will begin with synthetic events to\nproduce the current state of objects in the collection. Once all such\nevents have been sent, a synthetic \"Bookmark\" event will be sent.\nThe bookmark will report the ResourceVersion (RV) corresponding to the\nset of objects, and be marked with `\"io.k8s.initial-events-end\": \"true\"` annotation.\nAfterwards, the watch stream will proceed as usual, sending watch events\ncorresponding to changes (subsequent to the RV) to objects watched.\n\nWhen `sendInitialEvents` option is set, we require `resourceVersionMatch`\noption to also be set. The semantic of the watch request is as following:\n- `resourceVersionMatch` = NotOlderThan\n is interpreted as \"data at least as new as the provided `resourceVersion`\"\n and the bookmark event is send when the state is synced\n to a `resourceVersion` at least as fresh as the one provided by the ListOptions.\n If `resourceVersion` is unset, this is interpreted as \"consistent read\" and the\n bookmark event is send when the state is synced at least to the moment\n when request started being processed.\n- `resourceVersionMatch` set to any other value or unset\n Invalid error is returned.\n\nDefaults to true if `resourceVersion=\"\"` or `resourceVersion=\"0\"` (for backward\ncompatibility reasons) and to false otherwise.\n+optional",
+ "name": "listOptions.sendInitialEvents",
+ "in": "query"
+ },
{
"type": "string",
"name": "namePrefix",
@@ -199,6 +205,12 @@
"name": "listOptions.continue",
"in": "query"
},
+ {
+ "type": "boolean",
+ "description": "`sendInitialEvents=true` may be set together with `watch=true`.\nIn that case, the watch stream will begin with synthetic events to\nproduce the current state of objects in the collection. Once all such\nevents have been sent, a synthetic \"Bookmark\" event will be sent.\nThe bookmark will report the ResourceVersion (RV) corresponding to the\nset of objects, and be marked with `\"io.k8s.initial-events-end\": \"true\"` annotation.\nAfterwards, the watch stream will proceed as usual, sending watch events\ncorresponding to changes (subsequent to the RV) to objects watched.\n\nWhen `sendInitialEvents` option is set, we require `resourceVersionMatch`\noption to also be set. The semantic of the watch request is as following:\n- `resourceVersionMatch` = NotOlderThan\n is interpreted as \"data at least as new as the provided `resourceVersion`\"\n and the bookmark event is send when the state is synced\n to a `resourceVersion` at least as fresh as the one provided by the ListOptions.\n If `resourceVersion` is unset, this is interpreted as \"consistent read\" and the\n bookmark event is send when the state is synced at least to the moment\n when request started being processed.\n- `resourceVersionMatch` set to any other value or unset\n Invalid error is returned.\n\nDefaults to true if `resourceVersion=\"\"` or `resourceVersion=\"0\"` (for backward\ncompatibility reasons) and to false otherwise.\n+optional",
+ "name": "listOptions.sendInitialEvents",
+ "in": "query"
+ },
{
"type": "string",
"name": "namespace",
@@ -432,6 +444,12 @@
"description": "The continue option should be set when retrieving more results from the server. Since this value is\nserver defined, clients may only use the continue value from a previous query result with identical\nquery parameters (except for the value of continue) and the server may reject a continue value it\ndoes not recognize. If the specified continue value is no longer valid whether due to expiration\n(generally five to fifteen minutes) or a configuration change on the server, the server will\nrespond with a 410 ResourceExpired error together with a continue token. If the client needs a\nconsistent list, it must restart their list without the continue field. Otherwise, the client may\nsend another list request with the token received with the 410 error, the server will respond with\na list starting from the next key, but from the latest snapshot, which is inconsistent from the\nprevious list results - objects that are created, modified, or deleted after the first list request\nwill be included in the response, as long as their keys are after the \"next key\".\n\nThis field is not supported when watch is true. Clients may start a watch from the last\nresourceVersion value returned by the server and not miss any modifications.",
"name": "listOptions.continue",
"in": "query"
+ },
+ {
+ "type": "boolean",
+ "description": "`sendInitialEvents=true` may be set together with `watch=true`.\nIn that case, the watch stream will begin with synthetic events to\nproduce the current state of objects in the collection. Once all such\nevents have been sent, a synthetic \"Bookmark\" event will be sent.\nThe bookmark will report the ResourceVersion (RV) corresponding to the\nset of objects, and be marked with `\"io.k8s.initial-events-end\": \"true\"` annotation.\nAfterwards, the watch stream will proceed as usual, sending watch events\ncorresponding to changes (subsequent to the RV) to objects watched.\n\nWhen `sendInitialEvents` option is set, we require `resourceVersionMatch`\noption to also be set. The semantic of the watch request is as following:\n- `resourceVersionMatch` = NotOlderThan\n is interpreted as \"data at least as new as the provided `resourceVersion`\"\n and the bookmark event is send when the state is synced\n to a `resourceVersion` at least as fresh as the one provided by the ListOptions.\n If `resourceVersion` is unset, this is interpreted as \"consistent read\" and the\n bookmark event is send when the state is synced at least to the moment\n when request started being processed.\n- `resourceVersionMatch` set to any other value or unset\n Invalid error is returned.\n\nDefaults to true if `resourceVersion=\"\"` or `resourceVersion=\"0\"` (for backward\ncompatibility reasons) and to false otherwise.\n+optional",
+ "name": "listOptions.sendInitialEvents",
+ "in": "query"
}
],
"responses": {
@@ -633,7 +651,7 @@
"type": "string"
},
"collectionFormat": "multi",
- "description": "When present, indicates that modifications should not be\npersisted. An invalid or unrecognized dryRun directive will\nresult in an error response and no further processing of the\nrequest. Valid values are:\n- All: all dry run stages will be processed\n+optional.",
+ "description": "When present, indicates that modifications should not be\npersisted. An invalid or unrecognized dryRun directive will\nresult in an error response and no further processing of the\nrequest. Valid values are:\n- All: all dry run stages will be processed\n+optional\n+listType=atomic.",
"name": "deleteOptions.dryRun",
"in": "query"
}
@@ -722,6 +740,12 @@
"description": "The continue option should be set when retrieving more results from the server. Since this value is\nserver defined, clients may only use the continue value from a previous query result with identical\nquery parameters (except for the value of continue) and the server may reject a continue value it\ndoes not recognize. If the specified continue value is no longer valid whether due to expiration\n(generally five to fifteen minutes) or a configuration change on the server, the server will\nrespond with a 410 ResourceExpired error together with a continue token. If the client needs a\nconsistent list, it must restart their list without the continue field. Otherwise, the client may\nsend another list request with the token received with the 410 error, the server will respond with\na list starting from the next key, but from the latest snapshot, which is inconsistent from the\nprevious list results - objects that are created, modified, or deleted after the first list request\nwill be included in the response, as long as their keys are after the \"next key\".\n\nThis field is not supported when watch is true. Clients may start a watch from the last\nresourceVersion value returned by the server and not miss any modifications.",
"name": "listOptions.continue",
"in": "query"
+ },
+ {
+ "type": "boolean",
+ "description": "`sendInitialEvents=true` may be set together with `watch=true`.\nIn that case, the watch stream will begin with synthetic events to\nproduce the current state of objects in the collection. Once all such\nevents have been sent, a synthetic \"Bookmark\" event will be sent.\nThe bookmark will report the ResourceVersion (RV) corresponding to the\nset of objects, and be marked with `\"io.k8s.initial-events-end\": \"true\"` annotation.\nAfterwards, the watch stream will proceed as usual, sending watch events\ncorresponding to changes (subsequent to the RV) to objects watched.\n\nWhen `sendInitialEvents` option is set, we require `resourceVersionMatch`\noption to also be set. The semantic of the watch request is as following:\n- `resourceVersionMatch` = NotOlderThan\n is interpreted as \"data at least as new as the provided `resourceVersion`\"\n and the bookmark event is send when the state is synced\n to a `resourceVersion` at least as fresh as the one provided by the ListOptions.\n If `resourceVersion` is unset, this is interpreted as \"consistent read\" and the\n bookmark event is send when the state is synced at least to the moment\n when request started being processed.\n- `resourceVersionMatch` set to any other value or unset\n Invalid error is returned.\n\nDefaults to true if `resourceVersion=\"\"` or `resourceVersion=\"0\"` (for backward\ncompatibility reasons) and to false otherwise.\n+optional",
+ "name": "listOptions.sendInitialEvents",
+ "in": "query"
}
],
"responses": {
@@ -953,7 +977,7 @@
"type": "string"
},
"collectionFormat": "multi",
- "description": "When present, indicates that modifications should not be\npersisted. An invalid or unrecognized dryRun directive will\nresult in an error response and no further processing of the\nrequest. Valid values are:\n- All: all dry run stages will be processed\n+optional.",
+ "description": "When present, indicates that modifications should not be\npersisted. An invalid or unrecognized dryRun directive will\nresult in an error response and no further processing of the\nrequest. Valid values are:\n- All: all dry run stages will be processed\n+optional\n+listType=atomic.",
"name": "deleteOptions.dryRun",
"in": "query"
}
@@ -1130,6 +1154,12 @@
"description": "The continue option should be set when retrieving more results from the server. Since this value is\nserver defined, clients may only use the continue value from a previous query result with identical\nquery parameters (except for the value of continue) and the server may reject a continue value it\ndoes not recognize. If the specified continue value is no longer valid whether due to expiration\n(generally five to fifteen minutes) or a configuration change on the server, the server will\nrespond with a 410 ResourceExpired error together with a continue token. If the client needs a\nconsistent list, it must restart their list without the continue field. Otherwise, the client may\nsend another list request with the token received with the 410 error, the server will respond with\na list starting from the next key, but from the latest snapshot, which is inconsistent from the\nprevious list results - objects that are created, modified, or deleted after the first list request\nwill be included in the response, as long as their keys are after the \"next key\".\n\nThis field is not supported when watch is true. Clients may start a watch from the last\nresourceVersion value returned by the server and not miss any modifications.",
"name": "listOptions.continue",
"in": "query"
+ },
+ {
+ "type": "boolean",
+ "description": "`sendInitialEvents=true` may be set together with `watch=true`.\nIn that case, the watch stream will begin with synthetic events to\nproduce the current state of objects in the collection. Once all such\nevents have been sent, a synthetic \"Bookmark\" event will be sent.\nThe bookmark will report the ResourceVersion (RV) corresponding to the\nset of objects, and be marked with `\"io.k8s.initial-events-end\": \"true\"` annotation.\nAfterwards, the watch stream will proceed as usual, sending watch events\ncorresponding to changes (subsequent to the RV) to objects watched.\n\nWhen `sendInitialEvents` option is set, we require `resourceVersionMatch`\noption to also be set. The semantic of the watch request is as following:\n- `resourceVersionMatch` = NotOlderThan\n is interpreted as \"data at least as new as the provided `resourceVersion`\"\n and the bookmark event is send when the state is synced\n to a `resourceVersion` at least as fresh as the one provided by the ListOptions.\n If `resourceVersion` is unset, this is interpreted as \"consistent read\" and the\n bookmark event is send when the state is synced at least to the moment\n when request started being processed.\n- `resourceVersionMatch` set to any other value or unset\n Invalid error is returned.\n\nDefaults to true if `resourceVersion=\"\"` or `resourceVersion=\"0\"` (for backward\ncompatibility reasons) and to false otherwise.\n+optional",
+ "name": "listOptions.sendInitialEvents",
+ "in": "query"
}
],
"responses": {
@@ -1316,7 +1346,7 @@
"type": "string"
},
"collectionFormat": "multi",
- "description": "When present, indicates that modifications should not be\npersisted. An invalid or unrecognized dryRun directive will\nresult in an error response and no further processing of the\nrequest. Valid values are:\n- All: all dry run stages will be processed\n+optional.",
+ "description": "When present, indicates that modifications should not be\npersisted. An invalid or unrecognized dryRun directive will\nresult in an error response and no further processing of the\nrequest. Valid values are:\n- All: all dry run stages will be processed\n+optional\n+listType=atomic.",
"name": "deleteOptions.dryRun",
"in": "query"
}
@@ -1474,6 +1504,12 @@
"description": "The continue option should be set when retrieving more results from the server. Since this value is\nserver defined, clients may only use the continue value from a previous query result with identical\nquery parameters (except for the value of continue) and the server may reject a continue value it\ndoes not recognize. If the specified continue value is no longer valid whether due to expiration\n(generally five to fifteen minutes) or a configuration change on the server, the server will\nrespond with a 410 ResourceExpired error together with a continue token. If the client needs a\nconsistent list, it must restart their list without the continue field. Otherwise, the client may\nsend another list request with the token received with the 410 error, the server will respond with\na list starting from the next key, but from the latest snapshot, which is inconsistent from the\nprevious list results - objects that are created, modified, or deleted after the first list request\nwill be included in the response, as long as their keys are after the \"next key\".\n\nThis field is not supported when watch is true. Clients may start a watch from the last\nresourceVersion value returned by the server and not miss any modifications.",
"name": "listOptions.continue",
"in": "query"
+ },
+ {
+ "type": "boolean",
+ "description": "`sendInitialEvents=true` may be set together with `watch=true`.\nIn that case, the watch stream will begin with synthetic events to\nproduce the current state of objects in the collection. Once all such\nevents have been sent, a synthetic \"Bookmark\" event will be sent.\nThe bookmark will report the ResourceVersion (RV) corresponding to the\nset of objects, and be marked with `\"io.k8s.initial-events-end\": \"true\"` annotation.\nAfterwards, the watch stream will proceed as usual, sending watch events\ncorresponding to changes (subsequent to the RV) to objects watched.\n\nWhen `sendInitialEvents` option is set, we require `resourceVersionMatch`\noption to also be set. The semantic of the watch request is as following:\n- `resourceVersionMatch` = NotOlderThan\n is interpreted as \"data at least as new as the provided `resourceVersion`\"\n and the bookmark event is send when the state is synced\n to a `resourceVersion` at least as fresh as the one provided by the ListOptions.\n If `resourceVersion` is unset, this is interpreted as \"consistent read\" and the\n bookmark event is send when the state is synced at least to the moment\n when request started being processed.\n- `resourceVersionMatch` set to any other value or unset\n Invalid error is returned.\n\nDefaults to true if `resourceVersion=\"\"` or `resourceVersion=\"0\"` (for backward\ncompatibility reasons) and to false otherwise.\n+optional",
+ "name": "listOptions.sendInitialEvents",
+ "in": "query"
}
],
"responses": {
@@ -1666,7 +1702,7 @@
"type": "string"
},
"collectionFormat": "multi",
- "description": "When present, indicates that modifications should not be\npersisted. An invalid or unrecognized dryRun directive will\nresult in an error response and no further processing of the\nrequest. Valid values are:\n- All: all dry run stages will be processed\n+optional.",
+ "description": "When present, indicates that modifications should not be\npersisted. An invalid or unrecognized dryRun directive will\nresult in an error response and no further processing of the\nrequest. Valid values are:\n- All: all dry run stages will be processed\n+optional\n+listType=atomic.",
"name": "deleteOptions.dryRun",
"in": "query"
}
@@ -1755,6 +1791,12 @@
"description": "The continue option should be set when retrieving more results from the server. Since this value is\nserver defined, clients may only use the continue value from a previous query result with identical\nquery parameters (except for the value of continue) and the server may reject a continue value it\ndoes not recognize. If the specified continue value is no longer valid whether due to expiration\n(generally five to fifteen minutes) or a configuration change on the server, the server will\nrespond with a 410 ResourceExpired error together with a continue token. If the client needs a\nconsistent list, it must restart their list without the continue field. Otherwise, the client may\nsend another list request with the token received with the 410 error, the server will respond with\na list starting from the next key, but from the latest snapshot, which is inconsistent from the\nprevious list results - objects that are created, modified, or deleted after the first list request\nwill be included in the response, as long as their keys are after the \"next key\".\n\nThis field is not supported when watch is true. Clients may start a watch from the last\nresourceVersion value returned by the server and not miss any modifications.",
"name": "listOptions.continue",
"in": "query"
+ },
+ {
+ "type": "boolean",
+ "description": "`sendInitialEvents=true` may be set together with `watch=true`.\nIn that case, the watch stream will begin with synthetic events to\nproduce the current state of objects in the collection. Once all such\nevents have been sent, a synthetic \"Bookmark\" event will be sent.\nThe bookmark will report the ResourceVersion (RV) corresponding to the\nset of objects, and be marked with `\"io.k8s.initial-events-end\": \"true\"` annotation.\nAfterwards, the watch stream will proceed as usual, sending watch events\ncorresponding to changes (subsequent to the RV) to objects watched.\n\nWhen `sendInitialEvents` option is set, we require `resourceVersionMatch`\noption to also be set. The semantic of the watch request is as following:\n- `resourceVersionMatch` = NotOlderThan\n is interpreted as \"data at least as new as the provided `resourceVersion`\"\n and the bookmark event is send when the state is synced\n to a `resourceVersion` at least as fresh as the one provided by the ListOptions.\n If `resourceVersion` is unset, this is interpreted as \"consistent read\" and the\n bookmark event is send when the state is synced at least to the moment\n when request started being processed.\n- `resourceVersionMatch` set to any other value or unset\n Invalid error is returned.\n\nDefaults to true if `resourceVersion=\"\"` or `resourceVersion=\"0\"` (for backward\ncompatibility reasons) and to false otherwise.\n+optional",
+ "name": "listOptions.sendInitialEvents",
+ "in": "query"
}
],
"responses": {
@@ -1978,6 +2020,12 @@
"description": "The continue option should be set when retrieving more results from the server. Since this value is\nserver defined, clients may only use the continue value from a previous query result with identical\nquery parameters (except for the value of continue) and the server may reject a continue value it\ndoes not recognize. If the specified continue value is no longer valid whether due to expiration\n(generally five to fifteen minutes) or a configuration change on the server, the server will\nrespond with a 410 ResourceExpired error together with a continue token. If the client needs a\nconsistent list, it must restart their list without the continue field. Otherwise, the client may\nsend another list request with the token received with the 410 error, the server will respond with\na list starting from the next key, but from the latest snapshot, which is inconsistent from the\nprevious list results - objects that are created, modified, or deleted after the first list request\nwill be included in the response, as long as their keys are after the \"next key\".\n\nThis field is not supported when watch is true. Clients may start a watch from the last\nresourceVersion value returned by the server and not miss any modifications.",
"name": "listOptions.continue",
"in": "query"
+ },
+ {
+ "type": "boolean",
+ "description": "`sendInitialEvents=true` may be set together with `watch=true`.\nIn that case, the watch stream will begin with synthetic events to\nproduce the current state of objects in the collection. Once all such\nevents have been sent, a synthetic \"Bookmark\" event will be sent.\nThe bookmark will report the ResourceVersion (RV) corresponding to the\nset of objects, and be marked with `\"io.k8s.initial-events-end\": \"true\"` annotation.\nAfterwards, the watch stream will proceed as usual, sending watch events\ncorresponding to changes (subsequent to the RV) to objects watched.\n\nWhen `sendInitialEvents` option is set, we require `resourceVersionMatch`\noption to also be set. The semantic of the watch request is as following:\n- `resourceVersionMatch` = NotOlderThan\n is interpreted as \"data at least as new as the provided `resourceVersion`\"\n and the bookmark event is send when the state is synced\n to a `resourceVersion` at least as fresh as the one provided by the ListOptions.\n If `resourceVersion` is unset, this is interpreted as \"consistent read\" and the\n bookmark event is send when the state is synced at least to the moment\n when request started being processed.\n- `resourceVersionMatch` set to any other value or unset\n Invalid error is returned.\n\nDefaults to true if `resourceVersion=\"\"` or `resourceVersion=\"0\"` (for backward\ncompatibility reasons) and to false otherwise.\n+optional",
+ "name": "listOptions.sendInitialEvents",
+ "in": "query"
}
],
"responses": {
@@ -2073,6 +2121,12 @@
"description": "The continue option should be set when retrieving more results from the server. Since this value is\nserver defined, clients may only use the continue value from a previous query result with identical\nquery parameters (except for the value of continue) and the server may reject a continue value it\ndoes not recognize. If the specified continue value is no longer valid whether due to expiration\n(generally five to fifteen minutes) or a configuration change on the server, the server will\nrespond with a 410 ResourceExpired error together with a continue token. If the client needs a\nconsistent list, it must restart their list without the continue field. Otherwise, the client may\nsend another list request with the token received with the 410 error, the server will respond with\na list starting from the next key, but from the latest snapshot, which is inconsistent from the\nprevious list results - objects that are created, modified, or deleted after the first list request\nwill be included in the response, as long as their keys are after the \"next key\".\n\nThis field is not supported when watch is true. Clients may start a watch from the last\nresourceVersion value returned by the server and not miss any modifications.",
"name": "listOptions.continue",
"in": "query"
+ },
+ {
+ "type": "boolean",
+ "description": "`sendInitialEvents=true` may be set together with `watch=true`.\nIn that case, the watch stream will begin with synthetic events to\nproduce the current state of objects in the collection. Once all such\nevents have been sent, a synthetic \"Bookmark\" event will be sent.\nThe bookmark will report the ResourceVersion (RV) corresponding to the\nset of objects, and be marked with `\"io.k8s.initial-events-end\": \"true\"` annotation.\nAfterwards, the watch stream will proceed as usual, sending watch events\ncorresponding to changes (subsequent to the RV) to objects watched.\n\nWhen `sendInitialEvents` option is set, we require `resourceVersionMatch`\noption to also be set. The semantic of the watch request is as following:\n- `resourceVersionMatch` = NotOlderThan\n is interpreted as \"data at least as new as the provided `resourceVersion`\"\n and the bookmark event is send when the state is synced\n to a `resourceVersion` at least as fresh as the one provided by the ListOptions.\n If `resourceVersion` is unset, this is interpreted as \"consistent read\" and the\n bookmark event is send when the state is synced at least to the moment\n when request started being processed.\n- `resourceVersionMatch` set to any other value or unset\n Invalid error is returned.\n\nDefaults to true if `resourceVersion=\"\"` or `resourceVersion=\"0\"` (for backward\ncompatibility reasons) and to false otherwise.\n+optional",
+ "name": "listOptions.sendInitialEvents",
+ "in": "query"
}
],
"responses": {
@@ -2366,6 +2420,12 @@
"description": "The continue option should be set when retrieving more results from the server. Since this value is\nserver defined, clients may only use the continue value from a previous query result with identical\nquery parameters (except for the value of continue) and the server may reject a continue value it\ndoes not recognize. If the specified continue value is no longer valid whether due to expiration\n(generally five to fifteen minutes) or a configuration change on the server, the server will\nrespond with a 410 ResourceExpired error together with a continue token. If the client needs a\nconsistent list, it must restart their list without the continue field. Otherwise, the client may\nsend another list request with the token received with the 410 error, the server will respond with\na list starting from the next key, but from the latest snapshot, which is inconsistent from the\nprevious list results - objects that are created, modified, or deleted after the first list request\nwill be included in the response, as long as their keys are after the \"next key\".\n\nThis field is not supported when watch is true. Clients may start a watch from the last\nresourceVersion value returned by the server and not miss any modifications.",
"name": "listOptions.continue",
"in": "query"
+ },
+ {
+ "type": "boolean",
+ "description": "`sendInitialEvents=true` may be set together with `watch=true`.\nIn that case, the watch stream will begin with synthetic events to\nproduce the current state of objects in the collection. Once all such\nevents have been sent, a synthetic \"Bookmark\" event will be sent.\nThe bookmark will report the ResourceVersion (RV) corresponding to the\nset of objects, and be marked with `\"io.k8s.initial-events-end\": \"true\"` annotation.\nAfterwards, the watch stream will proceed as usual, sending watch events\ncorresponding to changes (subsequent to the RV) to objects watched.\n\nWhen `sendInitialEvents` option is set, we require `resourceVersionMatch`\noption to also be set. The semantic of the watch request is as following:\n- `resourceVersionMatch` = NotOlderThan\n is interpreted as \"data at least as new as the provided `resourceVersion`\"\n and the bookmark event is send when the state is synced\n to a `resourceVersion` at least as fresh as the one provided by the ListOptions.\n If `resourceVersion` is unset, this is interpreted as \"consistent read\" and the\n bookmark event is send when the state is synced at least to the moment\n when request started being processed.\n- `resourceVersionMatch` set to any other value or unset\n Invalid error is returned.\n\nDefaults to true if `resourceVersion=\"\"` or `resourceVersion=\"0\"` (for backward\ncompatibility reasons) and to false otherwise.\n+optional",
+ "name": "listOptions.sendInitialEvents",
+ "in": "query"
}
],
"responses": {
@@ -2453,6 +2513,12 @@
"name": "listOptions.continue",
"in": "query"
},
+ {
+ "type": "boolean",
+ "description": "`sendInitialEvents=true` may be set together with `watch=true`.\nIn that case, the watch stream will begin with synthetic events to\nproduce the current state of objects in the collection. Once all such\nevents have been sent, a synthetic \"Bookmark\" event will be sent.\nThe bookmark will report the ResourceVersion (RV) corresponding to the\nset of objects, and be marked with `\"io.k8s.initial-events-end\": \"true\"` annotation.\nAfterwards, the watch stream will proceed as usual, sending watch events\ncorresponding to changes (subsequent to the RV) to objects watched.\n\nWhen `sendInitialEvents` option is set, we require `resourceVersionMatch`\noption to also be set. The semantic of the watch request is as following:\n- `resourceVersionMatch` = NotOlderThan\n is interpreted as \"data at least as new as the provided `resourceVersion`\"\n and the bookmark event is send when the state is synced\n to a `resourceVersion` at least as fresh as the one provided by the ListOptions.\n If `resourceVersion` is unset, this is interpreted as \"consistent read\" and the\n bookmark event is send when the state is synced at least to the moment\n when request started being processed.\n- `resourceVersionMatch` set to any other value or unset\n Invalid error is returned.\n\nDefaults to true if `resourceVersion=\"\"` or `resourceVersion=\"0\"` (for backward\ncompatibility reasons) and to false otherwise.\n+optional",
+ "name": "listOptions.sendInitialEvents",
+ "in": "query"
+ },
{
"type": "string",
"name": "fields",
@@ -2557,6 +2623,12 @@
"description": "The continue option should be set when retrieving more results from the server. Since this value is\nserver defined, clients may only use the continue value from a previous query result with identical\nquery parameters (except for the value of continue) and the server may reject a continue value it\ndoes not recognize. If the specified continue value is no longer valid whether due to expiration\n(generally five to fifteen minutes) or a configuration change on the server, the server will\nrespond with a 410 ResourceExpired error together with a continue token. If the client needs a\nconsistent list, it must restart their list without the continue field. Otherwise, the client may\nsend another list request with the token received with the 410 error, the server will respond with\na list starting from the next key, but from the latest snapshot, which is inconsistent from the\nprevious list results - objects that are created, modified, or deleted after the first list request\nwill be included in the response, as long as their keys are after the \"next key\".\n\nThis field is not supported when watch is true. Clients may start a watch from the last\nresourceVersion value returned by the server and not miss any modifications.",
"name": "listOptions.continue",
"in": "query"
+ },
+ {
+ "type": "boolean",
+ "description": "`sendInitialEvents=true` may be set together with `watch=true`.\nIn that case, the watch stream will begin with synthetic events to\nproduce the current state of objects in the collection. Once all such\nevents have been sent, a synthetic \"Bookmark\" event will be sent.\nThe bookmark will report the ResourceVersion (RV) corresponding to the\nset of objects, and be marked with `\"io.k8s.initial-events-end\": \"true\"` annotation.\nAfterwards, the watch stream will proceed as usual, sending watch events\ncorresponding to changes (subsequent to the RV) to objects watched.\n\nWhen `sendInitialEvents` option is set, we require `resourceVersionMatch`\noption to also be set. The semantic of the watch request is as following:\n- `resourceVersionMatch` = NotOlderThan\n is interpreted as \"data at least as new as the provided `resourceVersion`\"\n and the bookmark event is send when the state is synced\n to a `resourceVersion` at least as fresh as the one provided by the ListOptions.\n If `resourceVersion` is unset, this is interpreted as \"consistent read\" and the\n bookmark event is send when the state is synced at least to the moment\n when request started being processed.\n- `resourceVersionMatch` set to any other value or unset\n Invalid error is returned.\n\nDefaults to true if `resourceVersion=\"\"` or `resourceVersion=\"0\"` (for backward\ncompatibility reasons) and to false otherwise.\n+optional",
+ "name": "listOptions.sendInitialEvents",
+ "in": "query"
}
],
"responses": {
@@ -2788,7 +2860,7 @@
"type": "string"
},
"collectionFormat": "multi",
- "description": "When present, indicates that modifications should not be\npersisted. An invalid or unrecognized dryRun directive will\nresult in an error response and no further processing of the\nrequest. Valid values are:\n- All: all dry run stages will be processed\n+optional.",
+ "description": "When present, indicates that modifications should not be\npersisted. An invalid or unrecognized dryRun directive will\nresult in an error response and no further processing of the\nrequest. Valid values are:\n- All: all dry run stages will be processed\n+optional\n+listType=atomic.",
"name": "deleteOptions.dryRun",
"in": "query"
}
@@ -2878,11 +2950,23 @@
"name": "listOptions.continue",
"in": "query"
},
+ {
+ "type": "boolean",
+ "description": "`sendInitialEvents=true` may be set together with `watch=true`.\nIn that case, the watch stream will begin with synthetic events to\nproduce the current state of objects in the collection. Once all such\nevents have been sent, a synthetic \"Bookmark\" event will be sent.\nThe bookmark will report the ResourceVersion (RV) corresponding to the\nset of objects, and be marked with `\"io.k8s.initial-events-end\": \"true\"` annotation.\nAfterwards, the watch stream will proceed as usual, sending watch events\ncorresponding to changes (subsequent to the RV) to objects watched.\n\nWhen `sendInitialEvents` option is set, we require `resourceVersionMatch`\noption to also be set. The semantic of the watch request is as following:\n- `resourceVersionMatch` = NotOlderThan\n is interpreted as \"data at least as new as the provided `resourceVersion`\"\n and the bookmark event is send when the state is synced\n to a `resourceVersion` at least as fresh as the one provided by the ListOptions.\n If `resourceVersion` is unset, this is interpreted as \"consistent read\" and the\n bookmark event is send when the state is synced at least to the moment\n when request started being processed.\n- `resourceVersionMatch` set to any other value or unset\n Invalid error is returned.\n\nDefaults to true if `resourceVersion=\"\"` or `resourceVersion=\"0\"` (for backward\ncompatibility reasons) and to false otherwise.\n+optional",
+ "name": "listOptions.sendInitialEvents",
+ "in": "query"
+ },
{
"type": "string",
"description": "Fields to be included or excluded in the response. e.g. \"items.spec,items.status.phase\", \"-items.status.nodes\".",
"name": "fields",
"in": "query"
+ },
+ {
+ "type": "string",
+ "description": "Filter type used for name filtering. Exact | Contains | Prefix. Default to Exact.",
+ "name": "nameFilter",
+ "in": "query"
}
],
"responses": {
@@ -3115,7 +3199,7 @@
"type": "string"
},
"collectionFormat": "multi",
- "description": "When present, indicates that modifications should not be\npersisted. An invalid or unrecognized dryRun directive will\nresult in an error response and no further processing of the\nrequest. Valid values are:\n- All: all dry run stages will be processed\n+optional.",
+ "description": "When present, indicates that modifications should not be\npersisted. An invalid or unrecognized dryRun directive will\nresult in an error response and no further processing of the\nrequest. Valid values are:\n- All: all dry run stages will be processed\n+optional\n+listType=atomic.",
"name": "deleteOptions.dryRun",
"in": "query"
},
@@ -8516,14 +8600,16 @@
"type": "array",
"items": {
"type": "string"
- }
+ },
+ "x-kubernetes-list-type": "atomic"
},
"command": {
"description": "Entrypoint array. Not executed within a shell. The container image's ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell",
"type": "array",
"items": {
"type": "string"
- }
+ },
+ "x-kubernetes-list-type": "atomic"
},
"dependencies": {
"type": "array",
@@ -8537,6 +8623,10 @@
"items": {
"$ref": "#/definitions/io.k8s.api.core.v1.EnvVar"
},
+ "x-kubernetes-list-map-keys": [
+ "name"
+ ],
+ "x-kubernetes-list-type": "map",
"x-kubernetes-patch-merge-key": "name",
"x-kubernetes-patch-strategy": "merge"
},
@@ -8545,7 +8635,8 @@
"type": "array",
"items": {
"$ref": "#/definitions/io.k8s.api.core.v1.EnvFromSource"
- }
+ },
+ "x-kubernetes-list-type": "atomic"
},
"image": {
"description": "Container image name. More info: https://kubernetes.io/docs/concepts/containers/images This field is optional to allow higher level config management to default or override container images in workload controllers like Deployments and StatefulSets.",
@@ -8585,10 +8676,22 @@
"description": "Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes",
"$ref": "#/definitions/io.k8s.api.core.v1.Probe"
},
+ "resizePolicy": {
+ "description": "Resources resize policy for the container.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/io.k8s.api.core.v1.ContainerResizePolicy"
+ },
+ "x-kubernetes-list-type": "atomic"
+ },
"resources": {
"description": "Compute Resources required by this container. Cannot be updated. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/",
"$ref": "#/definitions/io.k8s.api.core.v1.ResourceRequirements"
},
+ "restartPolicy": {
+ "description": "RestartPolicy defines the restart behavior of individual containers in a pod. This field may only be set for init containers, and the only allowed value is \"Always\". For non-init containers or when this field is not specified, the restart behavior is defined by the Pod's restart policy and the container type. Setting the RestartPolicy as \"Always\" for the init container will have the following effect: this init container will be continually restarted on exit until all regular containers have terminated. Once all regular containers have completed, all init containers with restartPolicy \"Always\" will be shut down. This lifecycle differs from normal init containers and is often referred to as a \"sidecar\" container. Although this init container still starts in the init container sequence, it does not wait for the container to complete before proceeding to the next init container. Instead, the next init container starts immediately after this init container is started, or after any startupProbe has successfully completed.",
+ "type": "string"
+ },
"securityContext": {
"description": "SecurityContext defines the security options the container should be run with. If set, the fields of SecurityContext override the equivalent fields of PodSecurityContext. More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/",
"$ref": "#/definitions/io.k8s.api.core.v1.SecurityContext"
@@ -8623,6 +8726,10 @@
"items": {
"$ref": "#/definitions/io.k8s.api.core.v1.VolumeDevice"
},
+ "x-kubernetes-list-map-keys": [
+ "devicePath"
+ ],
+ "x-kubernetes-list-type": "map",
"x-kubernetes-patch-merge-key": "devicePath",
"x-kubernetes-patch-strategy": "merge"
},
@@ -8632,6 +8739,10 @@
"items": {
"$ref": "#/definitions/io.k8s.api.core.v1.VolumeMount"
},
+ "x-kubernetes-list-map-keys": [
+ "mountPath"
+ ],
+ "x-kubernetes-list-type": "map",
"x-kubernetes-patch-merge-key": "mountPath",
"x-kubernetes-patch-strategy": "merge"
},
@@ -8803,8 +8914,7 @@
"description": "CronWorkflowSpec is the specification of a CronWorkflow",
"type": "object",
"required": [
- "workflowSpec",
- "schedule"
+ "workflowSpec"
],
"properties": {
"concurrencyPolicy": {
@@ -8816,11 +8926,11 @@
"type": "integer"
},
"schedule": {
- "description": "Schedule is a schedule to run the Workflow in Cron format",
+ "description": "Schedule is a schedule to run the Workflow in Cron format. Deprecated, use Schedules",
"type": "string"
},
"schedules": {
- "description": "Schedules is a list of schedules to run the Workflow in Cron format",
+ "description": "v3.6 and after: Schedules is a list of schedules to run the Workflow in Cron format",
"type": "array",
"items": {
"type": "string"
@@ -8846,6 +8956,10 @@
"description": "Timezone is the timezone against which the cron schedule will be calculated, e.g. \"Asia/Tokyo\". Default is machine's local time.",
"type": "string"
},
+ "when": {
+ "description": "v3.6 and after: When is an expression that determines if a run should be scheduled.",
+ "type": "string"
+ },
"workflowMetadata": {
"description": "WorkflowMetadata contains some metadata of the workflow to be run",
"$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta"
@@ -9190,6 +9304,10 @@
"description": "InsecureIgnoreHostKey disables SSH strict host key checking during git clone",
"type": "boolean"
},
+ "insecureSkipTLS": {
+ "description": "InsecureSkipTLS disables server certificate verification resulting in insecure HTTPS connections",
+ "type": "boolean"
+ },
"passwordSecret": {
"description": "PasswordSecret is the secret selector to the repository password",
"$ref": "#/definitions/io.k8s.api.core.v1.SecretKeySelector"
@@ -10424,6 +10542,10 @@
"description": "SecretKeySecret is the secret selector to the bucket's secret key",
"$ref": "#/definitions/io.k8s.api.core.v1.SecretKeySelector"
},
+ "sessionTokenSecret": {
+ "description": "SessionTokenSecret is used for ephemeral credentials like an IAM assume role or S3 access grant",
+ "$ref": "#/definitions/io.k8s.api.core.v1.SecretKeySelector"
+ },
"useSDKCreds": {
"description": "UseSDKCreds tells the driver to figure out credentials based on sdk defaults.",
"type": "boolean"
@@ -10481,6 +10603,10 @@
"description": "SecretKeySecret is the secret selector to the bucket's secret key",
"$ref": "#/definitions/io.k8s.api.core.v1.SecretKeySelector"
},
+ "sessionTokenSecret": {
+ "description": "SessionTokenSecret is used for ephemeral credentials like an IAM assume role or S3 access grant",
+ "$ref": "#/definitions/io.k8s.api.core.v1.SecretKeySelector"
+ },
"useSDKCreds": {
"description": "UseSDKCreds tells the driver to figure out credentials based on sdk defaults.",
"type": "boolean"
@@ -10522,14 +10648,16 @@
"type": "array",
"items": {
"type": "string"
- }
+ },
+ "x-kubernetes-list-type": "atomic"
},
"command": {
"description": "Entrypoint array. Not executed within a shell. The container image's ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell",
"type": "array",
"items": {
"type": "string"
- }
+ },
+ "x-kubernetes-list-type": "atomic"
},
"env": {
"description": "List of environment variables to set in the container. Cannot be updated.",
@@ -10537,6 +10665,10 @@
"items": {
"$ref": "#/definitions/io.k8s.api.core.v1.EnvVar"
},
+ "x-kubernetes-list-map-keys": [
+ "name"
+ ],
+ "x-kubernetes-list-type": "map",
"x-kubernetes-patch-merge-key": "name",
"x-kubernetes-patch-strategy": "merge"
},
@@ -10545,7 +10677,8 @@
"type": "array",
"items": {
"$ref": "#/definitions/io.k8s.api.core.v1.EnvFromSource"
- }
+ },
+ "x-kubernetes-list-type": "atomic"
},
"image": {
"description": "Container image name. More info: https://kubernetes.io/docs/concepts/containers/images This field is optional to allow higher level config management to default or override container images in workload controllers like Deployments and StatefulSets.",
@@ -10585,10 +10718,22 @@
"description": "Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes",
"$ref": "#/definitions/io.k8s.api.core.v1.Probe"
},
+ "resizePolicy": {
+ "description": "Resources resize policy for the container.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/io.k8s.api.core.v1.ContainerResizePolicy"
+ },
+ "x-kubernetes-list-type": "atomic"
+ },
"resources": {
"description": "Compute Resources required by this container. Cannot be updated. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/",
"$ref": "#/definitions/io.k8s.api.core.v1.ResourceRequirements"
},
+ "restartPolicy": {
+ "description": "RestartPolicy defines the restart behavior of individual containers in a pod. This field may only be set for init containers, and the only allowed value is \"Always\". For non-init containers or when this field is not specified, the restart behavior is defined by the Pod's restart policy and the container type. Setting the RestartPolicy as \"Always\" for the init container will have the following effect: this init container will be continually restarted on exit until all regular containers have terminated. Once all regular containers have completed, all init containers with restartPolicy \"Always\" will be shut down. This lifecycle differs from normal init containers and is often referred to as a \"sidecar\" container. Although this init container still starts in the init container sequence, it does not wait for the container to complete before proceeding to the next init container. Instead, the next init container starts immediately after this init container is started, or after any startupProbe has successfully completed.",
+ "type": "string"
+ },
"securityContext": {
"description": "SecurityContext defines the security options the container should be run with. If set, the fields of SecurityContext override the equivalent fields of PodSecurityContext. More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/",
"$ref": "#/definitions/io.k8s.api.core.v1.SecurityContext"
@@ -10627,6 +10772,10 @@
"items": {
"$ref": "#/definitions/io.k8s.api.core.v1.VolumeDevice"
},
+ "x-kubernetes-list-map-keys": [
+ "devicePath"
+ ],
+ "x-kubernetes-list-type": "map",
"x-kubernetes-patch-merge-key": "devicePath",
"x-kubernetes-patch-strategy": "merge"
},
@@ -10636,6 +10785,10 @@
"items": {
"$ref": "#/definitions/io.k8s.api.core.v1.VolumeMount"
},
+ "x-kubernetes-list-map-keys": [
+ "mountPath"
+ ],
+ "x-kubernetes-list-type": "map",
"x-kubernetes-patch-merge-key": "mountPath",
"x-kubernetes-patch-strategy": "merge"
},
@@ -10718,14 +10871,14 @@
}
},
"io.argoproj.workflow.v1alpha1.StopStrategy": {
- "description": "v3.6 and after: StopStrategy defines if the CronWorkflow should stop scheduling based on a condition",
+ "description": "StopStrategy defines if the CronWorkflow should stop scheduling based on an expression. v3.6 and after",
"type": "object",
"required": [
- "condition"
+ "expression"
],
"properties": {
- "condition": {
- "description": "v3.6 and after: Condition is an expression that stops scheduling workflows when true. Use the variables `failed` or `succeeded` to access the number of failed or successful child workflows.",
+ "expression": {
+ "description": "v3.6 and after: Expression is an expression that stops scheduling workflows when true. Use the variables `cronworkflow`.`failed` or `cronworkflow`.`succeeded` to access the number of failed or successful child workflows.",
"type": "string"
}
}
@@ -10826,12 +10979,26 @@
"type": "object",
"properties": {
"mutex": {
- "description": "Mutex holds the Mutex lock details",
+ "description": "Mutex holds the Mutex lock details - deprecated, use mutexes instead",
"$ref": "#/definitions/io.argoproj.workflow.v1alpha1.Mutex"
},
+ "mutexes": {
+ "description": "v3.6 and after: Mutexes holds the list of Mutex lock details",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/io.argoproj.workflow.v1alpha1.Mutex"
+ }
+ },
"semaphore": {
- "description": "Semaphore holds the Semaphore configuration",
+ "description": "Semaphore holds the Semaphore configuration - deprecated, use semaphores instead",
"$ref": "#/definitions/io.argoproj.workflow.v1alpha1.SemaphoreRef"
+ },
+ "semaphores": {
+ "description": "v3.6 and after: Semaphores holds the list of Semaphores configuration",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/io.argoproj.workflow.v1alpha1.SemaphoreRef"
+ }
}
}
},
@@ -11127,14 +11294,16 @@
"type": "array",
"items": {
"type": "string"
- }
+ },
+ "x-kubernetes-list-type": "atomic"
},
"command": {
"description": "Entrypoint array. Not executed within a shell. The container image's ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell",
"type": "array",
"items": {
"type": "string"
- }
+ },
+ "x-kubernetes-list-type": "atomic"
},
"env": {
"description": "List of environment variables to set in the container. Cannot be updated.",
@@ -11142,6 +11311,10 @@
"items": {
"$ref": "#/definitions/io.k8s.api.core.v1.EnvVar"
},
+ "x-kubernetes-list-map-keys": [
+ "name"
+ ],
+ "x-kubernetes-list-type": "map",
"x-kubernetes-patch-merge-key": "name",
"x-kubernetes-patch-strategy": "merge"
},
@@ -11150,7 +11323,8 @@
"type": "array",
"items": {
"$ref": "#/definitions/io.k8s.api.core.v1.EnvFromSource"
- }
+ },
+ "x-kubernetes-list-type": "atomic"
},
"image": {
"description": "Container image name. More info: https://kubernetes.io/docs/concepts/containers/images This field is optional to allow higher level config management to default or override container images in workload controllers like Deployments and StatefulSets.",
@@ -11194,10 +11368,22 @@
"description": "Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes",
"$ref": "#/definitions/io.k8s.api.core.v1.Probe"
},
+ "resizePolicy": {
+ "description": "Resources resize policy for the container.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/io.k8s.api.core.v1.ContainerResizePolicy"
+ },
+ "x-kubernetes-list-type": "atomic"
+ },
"resources": {
"description": "Compute Resources required by this container. Cannot be updated. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/",
"$ref": "#/definitions/io.k8s.api.core.v1.ResourceRequirements"
},
+ "restartPolicy": {
+ "description": "RestartPolicy defines the restart behavior of individual containers in a pod. This field may only be set for init containers, and the only allowed value is \"Always\". For non-init containers or when this field is not specified, the restart behavior is defined by the Pod's restart policy and the container type. Setting the RestartPolicy as \"Always\" for the init container will have the following effect: this init container will be continually restarted on exit until all regular containers have terminated. Once all regular containers have completed, all init containers with restartPolicy \"Always\" will be shut down. This lifecycle differs from normal init containers and is often referred to as a \"sidecar\" container. Although this init container still starts in the init container sequence, it does not wait for the container to complete before proceeding to the next init container. Instead, the next init container starts immediately after this init container is started, or after any startupProbe has successfully completed.",
+ "type": "string"
+ },
"securityContext": {
"description": "SecurityContext defines the security options the container should be run with. If set, the fields of SecurityContext override the equivalent fields of PodSecurityContext. More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/",
"$ref": "#/definitions/io.k8s.api.core.v1.SecurityContext"
@@ -11232,6 +11418,10 @@
"items": {
"$ref": "#/definitions/io.k8s.api.core.v1.VolumeDevice"
},
+ "x-kubernetes-list-map-keys": [
+ "devicePath"
+ ],
+ "x-kubernetes-list-type": "map",
"x-kubernetes-patch-merge-key": "devicePath",
"x-kubernetes-patch-strategy": "merge"
},
@@ -11241,6 +11431,10 @@
"items": {
"$ref": "#/definitions/io.k8s.api.core.v1.VolumeMount"
},
+ "x-kubernetes-list-map-keys": [
+ "mountPath"
+ ],
+ "x-kubernetes-list-type": "map",
"x-kubernetes-patch-merge-key": "mountPath",
"x-kubernetes-patch-strategy": "merge"
},
@@ -12186,19 +12380,19 @@
],
"properties": {
"fsType": {
- "description": "Filesystem type of the volume that you want to mount. Tip: Ensure that the filesystem type is supported by the host operating system. Examples: \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified. More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore",
+ "description": "fsType is the filesystem type of the volume that you want to mount. Tip: Ensure that the filesystem type is supported by the host operating system. Examples: \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified. More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore",
"type": "string"
},
"partition": {
- "description": "The partition in the volume that you want to mount. If omitted, the default is to mount by volume name. Examples: For volume /dev/sda1, you specify the partition as \"1\". Similarly, the volume partition for /dev/sda is \"0\" (or you can leave the property empty).",
+ "description": "partition is the partition in the volume that you want to mount. If omitted, the default is to mount by volume name. Examples: For volume /dev/sda1, you specify the partition as \"1\". Similarly, the volume partition for /dev/sda is \"0\" (or you can leave the property empty).",
"type": "integer"
},
"readOnly": {
- "description": "Specify \"true\" to force and set the ReadOnly property in VolumeMounts to \"true\". If omitted, the default is \"false\". More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore",
+ "description": "readOnly value true will force the readOnly setting in VolumeMounts. More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore",
"type": "boolean"
},
"volumeID": {
- "description": "Unique ID of the persistent disk resource in AWS (Amazon EBS volume). More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore",
+ "description": "volumeID is unique ID of the persistent disk resource in AWS (Amazon EBS volume). More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore",
"type": "string"
}
}
@@ -12221,6 +12415,31 @@
}
}
},
+ "io.k8s.api.core.v1.AppArmorProfile": {
+ "description": "AppArmorProfile defines a pod or container's AppArmor settings.",
+ "type": "object",
+ "required": [
+ "type"
+ ],
+ "properties": {
+ "localhostProfile": {
+ "description": "localhostProfile indicates a profile loaded on the node that should be used. The profile must be preconfigured on the node to work. Must match the loaded name of the profile. Must be set if and only if type is \"Localhost\".",
+ "type": "string"
+ },
+ "type": {
+ "description": "type indicates which kind of AppArmor profile will be applied. Valid options are:\n Localhost - a profile pre-loaded on the node.\n RuntimeDefault - the container runtime's default profile.\n Unconfined - no AppArmor enforcement.",
+ "type": "string"
+ }
+ },
+ "x-kubernetes-unions": [
+ {
+ "discriminator": "type",
+ "fields-to-discriminateBy": {
+ "localhostProfile": "LocalhostProfile"
+ }
+ }
+ ]
+ },
"io.k8s.api.core.v1.AzureDiskVolumeSource": {
"description": "AzureDisk represents an Azure Data Disk mount on the host and bind mount to the pod.",
"type": "object",
@@ -12230,27 +12449,27 @@
],
"properties": {
"cachingMode": {
- "description": "Host Caching mode: None, Read Only, Read Write.",
+ "description": "cachingMode is the Host Caching mode: None, Read Only, Read Write.",
"type": "string"
},
"diskName": {
- "description": "The Name of the data disk in the blob storage",
+ "description": "diskName is the Name of the data disk in the blob storage",
"type": "string"
},
"diskURI": {
- "description": "The URI the data disk in the blob storage",
+ "description": "diskURI is the URI of data disk in the blob storage",
"type": "string"
},
"fsType": {
- "description": "Filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified.",
+ "description": "fsType is Filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified.",
"type": "string"
},
"kind": {
- "description": "Expected values Shared: multiple blob disks per storage account Dedicated: single blob disk per storage account Managed: azure managed data disk (only in managed availability set). defaults to shared",
+ "description": "kind expected values are Shared: multiple blob disks per storage account Dedicated: single blob disk per storage account Managed: azure managed data disk (only in managed availability set). defaults to shared",
"type": "string"
},
"readOnly": {
- "description": "Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts.",
+ "description": "readOnly Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts.",
"type": "boolean"
}
}
@@ -12264,15 +12483,15 @@
],
"properties": {
"readOnly": {
- "description": "Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts.",
+ "description": "readOnly defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts.",
"type": "boolean"
},
"secretName": {
- "description": "the name of secret that contains Azure Storage Account Name and Key",
+ "description": "secretName is the name of secret that contains Azure Storage Account Name and Key",
"type": "string"
},
"shareName": {
- "description": "Share Name",
+ "description": "shareName is the azure share Name",
"type": "string"
}
}
@@ -12285,23 +12504,23 @@
],
"properties": {
"driver": {
- "description": "Driver is the name of the CSI driver that handles this volume. Consult with your admin for the correct name as registered in the cluster.",
+ "description": "driver is the name of the CSI driver that handles this volume. Consult with your admin for the correct name as registered in the cluster.",
"type": "string"
},
"fsType": {
- "description": "Filesystem type to mount. Ex. \"ext4\", \"xfs\", \"ntfs\". If not provided, the empty value is passed to the associated CSI driver which will determine the default filesystem to apply.",
+ "description": "fsType to mount. Ex. \"ext4\", \"xfs\", \"ntfs\". If not provided, the empty value is passed to the associated CSI driver which will determine the default filesystem to apply.",
"type": "string"
},
"nodePublishSecretRef": {
- "description": "NodePublishSecretRef is a reference to the secret object containing sensitive information to pass to the CSI driver to complete the CSI NodePublishVolume and NodeUnpublishVolume calls. This field is optional, and may be empty if no secret is required. If the secret object contains more than one secret, all secret references are passed.",
+ "description": "nodePublishSecretRef is a reference to the secret object containing sensitive information to pass to the CSI driver to complete the CSI NodePublishVolume and NodeUnpublishVolume calls. This field is optional, and may be empty if no secret is required. If the secret object contains more than one secret, all secret references are passed.",
"$ref": "#/definitions/io.k8s.api.core.v1.LocalObjectReference"
},
"readOnly": {
- "description": "Specifies a read-only configuration for the volume. Defaults to false (read/write).",
+ "description": "readOnly specifies a read-only configuration for the volume. Defaults to false (read/write).",
"type": "boolean"
},
"volumeAttributes": {
- "description": "VolumeAttributes stores driver-specific properties that are passed to the CSI driver. Consult your driver's documentation for supported values.",
+ "description": "volumeAttributes stores driver-specific properties that are passed to the CSI driver. Consult your driver's documentation for supported values.",
"type": "object",
"additionalProperties": {
"type": "string"
@@ -12318,14 +12537,16 @@
"type": "array",
"items": {
"type": "string"
- }
+ },
+ "x-kubernetes-list-type": "atomic"
},
"drop": {
"description": "Removed capabilities",
"type": "array",
"items": {
"type": "string"
- }
+ },
+ "x-kubernetes-list-type": "atomic"
}
}
},
@@ -12337,30 +12558,31 @@
],
"properties": {
"monitors": {
- "description": "Required: Monitors is a collection of Ceph monitors More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it",
+ "description": "monitors is Required: Monitors is a collection of Ceph monitors More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it",
"type": "array",
"items": {
"type": "string"
- }
+ },
+ "x-kubernetes-list-type": "atomic"
},
"path": {
- "description": "Optional: Used as the mounted root, rather than the full Ceph tree, default is /",
+ "description": "path is Optional: Used as the mounted root, rather than the full Ceph tree, default is /",
"type": "string"
},
"readOnly": {
- "description": "Optional: Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts. More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it",
+ "description": "readOnly is Optional: Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts. More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it",
"type": "boolean"
},
"secretFile": {
- "description": "Optional: SecretFile is the path to key ring for User, default is /etc/ceph/user.secret More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it",
+ "description": "secretFile is Optional: SecretFile is the path to key ring for User, default is /etc/ceph/user.secret More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it",
"type": "string"
},
"secretRef": {
- "description": "Optional: SecretRef is reference to the authentication secret for User, default is empty. More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it",
+ "description": "secretRef is Optional: SecretRef is reference to the authentication secret for User, default is empty. More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it",
"$ref": "#/definitions/io.k8s.api.core.v1.LocalObjectReference"
},
"user": {
- "description": "Optional: User is the rados user name, default is admin More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it",
+ "description": "user is optional: User is the rados user name, default is admin More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it",
"type": "string"
}
}
@@ -12373,19 +12595,48 @@
],
"properties": {
"fsType": {
- "description": "Filesystem type to mount. Must be a filesystem type supported by the host operating system. Examples: \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified. More info: https://examples.k8s.io/mysql-cinder-pd/README.md",
+ "description": "fsType is the filesystem type to mount. Must be a filesystem type supported by the host operating system. Examples: \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified. More info: https://examples.k8s.io/mysql-cinder-pd/README.md",
"type": "string"
},
"readOnly": {
- "description": "Optional: Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts. More info: https://examples.k8s.io/mysql-cinder-pd/README.md",
+ "description": "readOnly defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts. More info: https://examples.k8s.io/mysql-cinder-pd/README.md",
"type": "boolean"
},
"secretRef": {
- "description": "Optional: points to a secret object containing parameters used to connect to OpenStack.",
+ "description": "secretRef is optional: points to a secret object containing parameters used to connect to OpenStack.",
"$ref": "#/definitions/io.k8s.api.core.v1.LocalObjectReference"
},
"volumeID": {
- "description": "volume id used to identify the volume in cinder. More info: https://examples.k8s.io/mysql-cinder-pd/README.md",
+ "description": "volumeID used to identify the volume in cinder. More info: https://examples.k8s.io/mysql-cinder-pd/README.md",
+ "type": "string"
+ }
+ }
+ },
+ "io.k8s.api.core.v1.ClusterTrustBundleProjection": {
+ "description": "ClusterTrustBundleProjection describes how to select a set of ClusterTrustBundle objects and project their contents into the pod filesystem.",
+ "type": "object",
+ "required": [
+ "path"
+ ],
+ "properties": {
+ "labelSelector": {
+ "description": "Select all ClusterTrustBundles that match this label selector. Only has effect if signerName is set. Mutually-exclusive with name. If unset, interpreted as \"match nothing\". If set but empty, interpreted as \"match everything\".",
+ "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.LabelSelector"
+ },
+ "name": {
+ "description": "Select a single ClusterTrustBundle by object name. Mutually-exclusive with signerName and labelSelector.",
+ "type": "string"
+ },
+ "optional": {
+ "description": "If true, don't block pod startup if the referenced ClusterTrustBundle(s) aren't available. If using name, then the named ClusterTrustBundle is allowed not to exist. If using signerName, then the combination of signerName and labelSelector is allowed to match zero ClusterTrustBundles.",
+ "type": "boolean"
+ },
+ "path": {
+ "description": "Relative path from the volume root to write the bundle.",
+ "type": "string"
+ },
+ "signerName": {
+ "description": "Select all ClusterTrustBundles that match this signer name. Mutually-exclusive with name. The contents of all selected ClusterTrustBundles will be unified and deduplicated.",
"type": "string"
}
}
@@ -12395,7 +12646,7 @@
"type": "object",
"properties": {
"name": {
- "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
+ "description": "Name of the referent. This field is effectively required, but due to backwards compatibility is allowed to be empty. Instances of this type with an empty value here are almost certainly wrong. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
"type": "string"
},
"optional": {
@@ -12416,7 +12667,7 @@
"type": "string"
},
"name": {
- "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
+ "description": "Name of the referent. This field is effectively required, but due to backwards compatibility is allowed to be empty. Instances of this type with an empty value here are almost certainly wrong. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
"type": "string"
},
"optional": {
@@ -12431,18 +12682,19 @@
"type": "object",
"properties": {
"items": {
- "description": "If unspecified, each key-value pair in the Data field of the referenced ConfigMap will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the ConfigMap, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'.",
+ "description": "items if unspecified, each key-value pair in the Data field of the referenced ConfigMap will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the ConfigMap, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'.",
"type": "array",
"items": {
"$ref": "#/definitions/io.k8s.api.core.v1.KeyToPath"
- }
+ },
+ "x-kubernetes-list-type": "atomic"
},
"name": {
- "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
+ "description": "Name of the referent. This field is effectively required, but due to backwards compatibility is allowed to be empty. Instances of this type with an empty value here are almost certainly wrong. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
"type": "string"
},
"optional": {
- "description": "Specify whether the ConfigMap or its keys must be defined",
+ "description": "optional specify whether the ConfigMap or its keys must be defined",
"type": "boolean"
}
}
@@ -12452,22 +12704,23 @@
"type": "object",
"properties": {
"defaultMode": {
- "description": "Optional: mode bits used to set permissions on created files by default. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.",
+ "description": "defaultMode is optional: mode bits used to set permissions on created files by default. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.",
"type": "integer"
},
"items": {
- "description": "If unspecified, each key-value pair in the Data field of the referenced ConfigMap will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the ConfigMap, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'.",
+ "description": "items if unspecified, each key-value pair in the Data field of the referenced ConfigMap will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the ConfigMap, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'.",
"type": "array",
"items": {
"$ref": "#/definitions/io.k8s.api.core.v1.KeyToPath"
- }
+ },
+ "x-kubernetes-list-type": "atomic"
},
"name": {
- "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
+ "description": "Name of the referent. This field is effectively required, but due to backwards compatibility is allowed to be empty. Instances of this type with an empty value here are almost certainly wrong. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
"type": "string"
},
"optional": {
- "description": "Specify whether the ConfigMap or its keys must be defined",
+ "description": "optional specify whether the ConfigMap or its keys must be defined",
"type": "boolean"
}
}
@@ -12480,18 +12733,20 @@
],
"properties": {
"args": {
- "description": "Arguments to the entrypoint. The docker image's CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell",
+ "description": "Arguments to the entrypoint. The container image's CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell",
"type": "array",
"items": {
"type": "string"
- }
+ },
+ "x-kubernetes-list-type": "atomic"
},
"command": {
- "description": "Entrypoint array. Not executed within a shell. The docker image's ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell",
+ "description": "Entrypoint array. Not executed within a shell. The container image's ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell",
"type": "array",
"items": {
"type": "string"
- }
+ },
+ "x-kubernetes-list-type": "atomic"
},
"env": {
"description": "List of environment variables to set in the container. Cannot be updated.",
@@ -12499,6 +12754,10 @@
"items": {
"$ref": "#/definitions/io.k8s.api.core.v1.EnvVar"
},
+ "x-kubernetes-list-map-keys": [
+ "name"
+ ],
+ "x-kubernetes-list-type": "map",
"x-kubernetes-patch-merge-key": "name",
"x-kubernetes-patch-strategy": "merge"
},
@@ -12507,20 +12766,16 @@
"type": "array",
"items": {
"$ref": "#/definitions/io.k8s.api.core.v1.EnvFromSource"
- }
+ },
+ "x-kubernetes-list-type": "atomic"
},
"image": {
- "description": "Docker image name. More info: https://kubernetes.io/docs/concepts/containers/images This field is optional to allow higher level config management to default or override container images in workload controllers like Deployments and StatefulSets.",
+ "description": "Container image name. More info: https://kubernetes.io/docs/concepts/containers/images This field is optional to allow higher level config management to default or override container images in workload controllers like Deployments and StatefulSets.",
"type": "string"
},
"imagePullPolicy": {
- "description": "Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images\n\nPossible enum values:\n - `\"Always\"` means that kubelet always attempts to pull the latest image. Container will fail If the pull fails.\n - `\"IfNotPresent\"` means that kubelet pulls if the image isn't present on disk. Container will fail if the image isn't present and the pull fails.\n - `\"Never\"` means that kubelet never pulls an image, but only uses a local image. Container will fail if the image isn't present",
- "type": "string",
- "enum": [
- "Always",
- "IfNotPresent",
- "Never"
- ]
+ "description": "Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images",
+ "type": "string"
},
"lifecycle": {
"description": "Actions that the management system should take in response to container lifecycle events. Cannot be updated.",
@@ -12535,7 +12790,7 @@
"type": "string"
},
"ports": {
- "description": "List of ports to expose from the container. Exposing a port here gives the system additional information about the network connections a container uses, but is primarily informational. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default \"0.0.0.0\" address inside a container will be accessible from the network. Cannot be updated.",
+ "description": "List of ports to expose from the container. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default \"0.0.0.0\" address inside a container will be accessible from the network. Modifying this array with strategic merge patch may corrupt the data. For more information See https://github.com/kubernetes/kubernetes/issues/108255. Cannot be updated.",
"type": "array",
"items": {
"$ref": "#/definitions/io.k8s.api.core.v1.ContainerPort"
@@ -12552,10 +12807,22 @@
"description": "Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes",
"$ref": "#/definitions/io.k8s.api.core.v1.Probe"
},
+ "resizePolicy": {
+ "description": "Resources resize policy for the container.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/io.k8s.api.core.v1.ContainerResizePolicy"
+ },
+ "x-kubernetes-list-type": "atomic"
+ },
"resources": {
"description": "Compute Resources required by this container. Cannot be updated. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/",
"$ref": "#/definitions/io.k8s.api.core.v1.ResourceRequirements"
},
+ "restartPolicy": {
+ "description": "RestartPolicy defines the restart behavior of individual containers in a pod. This field may only be set for init containers, and the only allowed value is \"Always\". For non-init containers or when this field is not specified, the restart behavior is defined by the Pod's restart policy and the container type. Setting the RestartPolicy as \"Always\" for the init container will have the following effect: this init container will be continually restarted on exit until all regular containers have terminated. Once all regular containers have completed, all init containers with restartPolicy \"Always\" will be shut down. This lifecycle differs from normal init containers and is often referred to as a \"sidecar\" container. Although this init container still starts in the init container sequence, it does not wait for the container to complete before proceeding to the next init container. Instead, the next init container starts immediately after this init container is started, or after any startupProbe has successfully completed.",
+ "type": "string"
+ },
"securityContext": {
"description": "SecurityContext defines the security options the container should be run with. If set, the fields of SecurityContext override the equivalent fields of PodSecurityContext. More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/",
"$ref": "#/definitions/io.k8s.api.core.v1.SecurityContext"
@@ -12577,12 +12844,8 @@
"type": "string"
},
"terminationMessagePolicy": {
- "description": "Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated.\n\nPossible enum values:\n - `\"FallbackToLogsOnError\"` will read the most recent contents of the container logs for the container status message when the container exits with an error and the terminationMessagePath has no contents.\n - `\"File\"` is the default behavior and will set the container status message to the contents of the container's terminationMessagePath when the container exits.",
- "type": "string",
- "enum": [
- "FallbackToLogsOnError",
- "File"
- ]
+ "description": "Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated.",
+ "type": "string"
},
"tty": {
"description": "Whether this container should allocate a TTY for itself, also requires 'stdin' to be true. Default is false.",
@@ -12594,6 +12857,10 @@
"items": {
"$ref": "#/definitions/io.k8s.api.core.v1.VolumeDevice"
},
+ "x-kubernetes-list-map-keys": [
+ "devicePath"
+ ],
+ "x-kubernetes-list-type": "map",
"x-kubernetes-patch-merge-key": "devicePath",
"x-kubernetes-patch-strategy": "merge"
},
@@ -12603,6 +12870,10 @@
"items": {
"$ref": "#/definitions/io.k8s.api.core.v1.VolumeMount"
},
+ "x-kubernetes-list-map-keys": [
+ "mountPath"
+ ],
+ "x-kubernetes-list-type": "map",
"x-kubernetes-patch-merge-key": "mountPath",
"x-kubernetes-patch-strategy": "merge"
},
@@ -12636,13 +12907,26 @@
"type": "string"
},
"protocol": {
- "description": "Protocol for port. Must be UDP, TCP, or SCTP. Defaults to \"TCP\".\n\nPossible enum values:\n - `\"SCTP\"` is the SCTP protocol.\n - `\"TCP\"` is the TCP protocol.\n - `\"UDP\"` is the UDP protocol.",
- "type": "string",
- "enum": [
- "SCTP",
- "TCP",
- "UDP"
- ]
+ "description": "Protocol for port. Must be UDP, TCP, or SCTP. Defaults to \"TCP\".",
+ "type": "string"
+ }
+ }
+ },
+ "io.k8s.api.core.v1.ContainerResizePolicy": {
+ "description": "ContainerResizePolicy represents resource resize policy for the container.",
+ "type": "object",
+ "required": [
+ "resourceName",
+ "restartPolicy"
+ ],
+ "properties": {
+ "resourceName": {
+ "description": "Name of the resource to which this resource resize policy applies. Supported values: cpu, memory.",
+ "type": "string"
+ },
+ "restartPolicy": {
+ "description": "Restart policy to apply when specified resource is resized. If not specified, it defaults to NotRequired.",
+ "type": "string"
}
}
},
@@ -12655,7 +12939,8 @@
"type": "array",
"items": {
"$ref": "#/definitions/io.k8s.api.core.v1.DownwardAPIVolumeFile"
- }
+ },
+ "x-kubernetes-list-type": "atomic"
}
}
},
@@ -12667,7 +12952,7 @@
],
"properties": {
"fieldRef": {
- "description": "Required: Selects a field of the pod: only annotations, labels, name and namespace are supported.",
+ "description": "Required: Selects a field of the pod: only annotations, labels, name, namespace and uid are supported.",
"$ref": "#/definitions/io.k8s.api.core.v1.ObjectFieldSelector"
},
"mode": {
@@ -12697,7 +12982,8 @@
"type": "array",
"items": {
"$ref": "#/definitions/io.k8s.api.core.v1.DownwardAPIVolumeFile"
- }
+ },
+ "x-kubernetes-list-type": "atomic"
}
}
},
@@ -12706,11 +12992,11 @@
"type": "object",
"properties": {
"medium": {
- "description": "What type of storage medium should back this directory. The default is \"\" which means to use the node's default medium. Must be an empty string (default) or Memory. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir",
+ "description": "medium represents what type of storage medium should back this directory. The default is \"\" which means to use the node's default medium. Must be an empty string (default) or Memory. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir",
"type": "string"
},
"sizeLimit": {
- "description": "Total amount of local storage required for this EmptyDir volume. The size limit is also applicable for memory medium. The maximum usage on memory medium EmptyDir would be the minimum value between the SizeLimit specified here and the sum of memory limits of all containers in a pod. The default is nil which means that the limit is undefined. More info: http://kubernetes.io/docs/user-guide/volumes#emptydir",
+ "description": "sizeLimit is the total amount of local storage required for this EmptyDir volume. The size limit is also applicable for memory medium. The maximum usage on memory medium EmptyDir would be the minimum value between the SizeLimit specified here and the sum of memory limits of all containers in a pod. The default is nil which means that the limit is undefined. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir",
"$ref": "#/definitions/io.k8s.apimachinery.pkg.api.resource.Quantity"
}
}
@@ -12908,7 +13194,8 @@
"type": "array",
"items": {
"type": "string"
- }
+ },
+ "x-kubernetes-list-type": "atomic"
}
}
},
@@ -12917,30 +13204,32 @@
"type": "object",
"properties": {
"fsType": {
- "description": "Filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified.",
+ "description": "fsType is the filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified.",
"type": "string"
},
"lun": {
- "description": "Optional: FC target lun number",
+ "description": "lun is Optional: FC target lun number",
"type": "integer"
},
"readOnly": {
- "description": "Optional: Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts.",
+ "description": "readOnly is Optional: Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts.",
"type": "boolean"
},
"targetWWNs": {
- "description": "Optional: FC target worldwide names (WWNs)",
+ "description": "targetWWNs is Optional: FC target worldwide names (WWNs)",
"type": "array",
"items": {
"type": "string"
- }
+ },
+ "x-kubernetes-list-type": "atomic"
},
"wwids": {
- "description": "Optional: FC volume world wide identifiers (wwids) Either wwids or combination of targetWWNs and lun must be set, but not both simultaneously.",
+ "description": "wwids Optional: FC volume world wide identifiers (wwids) Either wwids or combination of targetWWNs and lun must be set, but not both simultaneously.",
"type": "array",
"items": {
"type": "string"
- }
+ },
+ "x-kubernetes-list-type": "atomic"
}
}
},
@@ -12952,26 +13241,26 @@
],
"properties": {
"driver": {
- "description": "Driver is the name of the driver to use for this volume.",
+ "description": "driver is the name of the driver to use for this volume.",
"type": "string"
},
"fsType": {
- "description": "Filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. \"ext4\", \"xfs\", \"ntfs\". The default filesystem depends on FlexVolume script.",
+ "description": "fsType is the filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. \"ext4\", \"xfs\", \"ntfs\". The default filesystem depends on FlexVolume script.",
"type": "string"
},
"options": {
- "description": "Optional: Extra command options if any.",
+ "description": "options is Optional: this field holds extra command options if any.",
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"readOnly": {
- "description": "Optional: Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts.",
+ "description": "readOnly is Optional: defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts.",
"type": "boolean"
},
"secretRef": {
- "description": "Optional: SecretRef is reference to the secret object containing sensitive information to pass to the plugin scripts. This may be empty if no secret object is specified. If the secret object contains more than one secret, all secrets are passed to the plugin scripts.",
+ "description": "secretRef is Optional: secretRef is reference to the secret object containing sensitive information to pass to the plugin scripts. This may be empty if no secret object is specified. If the secret object contains more than one secret, all secrets are passed to the plugin scripts.",
"$ref": "#/definitions/io.k8s.api.core.v1.LocalObjectReference"
}
}
@@ -12981,11 +13270,11 @@
"type": "object",
"properties": {
"datasetName": {
- "description": "Name of the dataset stored as metadata -\u003e name on the dataset for Flocker should be considered as deprecated",
+ "description": "datasetName is Name of the dataset stored as metadata -\u003e name on the dataset for Flocker should be considered as deprecated",
"type": "string"
},
"datasetUUID": {
- "description": "UUID of the dataset. This is unique identifier of a Flocker dataset",
+ "description": "datasetUUID is the UUID of the dataset. This is unique identifier of a Flocker dataset",
"type": "string"
}
}
@@ -12998,19 +13287,19 @@
],
"properties": {
"fsType": {
- "description": "Filesystem type of the volume that you want to mount. Tip: Ensure that the filesystem type is supported by the host operating system. Examples: \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk",
+ "description": "fsType is filesystem type of the volume that you want to mount. Tip: Ensure that the filesystem type is supported by the host operating system. Examples: \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk",
"type": "string"
},
"partition": {
- "description": "The partition in the volume that you want to mount. If omitted, the default is to mount by volume name. Examples: For volume /dev/sda1, you specify the partition as \"1\". Similarly, the volume partition for /dev/sda is \"0\" (or you can leave the property empty). More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk",
+ "description": "partition is the partition in the volume that you want to mount. If omitted, the default is to mount by volume name. Examples: For volume /dev/sda1, you specify the partition as \"1\". Similarly, the volume partition for /dev/sda is \"0\" (or you can leave the property empty). More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk",
"type": "integer"
},
"pdName": {
- "description": "Unique name of the PD resource in GCE. Used to identify the disk in GCE. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk",
+ "description": "pdName is unique name of the PD resource in GCE. Used to identify the disk in GCE. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk",
"type": "string"
},
"readOnly": {
- "description": "ReadOnly here will force the ReadOnly setting in VolumeMounts. Defaults to false. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk",
+ "description": "readOnly here will force the ReadOnly setting in VolumeMounts. Defaults to false. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk",
"type": "boolean"
}
}
@@ -13039,15 +13328,15 @@
],
"properties": {
"directory": {
- "description": "Target directory name. Must not contain or start with '..'. If '.' is supplied, the volume directory will be the git repository. Otherwise, if specified, the volume will contain the git repository in the subdirectory with the given name.",
+ "description": "directory is the target directory name. Must not contain or start with '..'. If '.' is supplied, the volume directory will be the git repository. Otherwise, if specified, the volume will contain the git repository in the subdirectory with the given name.",
"type": "string"
},
"repository": {
- "description": "Repository URL",
+ "description": "repository is the URL",
"type": "string"
},
"revision": {
- "description": "Commit hash for the specified revision.",
+ "description": "revision is the commit hash for the specified revision.",
"type": "string"
}
}
@@ -13061,15 +13350,15 @@
],
"properties": {
"endpoints": {
- "description": "EndpointsName is the endpoint name that details Glusterfs topology. More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod",
+ "description": "endpoints is the endpoint name that details Glusterfs topology. More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod",
"type": "string"
},
"path": {
- "description": "Path is the Glusterfs volume path. More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod",
+ "description": "path is the Glusterfs volume path. More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod",
"type": "string"
},
"readOnly": {
- "description": "ReadOnly here will force the Glusterfs volume to be mounted with read-only permissions. Defaults to false. More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod",
+ "description": "readOnly here will force the Glusterfs volume to be mounted with read-only permissions. Defaults to false. More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod",
"type": "boolean"
}
}
@@ -13090,7 +13379,8 @@
"type": "array",
"items": {
"$ref": "#/definitions/io.k8s.api.core.v1.HTTPHeader"
- }
+ },
+ "x-kubernetes-list-type": "atomic"
},
"path": {
"description": "Path to access on the HTTP server.",
@@ -13101,12 +13391,8 @@
"$ref": "#/definitions/io.k8s.apimachinery.pkg.util.intstr.IntOrString"
},
"scheme": {
- "description": "Scheme to use for connecting to the host. Defaults to HTTP.\n\nPossible enum values:\n - `\"HTTP\"` means that the scheme used will be http://\n - `\"HTTPS\"` means that the scheme used will be https://",
- "type": "string",
- "enum": [
- "HTTP",
- "HTTPS"
- ]
+ "description": "Scheme to use for connecting to the host. Defaults to HTTP.",
+ "type": "string"
}
}
},
@@ -13119,7 +13405,7 @@
],
"properties": {
"name": {
- "description": "The header field name",
+ "description": "The header field name. This will be canonicalized upon output, so case-variant names will be understood as the same header.",
"type": "string"
},
"value": {
@@ -13131,13 +13417,17 @@
"io.k8s.api.core.v1.HostAlias": {
"description": "HostAlias holds the mapping between IP and hostnames that will be injected as an entry in the pod's hosts file.",
"type": "object",
+ "required": [
+ "ip"
+ ],
"properties": {
"hostnames": {
"description": "Hostnames for the above IP address.",
"type": "array",
"items": {
"type": "string"
- }
+ },
+ "x-kubernetes-list-type": "atomic"
},
"ip": {
"description": "IP address of the host file entry.",
@@ -13153,11 +13443,11 @@
],
"properties": {
"path": {
- "description": "Path of the directory on the host. If the path is a symlink, it will follow the link to the real path. More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath",
+ "description": "path of the directory on the host. If the path is a symlink, it will follow the link to the real path. More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath",
"type": "string"
},
"type": {
- "description": "Type for HostPath Volume Defaults to \"\" More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath",
+ "description": "type for HostPath Volume Defaults to \"\" More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath",
"type": "string"
}
}
@@ -13172,50 +13462,51 @@
],
"properties": {
"chapAuthDiscovery": {
- "description": "whether support iSCSI Discovery CHAP authentication",
+ "description": "chapAuthDiscovery defines whether support iSCSI Discovery CHAP authentication",
"type": "boolean"
},
"chapAuthSession": {
- "description": "whether support iSCSI Session CHAP authentication",
+ "description": "chapAuthSession defines whether support iSCSI Session CHAP authentication",
"type": "boolean"
},
"fsType": {
- "description": "Filesystem type of the volume that you want to mount. Tip: Ensure that the filesystem type is supported by the host operating system. Examples: \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified. More info: https://kubernetes.io/docs/concepts/storage/volumes#iscsi",
+ "description": "fsType is the filesystem type of the volume that you want to mount. Tip: Ensure that the filesystem type is supported by the host operating system. Examples: \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified. More info: https://kubernetes.io/docs/concepts/storage/volumes#iscsi",
"type": "string"
},
"initiatorName": {
- "description": "Custom iSCSI Initiator Name. If initiatorName is specified with iscsiInterface simultaneously, new iSCSI interface \u003ctarget portal\u003e:\u003cvolume name\u003e will be created for the connection.",
+ "description": "initiatorName is the custom iSCSI Initiator Name. If initiatorName is specified with iscsiInterface simultaneously, new iSCSI interface \u003ctarget portal\u003e:\u003cvolume name\u003e will be created for the connection.",
"type": "string"
},
"iqn": {
- "description": "Target iSCSI Qualified Name.",
+ "description": "iqn is the target iSCSI Qualified Name.",
"type": "string"
},
"iscsiInterface": {
- "description": "iSCSI Interface Name that uses an iSCSI transport. Defaults to 'default' (tcp).",
+ "description": "iscsiInterface is the interface Name that uses an iSCSI transport. Defaults to 'default' (tcp).",
"type": "string"
},
"lun": {
- "description": "iSCSI Target Lun number.",
+ "description": "lun represents iSCSI Target Lun number.",
"type": "integer"
},
"portals": {
- "description": "iSCSI Target Portal List. The portal is either an IP or ip_addr:port if the port is other than default (typically TCP ports 860 and 3260).",
+ "description": "portals is the iSCSI Target Portal List. The portal is either an IP or ip_addr:port if the port is other than default (typically TCP ports 860 and 3260).",
"type": "array",
"items": {
"type": "string"
- }
+ },
+ "x-kubernetes-list-type": "atomic"
},
"readOnly": {
- "description": "ReadOnly here will force the ReadOnly setting in VolumeMounts. Defaults to false.",
+ "description": "readOnly here will force the ReadOnly setting in VolumeMounts. Defaults to false.",
"type": "boolean"
},
"secretRef": {
- "description": "CHAP Secret for iSCSI target and initiator authentication",
+ "description": "secretRef is the CHAP Secret for iSCSI target and initiator authentication",
"$ref": "#/definitions/io.k8s.api.core.v1.LocalObjectReference"
},
"targetPortal": {
- "description": "iSCSI Target Portal. The Portal is either an IP or ip_addr:port if the port is other than default (typically TCP ports 860 and 3260).",
+ "description": "targetPortal is iSCSI Target Portal. The Portal is either an IP or ip_addr:port if the port is other than default (typically TCP ports 860 and 3260).",
"type": "string"
}
}
@@ -13229,15 +13520,15 @@
],
"properties": {
"key": {
- "description": "The key to project.",
+ "description": "key is the key to project.",
"type": "string"
},
"mode": {
- "description": "Optional: mode bits used to set permissions on this file. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.",
+ "description": "mode is Optional: mode bits used to set permissions on this file. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.",
"type": "integer"
},
"path": {
- "description": "The relative path of the file to map the key to. May not be an absolute path. May not contain the path element '..'. May not start with the string '..'.",
+ "description": "path is the relative path of the file to map the key to. May not be an absolute path. May not contain the path element '..'. May not start with the string '..'.",
"type": "string"
}
}
@@ -13268,6 +13559,10 @@
"description": "HTTPGet specifies the http request to perform.",
"$ref": "#/definitions/io.k8s.api.core.v1.HTTPGetAction"
},
+ "sleep": {
+ "description": "Sleep represents the duration that the container should sleep before being terminated.",
+ "$ref": "#/definitions/io.k8s.api.core.v1.SleepAction"
+ },
"tcpSocket": {
"description": "Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept for the backward compatibility. There are no validation of this field and lifecycle hooks will fail in runtime when tcp handler is specified.",
"$ref": "#/definitions/io.k8s.api.core.v1.TCPSocketAction"
@@ -13279,12 +13574,29 @@
"type": "object",
"properties": {
"name": {
- "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
+ "description": "Name of the referent. This field is effectively required, but due to backwards compatibility is allowed to be empty. Instances of this type with an empty value here are almost certainly wrong. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
"type": "string"
}
},
"x-kubernetes-map-type": "atomic"
},
+ "io.k8s.api.core.v1.ModifyVolumeStatus": {
+ "description": "ModifyVolumeStatus represents the status object of ControllerModifyVolume operation",
+ "type": "object",
+ "required": [
+ "status"
+ ],
+ "properties": {
+ "status": {
+ "description": "status is the status of the ControllerModifyVolume operation. It can be in any of following states:\n - Pending\n Pending indicates that the PersistentVolumeClaim cannot be modified due to unmet requirements, such as\n the specified VolumeAttributesClass not existing.\n - InProgress\n InProgress indicates that the volume is being modified.\n - Infeasible\n Infeasible indicates that the request has been rejected as invalid by the CSI driver. To\n\t resolve the error, a valid VolumeAttributesClass needs to be specified.\nNote: New statuses can be added in the future. Consumers should check for unknown statuses and fail appropriately.",
+ "type": "string"
+ },
+ "targetVolumeAttributesClassName": {
+ "description": "targetVolumeAttributesClassName is the name of the VolumeAttributesClass the PVC currently being reconciled",
+ "type": "string"
+ }
+ }
+ },
"io.k8s.api.core.v1.NFSVolumeSource": {
"description": "Represents an NFS mount that lasts the lifetime of a pod. NFS volumes do not support ownership management or SELinux relabeling.",
"type": "object",
@@ -13294,15 +13606,15 @@
],
"properties": {
"path": {
- "description": "Path that is exported by the NFS server. More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs",
+ "description": "path that is exported by the NFS server. More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs",
"type": "string"
},
"readOnly": {
- "description": "ReadOnly here will force the NFS export to be mounted with read-only permissions. Defaults to false. More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs",
+ "description": "readOnly here will force the NFS export to be mounted with read-only permissions. Defaults to false. More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs",
"type": "boolean"
},
"server": {
- "description": "Server is the hostname or IP address of the NFS server. More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs",
+ "description": "server is the hostname or IP address of the NFS server. More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs",
"type": "string"
}
}
@@ -13316,7 +13628,8 @@
"type": "array",
"items": {
"$ref": "#/definitions/io.k8s.api.core.v1.PreferredSchedulingTerm"
- }
+ },
+ "x-kubernetes-list-type": "atomic"
},
"requiredDuringSchedulingIgnoredDuringExecution": {
"description": "If the affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to an update), the system may or may not try to eventually evict the pod from its node.",
@@ -13336,7 +13649,8 @@
"type": "array",
"items": {
"$ref": "#/definitions/io.k8s.api.core.v1.NodeSelectorTerm"
- }
+ },
+ "x-kubernetes-list-type": "atomic"
}
},
"x-kubernetes-map-type": "atomic"
@@ -13354,23 +13668,16 @@
"type": "string"
},
"operator": {
- "description": "Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.\n\nPossible enum values:\n - `\"DoesNotExist\"`\n - `\"Exists\"`\n - `\"Gt\"`\n - `\"In\"`\n - `\"Lt\"`\n - `\"NotIn\"`",
- "type": "string",
- "enum": [
- "DoesNotExist",
- "Exists",
- "Gt",
- "In",
- "Lt",
- "NotIn"
- ]
+ "description": "Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.",
+ "type": "string"
},
"values": {
"description": "An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch.",
"type": "array",
"items": {
"type": "string"
- }
+ },
+ "x-kubernetes-list-type": "atomic"
}
}
},
@@ -13383,14 +13690,16 @@
"type": "array",
"items": {
"$ref": "#/definitions/io.k8s.api.core.v1.NodeSelectorRequirement"
- }
+ },
+ "x-kubernetes-list-type": "atomic"
},
"matchFields": {
"description": "A list of node selector requirements by node's fields.",
"type": "array",
"items": {
"$ref": "#/definitions/io.k8s.api.core.v1.NodeSelectorRequirement"
- }
+ },
+ "x-kubernetes-list-type": "atomic"
}
},
"x-kubernetes-map-type": "atomic"
@@ -13465,11 +13774,11 @@
"$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta"
},
"spec": {
- "description": "Spec defines the desired characteristics of a volume requested by a pod author. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims",
+ "description": "spec defines the desired characteristics of a volume requested by a pod author. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims",
"$ref": "#/definitions/io.k8s.api.core.v1.PersistentVolumeClaimSpec"
},
"status": {
- "description": "Status represents the current information/status of a persistent volume claim. Read-only. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims",
+ "description": "status represents the current information/status of a persistent volume claim. Read-only. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims",
"$ref": "#/definitions/io.k8s.api.core.v1.PersistentVolumeClaimStatus"
}
},
@@ -13482,7 +13791,7 @@
]
},
"io.k8s.api.core.v1.PersistentVolumeClaimCondition": {
- "description": "PersistentVolumeClaimCondition contails details about state of pvc",
+ "description": "PersistentVolumeClaimCondition contains details about state of pvc",
"type": "object",
"required": [
"type",
@@ -13490,31 +13799,26 @@
],
"properties": {
"lastProbeTime": {
- "description": "Last time we probed the condition.",
+ "description": "lastProbeTime is the time we probed the condition.",
"$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Time"
},
"lastTransitionTime": {
- "description": "Last time the condition transitioned from one status to another.",
+ "description": "lastTransitionTime is the time the condition transitioned from one status to another.",
"$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Time"
},
"message": {
- "description": "Human-readable message indicating details about last transition.",
+ "description": "message is the human-readable message indicating details about last transition.",
"type": "string"
},
"reason": {
- "description": "Unique, this should be a short, machine understandable string that gives the reason for condition's last transition. If it reports \"ResizeStarted\" that means the underlying persistent volume is being resized.",
+ "description": "reason is a unique, this should be a short, machine understandable string that gives the reason for condition's last transition. If it reports \"Resizing\" that means the underlying persistent volume is being resized.",
"type": "string"
},
"status": {
"type": "string"
},
"type": {
- "description": "\n\n\nPossible enum values:\n - `\"FileSystemResizePending\"` - controller resize is finished and a file system resize is pending on node\n - `\"Resizing\"` - a user trigger resize of pvc has been started",
- "type": "string",
- "enum": [
- "FileSystemResizePending",
- "Resizing"
- ]
+ "type": "string"
}
}
},
@@ -13523,30 +13827,35 @@
"type": "object",
"properties": {
"accessModes": {
- "description": "AccessModes contains the desired access modes the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1",
+ "description": "accessModes contains the desired access modes the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1",
"type": "array",
"items": {
"type": "string"
- }
+ },
+ "x-kubernetes-list-type": "atomic"
},
"dataSource": {
- "description": "This field can be used to specify either: * An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot) * An existing PVC (PersistentVolumeClaim) If the provisioner or an external controller can support the specified data source, it will create a new volume based on the contents of the specified data source. If the AnyVolumeDataSource feature gate is enabled, this field will always have the same contents as the DataSourceRef field.",
+ "description": "dataSource field can be used to specify either: * An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot) * An existing PVC (PersistentVolumeClaim) If the provisioner or an external controller can support the specified data source, it will create a new volume based on the contents of the specified data source. When the AnyVolumeDataSource feature gate is enabled, dataSource contents will be copied to dataSourceRef, and dataSourceRef contents will be copied to dataSource when dataSourceRef.namespace is not specified. If the namespace is specified, then dataSourceRef will not be copied to dataSource.",
"$ref": "#/definitions/io.k8s.api.core.v1.TypedLocalObjectReference"
},
"dataSourceRef": {
- "description": "Specifies the object from which to populate the volume with data, if a non-empty volume is desired. This may be any local object from a non-empty API group (non core object) or a PersistentVolumeClaim object. When this field is specified, volume binding will only succeed if the type of the specified object matches some installed volume populator or dynamic provisioner. This field will replace the functionality of the DataSource field and as such if both fields are non-empty, they must have the same value. For backwards compatibility, both fields (DataSource and DataSourceRef) will be set to the same value automatically if one of them is empty and the other is non-empty. There are two important differences between DataSource and DataSourceRef: * While DataSource only allows two specific types of objects, DataSourceRef\n allows any non-core object, as well as PersistentVolumeClaim objects.\n* While DataSource ignores disallowed values (dropping them), DataSourceRef\n preserves all values, and generates an error if a disallowed value is\n specified.\n(Alpha) Using this field requires the AnyVolumeDataSource feature gate to be enabled.",
- "$ref": "#/definitions/io.k8s.api.core.v1.TypedLocalObjectReference"
+ "description": "dataSourceRef specifies the object from which to populate the volume with data, if a non-empty volume is desired. This may be any object from a non-empty API group (non core object) or a PersistentVolumeClaim object. When this field is specified, volume binding will only succeed if the type of the specified object matches some installed volume populator or dynamic provisioner. This field will replace the functionality of the dataSource field and as such if both fields are non-empty, they must have the same value. For backwards compatibility, when namespace isn't specified in dataSourceRef, both fields (dataSource and dataSourceRef) will be set to the same value automatically if one of them is empty and the other is non-empty. When namespace is specified in dataSourceRef, dataSource isn't set to the same value and must be empty. There are three important differences between dataSource and dataSourceRef: * While dataSource only allows two specific types of objects, dataSourceRef\n allows any non-core object, as well as PersistentVolumeClaim objects.\n* While dataSource ignores disallowed values (dropping them), dataSourceRef\n preserves all values, and generates an error if a disallowed value is\n specified.\n* While dataSource only allows local objects, dataSourceRef allows objects\n in any namespaces.\n(Beta) Using this field requires the AnyVolumeDataSource feature gate to be enabled. (Alpha) Using the namespace field of dataSourceRef requires the CrossNamespaceVolumeDataSource feature gate to be enabled.",
+ "$ref": "#/definitions/io.k8s.api.core.v1.TypedObjectReference"
},
"resources": {
- "description": "Resources represents the minimum resources the volume should have. If RecoverVolumeExpansionFailure feature is enabled users are allowed to specify resource requirements that are lower than previous value but must still be higher than capacity recorded in the status field of the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources",
- "$ref": "#/definitions/io.k8s.api.core.v1.ResourceRequirements"
+ "description": "resources represents the minimum resources the volume should have. If RecoverVolumeExpansionFailure feature is enabled users are allowed to specify resource requirements that are lower than previous value but must still be higher than capacity recorded in the status field of the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources",
+ "$ref": "#/definitions/io.k8s.api.core.v1.VolumeResourceRequirements"
},
"selector": {
- "description": "A label query over volumes to consider for binding.",
+ "description": "selector is a label query over volumes to consider for binding.",
"$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.LabelSelector"
},
"storageClassName": {
- "description": "Name of the StorageClass required by the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1",
+ "description": "storageClassName is the name of the StorageClass required by the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1",
+ "type": "string"
+ },
+ "volumeAttributesClassName": {
+ "description": "volumeAttributesClassName may be used to set the VolumeAttributesClass used by this claim. If specified, the CSI driver will create or update the volume with the attributes defined in the corresponding VolumeAttributesClass. This has a different purpose than storageClassName, it can be changed after the claim is created. An empty string value means that no VolumeAttributesClass will be applied to the claim but it's not allowed to reset this field to empty string once it is set. If unspecified and the PersistentVolumeClaim is unbound, the default VolumeAttributesClass will be set by the persistentvolume controller if it exists. If the resource referred to by volumeAttributesClass does not exist, this PersistentVolumeClaim will be set to a Pending state, as reflected by the modifyVolumeStatus field, until such as a resource exists. More info: https://kubernetes.io/docs/concepts/storage/volume-attributes-classes/ (Alpha) Using this field requires the VolumeAttributesClass feature gate to be enabled.",
"type": "string"
},
"volumeMode": {
@@ -13554,7 +13863,7 @@
"type": "string"
},
"volumeName": {
- "description": "VolumeName is the binding reference to the PersistentVolume backing this claim.",
+ "description": "volumeName is the binding reference to the PersistentVolume backing this claim.",
"type": "string"
}
}
@@ -13564,46 +13873,58 @@
"type": "object",
"properties": {
"accessModes": {
- "description": "AccessModes contains the actual access modes the volume backing the PVC has. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1",
+ "description": "accessModes contains the actual access modes the volume backing the PVC has. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1",
"type": "array",
"items": {
"type": "string"
- }
+ },
+ "x-kubernetes-list-type": "atomic"
+ },
+ "allocatedResourceStatuses": {
+ "description": "allocatedResourceStatuses stores status of resource being resized for the given PVC. Key names follow standard Kubernetes label syntax. Valid values are either:\n\t* Un-prefixed keys:\n\t\t- storage - the capacity of the volume.\n\t* Custom resources must use implementation-defined prefixed names such as \"example.com/my-custom-resource\"\nApart from above values - keys that are unprefixed or have kubernetes.io prefix are considered reserved and hence may not be used.\n\nClaimResourceStatus can be in any of following states:\n\t- ControllerResizeInProgress:\n\t\tState set when resize controller starts resizing the volume in control-plane.\n\t- ControllerResizeFailed:\n\t\tState set when resize has failed in resize controller with a terminal error.\n\t- NodeResizePending:\n\t\tState set when resize controller has finished resizing the volume but further resizing of\n\t\tvolume is needed on the node.\n\t- NodeResizeInProgress:\n\t\tState set when kubelet starts resizing the volume.\n\t- NodeResizeFailed:\n\t\tState set when resizing has failed in kubelet with a terminal error. Transient errors don't set\n\t\tNodeResizeFailed.\nFor example: if expanding a PVC for more capacity - this field can be one of the following states:\n\t- pvc.status.allocatedResourceStatus['storage'] = \"ControllerResizeInProgress\"\n - pvc.status.allocatedResourceStatus['storage'] = \"ControllerResizeFailed\"\n - pvc.status.allocatedResourceStatus['storage'] = \"NodeResizePending\"\n - pvc.status.allocatedResourceStatus['storage'] = \"NodeResizeInProgress\"\n - pvc.status.allocatedResourceStatus['storage'] = \"NodeResizeFailed\"\nWhen this field is not set, it means that no resize operation is in progress for the given PVC.\n\nA controller that receives PVC update with previously unknown resourceName or ClaimResourceStatus should ignore the update for the purpose it was designed. For example - a controller that only is responsible for resizing capacity of the volume, should ignore PVC updates that change other valid resources associated with PVC.\n\nThis is an alpha field and requires enabling RecoverVolumeExpansionFailure feature.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "x-kubernetes-map-type": "granular"
},
"allocatedResources": {
- "description": "The storage resource within AllocatedResources tracks the capacity allocated to a PVC. It may be larger than the actual capacity when a volume expansion operation is requested. For storage quota, the larger value from allocatedResources and PVC.spec.resources is used. If allocatedResources is not set, PVC.spec.resources alone is used for quota calculation. If a volume expansion capacity request is lowered, allocatedResources is only lowered if there are no expansion operations in progress and if the actual volume capacity is equal or lower than the requested capacity. This is an alpha field and requires enabling RecoverVolumeExpansionFailure feature.",
+ "description": "allocatedResources tracks the resources allocated to a PVC including its capacity. Key names follow standard Kubernetes label syntax. Valid values are either:\n\t* Un-prefixed keys:\n\t\t- storage - the capacity of the volume.\n\t* Custom resources must use implementation-defined prefixed names such as \"example.com/my-custom-resource\"\nApart from above values - keys that are unprefixed or have kubernetes.io prefix are considered reserved and hence may not be used.\n\nCapacity reported here may be larger than the actual capacity when a volume expansion operation is requested. For storage quota, the larger value from allocatedResources and PVC.spec.resources is used. If allocatedResources is not set, PVC.spec.resources alone is used for quota calculation. If a volume expansion capacity request is lowered, allocatedResources is only lowered if there are no expansion operations in progress and if the actual volume capacity is equal or lower than the requested capacity.\n\nA controller that receives PVC update with previously unknown resourceName should ignore the update for the purpose it was designed. For example - a controller that only is responsible for resizing capacity of the volume, should ignore PVC updates that change other valid resources associated with PVC.\n\nThis is an alpha field and requires enabling RecoverVolumeExpansionFailure feature.",
"type": "object",
"additionalProperties": {
"$ref": "#/definitions/io.k8s.apimachinery.pkg.api.resource.Quantity"
}
},
"capacity": {
- "description": "Represents the actual resources of the underlying volume.",
+ "description": "capacity represents the actual resources of the underlying volume.",
"type": "object",
"additionalProperties": {
"$ref": "#/definitions/io.k8s.apimachinery.pkg.api.resource.Quantity"
}
},
"conditions": {
- "description": "Current Condition of persistent volume claim. If underlying persistent volume is being resized then the Condition will be set to 'ResizeStarted'.",
+ "description": "conditions is the current Condition of persistent volume claim. If underlying persistent volume is being resized then the Condition will be set to 'Resizing'.",
"type": "array",
"items": {
"$ref": "#/definitions/io.k8s.api.core.v1.PersistentVolumeClaimCondition"
},
+ "x-kubernetes-list-map-keys": [
+ "type"
+ ],
+ "x-kubernetes-list-type": "map",
"x-kubernetes-patch-merge-key": "type",
"x-kubernetes-patch-strategy": "merge"
},
- "phase": {
- "description": "Phase represents the current phase of PersistentVolumeClaim.\n\nPossible enum values:\n - `\"Bound\"` used for PersistentVolumeClaims that are bound\n - `\"Lost\"` used for PersistentVolumeClaims that lost their underlying PersistentVolume. The claim was bound to a PersistentVolume and this volume does not exist any longer and all data on it was lost.\n - `\"Pending\"` used for PersistentVolumeClaims that are not yet bound",
- "type": "string",
- "enum": [
- "Bound",
- "Lost",
- "Pending"
- ]
+ "currentVolumeAttributesClassName": {
+ "description": "currentVolumeAttributesClassName is the current name of the VolumeAttributesClass the PVC is using. When unset, there is no VolumeAttributeClass applied to this PersistentVolumeClaim This is an alpha field and requires enabling VolumeAttributesClass feature.",
+ "type": "string"
+ },
+ "modifyVolumeStatus": {
+ "description": "ModifyVolumeStatus represents the status object of ControllerModifyVolume operation. When this is unset, there is no ModifyVolume operation being attempted. This is an alpha field and requires enabling VolumeAttributesClass feature.",
+ "$ref": "#/definitions/io.k8s.api.core.v1.ModifyVolumeStatus"
},
- "resizeStatus": {
- "description": "ResizeStatus stores status of resize operation. ResizeStatus is not set by default but when expansion is complete resizeStatus is set to empty string by resize controller or kubelet. This is an alpha field and requires enabling RecoverVolumeExpansionFailure feature.",
+ "phase": {
+ "description": "phase represents the current phase of PersistentVolumeClaim.",
"type": "string"
}
}
@@ -13633,11 +13954,11 @@
],
"properties": {
"claimName": {
- "description": "ClaimName is the name of a PersistentVolumeClaim in the same namespace as the pod using this volume. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims",
+ "description": "claimName is the name of a PersistentVolumeClaim in the same namespace as the pod using this volume. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims",
"type": "string"
},
"readOnly": {
- "description": "Will force the ReadOnly setting in VolumeMounts. Default false.",
+ "description": "readOnly Will force the ReadOnly setting in VolumeMounts. Default false.",
"type": "boolean"
}
}
@@ -13650,11 +13971,11 @@
],
"properties": {
"fsType": {
- "description": "Filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified.",
+ "description": "fsType is the filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified.",
"type": "string"
},
"pdID": {
- "description": "ID that identifies Photon Controller persistent disk",
+ "description": "pdID is the ID that identifies Photon Controller persistent disk",
"type": "string"
}
}
@@ -13668,14 +13989,16 @@
"type": "array",
"items": {
"$ref": "#/definitions/io.k8s.api.core.v1.WeightedPodAffinityTerm"
- }
+ },
+ "x-kubernetes-list-type": "atomic"
},
"requiredDuringSchedulingIgnoredDuringExecution": {
"description": "If the affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to a pod label update), the system may or may not try to eventually evict the pod from its node. When there are multiple elements, the lists of nodes corresponding to each podAffinityTerm are intersected, i.e. all terms must be satisfied.",
"type": "array",
"items": {
"$ref": "#/definitions/io.k8s.api.core.v1.PodAffinityTerm"
- }
+ },
+ "x-kubernetes-list-type": "atomic"
}
}
},
@@ -13687,19 +14010,36 @@
],
"properties": {
"labelSelector": {
- "description": "A label query over a set of resources, in this case pods.",
+ "description": "A label query over a set of resources, in this case pods. If it's null, this PodAffinityTerm matches with no Pods.",
"$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.LabelSelector"
},
+ "matchLabelKeys": {
+ "description": "MatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)` to select the group of existing pods which pods will be taken into consideration for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both matchLabelKeys and labelSelector. Also, matchLabelKeys cannot be set when labelSelector isn't set. This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "x-kubernetes-list-type": "atomic"
+ },
+ "mismatchLabelKeys": {
+ "description": "MismatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)` to select the group of existing pods which pods will be taken into consideration for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both mismatchLabelKeys and labelSelector. Also, mismatchLabelKeys cannot be set when labelSelector isn't set. This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "x-kubernetes-list-type": "atomic"
+ },
"namespaceSelector": {
- "description": "A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means \"this pod's namespace\". An empty selector ({}) matches all namespaces. This field is beta-level and is only honored when PodAffinityNamespaceSelector feature is enabled.",
+ "description": "A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means \"this pod's namespace\". An empty selector ({}) matches all namespaces.",
"$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.LabelSelector"
},
"namespaces": {
- "description": "namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means \"this pod's namespace\"",
+ "description": "namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means \"this pod's namespace\".",
"type": "array",
"items": {
"type": "string"
- }
+ },
+ "x-kubernetes-list-type": "atomic"
},
"topologyKey": {
"description": "This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces, where co-located is defined as running on a node whose value of the label with key topologyKey matches that of any node on which any of the selected pods is running. Empty topologyKey is not allowed.",
@@ -13716,14 +14056,16 @@
"type": "array",
"items": {
"$ref": "#/definitions/io.k8s.api.core.v1.WeightedPodAffinityTerm"
- }
+ },
+ "x-kubernetes-list-type": "atomic"
},
"requiredDuringSchedulingIgnoredDuringExecution": {
"description": "If the anti-affinity requirements specified by this field are not met at scheduling time, the pod will not be scheduled onto the node. If the anti-affinity requirements specified by this field cease to be met at some point during pod execution (e.g. due to a pod label update), the system may or may not try to eventually evict the pod from its node. When there are multiple elements, the lists of nodes corresponding to each podAffinityTerm are intersected, i.e. all terms must be satisfied.",
"type": "array",
"items": {
"$ref": "#/definitions/io.k8s.api.core.v1.PodAffinityTerm"
- }
+ },
+ "x-kubernetes-list-type": "atomic"
}
}
},
@@ -13736,21 +14078,24 @@
"type": "array",
"items": {
"type": "string"
- }
+ },
+ "x-kubernetes-list-type": "atomic"
},
"options": {
"description": "A list of DNS resolver options. This will be merged with the base options generated from DNSPolicy. Duplicated entries will be removed. Resolution options given in Options will override those that appear in the base DNSPolicy.",
"type": "array",
"items": {
"$ref": "#/definitions/io.k8s.api.core.v1.PodDNSConfigOption"
- }
+ },
+ "x-kubernetes-list-type": "atomic"
},
"searches": {
"description": "A list of DNS search domains for host-name lookup. This will be appended to the base search paths generated from DNSPolicy. Duplicated search paths will be removed.",
"type": "array",
"items": {
"type": "string"
- }
+ },
+ "x-kubernetes-list-type": "atomic"
}
}
},
@@ -13771,6 +14116,10 @@
"description": "PodSecurityContext holds pod-level security attributes and common container settings. Some fields are also present in container.securityContext. Field values of container.securityContext take precedence over field values of PodSecurityContext.",
"type": "object",
"properties": {
+ "appArmorProfile": {
+ "description": "appArmorProfile is the AppArmor options to use by the containers in this pod. Note that this field cannot be set when spec.os.name is windows.",
+ "$ref": "#/definitions/io.k8s.api.core.v1.AppArmorProfile"
+ },
"fsGroup": {
"description": "A special supplemental group that applies to all containers in a pod. Some volume types allow the Kubelet to change the ownership of that volume to be owned by the pod:\n\n1. The owning GID will be the FSGroup 2. The setgid bit is set (new files created in the volume will be owned by FSGroup) 3. The permission bits are OR'd with rw-rw----\n\nIf unset, the Kubelet will not modify the ownership and permissions of any volume. Note that this field cannot be set when spec.os.name is windows.",
"type": "integer"
@@ -13800,19 +14149,21 @@
"$ref": "#/definitions/io.k8s.api.core.v1.SeccompProfile"
},
"supplementalGroups": {
- "description": "A list of groups applied to the first process run in each container, in addition to the container's primary GID. If unspecified, no groups will be added to any container. Note that this field cannot be set when spec.os.name is windows.",
+ "description": "A list of groups applied to the first process run in each container, in addition to the container's primary GID, the fsGroup (if specified), and group memberships defined in the container image for the uid of the container process. If unspecified, no additional groups are added to any container. Note that group memberships defined in the container image for the uid of the container process are still effective, even if they are not included in this list. Note that this field cannot be set when spec.os.name is windows.",
"type": "array",
"items": {
"type": "integer",
"format": "int64"
- }
+ },
+ "x-kubernetes-list-type": "atomic"
},
"sysctls": {
"description": "Sysctls hold a list of namespaced sysctls used for the pod. Pods with unsupported sysctls (by the container runtime) might fail to launch. Note that this field cannot be set when spec.os.name is windows.",
"type": "array",
"items": {
"$ref": "#/definitions/io.k8s.api.core.v1.Sysctl"
- }
+ },
+ "x-kubernetes-list-type": "atomic"
},
"windowsOptions": {
"description": "The Windows specific settings applied to all containers. If unspecified, the options within a container's SecurityContext will be used. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. Note that this field cannot be set when spec.os.name is linux.",
@@ -13828,15 +14179,15 @@
],
"properties": {
"fsType": {
- "description": "FSType represents the filesystem type to mount Must be a filesystem type supported by the host operating system. Ex. \"ext4\", \"xfs\". Implicitly inferred to be \"ext4\" if unspecified.",
+ "description": "fSType represents the filesystem type to mount Must be a filesystem type supported by the host operating system. Ex. \"ext4\", \"xfs\". Implicitly inferred to be \"ext4\" if unspecified.",
"type": "string"
},
"readOnly": {
- "description": "Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts.",
+ "description": "readOnly defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts.",
"type": "boolean"
},
"volumeID": {
- "description": "VolumeID uniquely identifies a Portworx volume",
+ "description": "volumeID uniquely identifies a Portworx volume",
"type": "string"
}
}
@@ -13872,7 +14223,7 @@
"type": "integer"
},
"grpc": {
- "description": "GRPC specifies an action involving a GRPC port. This is an alpha field and requires enabling GRPCContainerProbe feature gate.",
+ "description": "GRPC specifies an action involving a GRPC port.",
"$ref": "#/definitions/io.k8s.api.core.v1.GRPCAction"
},
"httpGet": {
@@ -13910,15 +14261,16 @@
"type": "object",
"properties": {
"defaultMode": {
- "description": "Mode bits used to set permissions on created files by default. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.",
+ "description": "defaultMode are the mode bits used to set permissions on created files by default. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.",
"type": "integer"
},
"sources": {
- "description": "list of volume projections",
+ "description": "sources is the list of volume projections",
"type": "array",
"items": {
"$ref": "#/definitions/io.k8s.api.core.v1.VolumeProjection"
- }
+ },
+ "x-kubernetes-list-type": "atomic"
}
}
},
@@ -13931,27 +14283,27 @@
],
"properties": {
"group": {
- "description": "Group to map volume access to Default is no group",
+ "description": "group to map volume access to Default is no group",
"type": "string"
},
"readOnly": {
- "description": "ReadOnly here will force the Quobyte volume to be mounted with read-only permissions. Defaults to false.",
+ "description": "readOnly here will force the Quobyte volume to be mounted with read-only permissions. Defaults to false.",
"type": "boolean"
},
"registry": {
- "description": "Registry represents a single or multiple Quobyte Registry services specified as a string as host:port pair (multiple entries are separated with commas) which acts as the central registry for volumes",
+ "description": "registry represents a single or multiple Quobyte Registry services specified as a string as host:port pair (multiple entries are separated with commas) which acts as the central registry for volumes",
"type": "string"
},
"tenant": {
- "description": "Tenant owning the given Quobyte volume in the Backend Used with dynamically provisioned Quobyte volumes, value is set by the plugin",
+ "description": "tenant owning the given Quobyte volume in the Backend Used with dynamically provisioned Quobyte volumes, value is set by the plugin",
"type": "string"
},
"user": {
- "description": "User to map volume access to Defaults to serivceaccount user",
+ "description": "user to map volume access to Defaults to serivceaccount user",
"type": "string"
},
"volume": {
- "description": "Volume is a string that references an already created Quobyte volume by name.",
+ "description": "volume is a string that references an already created Quobyte volume by name.",
"type": "string"
}
}
@@ -13965,38 +14317,52 @@
],
"properties": {
"fsType": {
- "description": "Filesystem type of the volume that you want to mount. Tip: Ensure that the filesystem type is supported by the host operating system. Examples: \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified. More info: https://kubernetes.io/docs/concepts/storage/volumes#rbd",
+ "description": "fsType is the filesystem type of the volume that you want to mount. Tip: Ensure that the filesystem type is supported by the host operating system. Examples: \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified. More info: https://kubernetes.io/docs/concepts/storage/volumes#rbd",
"type": "string"
},
"image": {
- "description": "The rados image name. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it",
+ "description": "image is the rados image name. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it",
"type": "string"
},
"keyring": {
- "description": "Keyring is the path to key ring for RBDUser. Default is /etc/ceph/keyring. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it",
+ "description": "keyring is the path to key ring for RBDUser. Default is /etc/ceph/keyring. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it",
"type": "string"
},
"monitors": {
- "description": "A collection of Ceph monitors. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it",
+ "description": "monitors is a collection of Ceph monitors. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it",
"type": "array",
"items": {
"type": "string"
- }
+ },
+ "x-kubernetes-list-type": "atomic"
},
"pool": {
- "description": "The rados pool name. Default is rbd. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it",
+ "description": "pool is the rados pool name. Default is rbd. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it",
"type": "string"
},
"readOnly": {
- "description": "ReadOnly here will force the ReadOnly setting in VolumeMounts. Defaults to false. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it",
+ "description": "readOnly here will force the ReadOnly setting in VolumeMounts. Defaults to false. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it",
"type": "boolean"
},
"secretRef": {
- "description": "SecretRef is name of the authentication secret for RBDUser. If provided overrides keyring. Default is nil. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it",
+ "description": "secretRef is name of the authentication secret for RBDUser. If provided overrides keyring. Default is nil. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it",
"$ref": "#/definitions/io.k8s.api.core.v1.LocalObjectReference"
},
"user": {
- "description": "The rados user name. Default is admin. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it",
+ "description": "user is the rados user name. Default is admin. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it",
+ "type": "string"
+ }
+ }
+ },
+ "io.k8s.api.core.v1.ResourceClaim": {
+ "description": "ResourceClaim references one entry in PodSpec.ResourceClaims.",
+ "type": "object",
+ "required": [
+ "name"
+ ],
+ "properties": {
+ "name": {
+ "description": "Name must match the name of one entry in pod.spec.resourceClaims of the Pod where this field is used. It makes that resource available inside a container.",
"type": "string"
}
}
@@ -14027,6 +14393,17 @@
"description": "ResourceRequirements describes the compute resource requirements.",
"type": "object",
"properties": {
+ "claims": {
+ "description": "Claims lists the names of resources, defined in spec.resourceClaims, that are used by this container.\n\nThis is an alpha field and requires enabling the DynamicResourceAllocation feature gate.\n\nThis field is immutable. It can only be set for containers.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/io.k8s.api.core.v1.ResourceClaim"
+ },
+ "x-kubernetes-list-map-keys": [
+ "name"
+ ],
+ "x-kubernetes-list-type": "map"
+ },
"limits": {
"description": "Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/",
"type": "object",
@@ -14035,7 +14412,7 @@
}
},
"requests": {
- "description": "Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/",
+ "description": "Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. Requests cannot exceed Limits. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/",
"type": "object",
"additionalProperties": {
"$ref": "#/definitions/io.k8s.apimachinery.pkg.api.resource.Quantity"
@@ -14075,43 +14452,43 @@
],
"properties": {
"fsType": {
- "description": "Filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. \"ext4\", \"xfs\", \"ntfs\". Default is \"xfs\".",
+ "description": "fsType is the filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. \"ext4\", \"xfs\", \"ntfs\". Default is \"xfs\".",
"type": "string"
},
"gateway": {
- "description": "The host address of the ScaleIO API Gateway.",
+ "description": "gateway is the host address of the ScaleIO API Gateway.",
"type": "string"
},
"protectionDomain": {
- "description": "The name of the ScaleIO Protection Domain for the configured storage.",
+ "description": "protectionDomain is the name of the ScaleIO Protection Domain for the configured storage.",
"type": "string"
},
"readOnly": {
- "description": "Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts.",
+ "description": "readOnly Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts.",
"type": "boolean"
},
"secretRef": {
- "description": "SecretRef references to the secret for ScaleIO user and other sensitive information. If this is not provided, Login operation will fail.",
+ "description": "secretRef references to the secret for ScaleIO user and other sensitive information. If this is not provided, Login operation will fail.",
"$ref": "#/definitions/io.k8s.api.core.v1.LocalObjectReference"
},
"sslEnabled": {
- "description": "Flag to enable/disable SSL communication with Gateway, default false",
+ "description": "sslEnabled Flag enable/disable SSL communication with Gateway, default false",
"type": "boolean"
},
"storageMode": {
- "description": "Indicates whether the storage for a volume should be ThickProvisioned or ThinProvisioned. Default is ThinProvisioned.",
+ "description": "storageMode indicates whether the storage for a volume should be ThickProvisioned or ThinProvisioned. Default is ThinProvisioned.",
"type": "string"
},
"storagePool": {
- "description": "The ScaleIO Storage Pool associated with the protection domain.",
+ "description": "storagePool is the ScaleIO Storage Pool associated with the protection domain.",
"type": "string"
},
"system": {
- "description": "The name of the storage system as configured in ScaleIO.",
+ "description": "system is the name of the storage system as configured in ScaleIO.",
"type": "string"
},
"volumeName": {
- "description": "The name of a volume already created in the ScaleIO system that is associated with this volume source.",
+ "description": "volumeName is the name of a volume already created in the ScaleIO system that is associated with this volume source.",
"type": "string"
}
}
@@ -14124,17 +14501,12 @@
],
"properties": {
"localhostProfile": {
- "description": "localhostProfile indicates a profile defined in a file on the node should be used. The profile must be preconfigured on the node to work. Must be a descending path, relative to the kubelet's configured seccomp profile location. Must only be set if type is \"Localhost\".",
+ "description": "localhostProfile indicates a profile defined in a file on the node should be used. The profile must be preconfigured on the node to work. Must be a descending path, relative to the kubelet's configured seccomp profile location. Must be set if type is \"Localhost\". Must NOT be set for any other type.",
"type": "string"
},
"type": {
- "description": "type indicates which kind of seccomp profile will be applied. Valid options are:\n\nLocalhost - a profile defined in a file on the node should be used. RuntimeDefault - the container runtime default profile should be used. Unconfined - no profile should be applied.\n\nPossible enum values:\n - `\"Localhost\"` indicates a profile defined in a file on the node should be used. The file's location relative to \u003ckubelet-root-dir\u003e/seccomp.\n - `\"RuntimeDefault\"` represents the default container runtime seccomp profile.\n - `\"Unconfined\"` indicates no seccomp profile is applied (A.K.A. unconfined).",
- "type": "string",
- "enum": [
- "Localhost",
- "RuntimeDefault",
- "Unconfined"
- ]
+ "description": "type indicates which kind of seccomp profile will be applied. Valid options are:\n\nLocalhost - a profile defined in a file on the node should be used. RuntimeDefault - the container runtime default profile should be used. Unconfined - no profile should be applied.",
+ "type": "string"
}
},
"x-kubernetes-unions": [
@@ -14151,7 +14523,7 @@
"type": "object",
"properties": {
"name": {
- "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
+ "description": "Name of the referent. This field is effectively required, but due to backwards compatibility is allowed to be empty. Instances of this type with an empty value here are almost certainly wrong. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
"type": "string"
},
"optional": {
@@ -14172,7 +14544,7 @@
"type": "string"
},
"name": {
- "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
+ "description": "Name of the referent. This field is effectively required, but due to backwards compatibility is allowed to be empty. Instances of this type with an empty value here are almost certainly wrong. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
"type": "string"
},
"optional": {
@@ -14187,18 +14559,19 @@
"type": "object",
"properties": {
"items": {
- "description": "If unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'.",
+ "description": "items if unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'.",
"type": "array",
"items": {
"$ref": "#/definitions/io.k8s.api.core.v1.KeyToPath"
- }
+ },
+ "x-kubernetes-list-type": "atomic"
},
"name": {
- "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
+ "description": "Name of the referent. This field is effectively required, but due to backwards compatibility is allowed to be empty. Instances of this type with an empty value here are almost certainly wrong. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
"type": "string"
},
"optional": {
- "description": "Specify whether the Secret or its key must be defined",
+ "description": "optional field specify whether the Secret or its key must be defined",
"type": "boolean"
}
}
@@ -14208,22 +14581,23 @@
"type": "object",
"properties": {
"defaultMode": {
- "description": "Optional: mode bits used to set permissions on created files by default. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.",
+ "description": "defaultMode is Optional: mode bits used to set permissions on created files by default. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.",
"type": "integer"
},
"items": {
- "description": "If unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'.",
+ "description": "items If unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'.",
"type": "array",
"items": {
"$ref": "#/definitions/io.k8s.api.core.v1.KeyToPath"
- }
+ },
+ "x-kubernetes-list-type": "atomic"
},
"optional": {
- "description": "Specify whether the Secret or its keys must be defined",
+ "description": "optional field specify whether the Secret or its keys must be defined",
"type": "boolean"
},
"secretName": {
- "description": "Name of the secret in the pod's namespace to use. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret",
+ "description": "secretName is the name of the secret in the pod's namespace to use. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret",
"type": "string"
}
}
@@ -14236,6 +14610,10 @@
"description": "AllowPrivilegeEscalation controls whether a process can gain more privileges than its parent process. This bool directly controls if the no_new_privs flag will be set on the container process. AllowPrivilegeEscalation is true always when the container is: 1) run as Privileged 2) has CAP_SYS_ADMIN Note that this field cannot be set when spec.os.name is windows.",
"type": "boolean"
},
+ "appArmorProfile": {
+ "description": "appArmorProfile is the AppArmor options to use by this container. If set, this profile overrides the pod's appArmorProfile. Note that this field cannot be set when spec.os.name is windows.",
+ "$ref": "#/definitions/io.k8s.api.core.v1.AppArmorProfile"
+ },
"capabilities": {
"description": "The capabilities to add/drop when running containers. Defaults to the default set of capabilities granted by the container runtime. Note that this field cannot be set when spec.os.name is windows.",
"$ref": "#/definitions/io.k8s.api.core.v1.Capabilities"
@@ -14286,15 +14664,15 @@
],
"properties": {
"audience": {
- "description": "Audience is the intended audience of the token. A recipient of a token must identify itself with an identifier specified in the audience of the token, and otherwise should reject the token. The audience defaults to the identifier of the apiserver.",
+ "description": "audience is the intended audience of the token. A recipient of a token must identify itself with an identifier specified in the audience of the token, and otherwise should reject the token. The audience defaults to the identifier of the apiserver.",
"type": "string"
},
"expirationSeconds": {
- "description": "ExpirationSeconds is the requested duration of validity of the service account token. As the token approaches expiration, the kubelet volume plugin will proactively rotate the service account token. The kubelet will start trying to rotate the token if the token is older than 80 percent of its time to live or if the token is older than 24 hours.Defaults to 1 hour and must be at least 10 minutes.",
+ "description": "expirationSeconds is the requested duration of validity of the service account token. As the token approaches expiration, the kubelet volume plugin will proactively rotate the service account token. The kubelet will start trying to rotate the token if the token is older than 80 percent of its time to live or if the token is older than 24 hours.Defaults to 1 hour and must be at least 10 minutes.",
"type": "integer"
},
"path": {
- "description": "Path is the path relative to the mount point of the file to project the token into.",
+ "description": "path is the path relative to the mount point of the file to project the token into.",
"type": "string"
}
}
@@ -14307,7 +14685,7 @@
],
"properties": {
"appProtocol": {
- "description": "The application protocol for this port. This field follows standard Kubernetes label syntax. Un-prefixed names are reserved for IANA standard service names (as per RFC-6335 and http://www.iana.org/assignments/service-names). Non-standard protocols should use prefixed names such as mycompany.com/my-custom-protocol.",
+ "description": "The application protocol for this port. This is used as a hint for implementations to offer richer behavior for protocols that they understand. This field follows standard Kubernetes label syntax. Valid values are either:\n\n* Un-prefixed protocol names - reserved for IANA standard service names (as per RFC-6335 and https://www.iana.org/assignments/service-names).\n\n* Kubernetes-defined prefixed names:\n * 'kubernetes.io/h2c' - HTTP/2 prior knowledge over cleartext as described in https://www.rfc-editor.org/rfc/rfc9113.html#name-starting-http-2-with-prior-\n * 'kubernetes.io/ws' - WebSocket over cleartext as described in https://www.rfc-editor.org/rfc/rfc6455\n * 'kubernetes.io/wss' - WebSocket over TLS as described in https://www.rfc-editor.org/rfc/rfc6455\n\n* Other protocols should use implementation-defined prefixed names such as mycompany.com/my-custom-protocol.",
"type": "string"
},
"name": {
@@ -14323,13 +14701,8 @@
"type": "integer"
},
"protocol": {
- "description": "The IP protocol for this port. Supports \"TCP\", \"UDP\", and \"SCTP\". Default is TCP.\n\nPossible enum values:\n - `\"SCTP\"` is the SCTP protocol.\n - `\"TCP\"` is the TCP protocol.\n - `\"UDP\"` is the UDP protocol.",
- "type": "string",
- "enum": [
- "SCTP",
- "TCP",
- "UDP"
- ]
+ "description": "The IP protocol for this port. Supports \"TCP\", \"UDP\", and \"SCTP\". Default is TCP.",
+ "type": "string"
},
"targetPort": {
"description": "Number or name of the port to access on the pods targeted by the service. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME. If this is a string, it will be looked up as a named port in the target Pod's container ports. If this is not specified, the value of the 'port' field is used (an identity map). This field is ignored for services with clusterIP=None, and should be omitted or set equal to the 'port' field. More info: https://kubernetes.io/docs/concepts/services-networking/service/#defining-a-service",
@@ -14337,28 +14710,41 @@
}
}
},
+ "io.k8s.api.core.v1.SleepAction": {
+ "description": "SleepAction describes a \"sleep\" action.",
+ "type": "object",
+ "required": [
+ "seconds"
+ ],
+ "properties": {
+ "seconds": {
+ "description": "Seconds is the number of seconds to sleep.",
+ "type": "integer"
+ }
+ }
+ },
"io.k8s.api.core.v1.StorageOSVolumeSource": {
"description": "Represents a StorageOS persistent volume resource.",
"type": "object",
"properties": {
"fsType": {
- "description": "Filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified.",
+ "description": "fsType is the filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified.",
"type": "string"
},
"readOnly": {
- "description": "Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts.",
+ "description": "readOnly defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts.",
"type": "boolean"
},
"secretRef": {
- "description": "SecretRef specifies the secret to use for obtaining the StorageOS API credentials. If not specified, default values will be attempted.",
+ "description": "secretRef specifies the secret to use for obtaining the StorageOS API credentials. If not specified, default values will be attempted.",
"$ref": "#/definitions/io.k8s.api.core.v1.LocalObjectReference"
},
"volumeName": {
- "description": "VolumeName is the human-readable name of the StorageOS volume. Volume names are only unique within a namespace.",
+ "description": "volumeName is the human-readable name of the StorageOS volume. Volume names are only unique within a namespace.",
"type": "string"
},
"volumeNamespace": {
- "description": "VolumeNamespace specifies the scope of the volume within StorageOS. If no namespace is specified then the Pod's namespace will be used. This allows the Kubernetes name scoping to be mirrored within StorageOS for tighter integration. Set VolumeName to any name to override the default behaviour. Set to \"default\" if you are not using namespaces within StorageOS. Namespaces that do not pre-exist within StorageOS will be created.",
+ "description": "volumeNamespace specifies the scope of the volume within StorageOS. If no namespace is specified then the Pod's namespace will be used. This allows the Kubernetes name scoping to be mirrored within StorageOS for tighter integration. Set VolumeName to any name to override the default behaviour. Set to \"default\" if you are not using namespaces within StorageOS. Namespaces that do not pre-exist within StorageOS will be created.",
"type": "string"
}
}
@@ -14403,25 +14789,16 @@
"type": "object",
"properties": {
"effect": {
- "description": "Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.\n\nPossible enum values:\n - `\"NoExecute\"` Evict any already-running pods that do not tolerate the taint. Currently enforced by NodeController.\n - `\"NoSchedule\"` Do not allow new pods to schedule onto the node unless they tolerate the taint, but allow all pods submitted to Kubelet without going through the scheduler to start, and allow all already-running pods to continue running. Enforced by the scheduler.\n - `\"PreferNoSchedule\"` Like TaintEffectNoSchedule, but the scheduler tries not to schedule new pods onto the node, rather than prohibiting new pods from scheduling onto the node entirely. Enforced by the scheduler.",
- "type": "string",
- "enum": [
- "NoExecute",
- "NoSchedule",
- "PreferNoSchedule"
- ]
+ "description": "Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.",
+ "type": "string"
},
"key": {
"description": "Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists; this combination means to match all values and all keys.",
"type": "string"
},
"operator": {
- "description": "Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category.\n\nPossible enum values:\n - `\"Equal\"`\n - `\"Exists\"`",
- "type": "string",
- "enum": [
- "Equal",
- "Exists"
- ]
+ "description": "Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category.",
+ "type": "string"
},
"tolerationSeconds": {
"description": "TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system.",
@@ -14456,6 +14833,31 @@
},
"x-kubernetes-map-type": "atomic"
},
+ "io.k8s.api.core.v1.TypedObjectReference": {
+ "type": "object",
+ "required": [
+ "kind",
+ "name"
+ ],
+ "properties": {
+ "apiGroup": {
+ "description": "APIGroup is the group for the resource being referenced. If APIGroup is not specified, the specified Kind must be in the core API group. For any other third-party types, APIGroup is required.",
+ "type": "string"
+ },
+ "kind": {
+ "description": "Kind is the type of resource being referenced",
+ "type": "string"
+ },
+ "name": {
+ "description": "Name is the name of resource being referenced",
+ "type": "string"
+ },
+ "namespace": {
+ "description": "Namespace is the namespace of resource being referenced Note that when a namespace is specified, a gateway.networking.k8s.io/ReferenceGrant object is required in the referent namespace to allow that namespace's owner to accept the reference. See the ReferenceGrant documentation for details. (Alpha) This field requires the CrossNamespaceVolumeDataSource feature gate to be enabled.",
+ "type": "string"
+ }
+ }
+ },
"io.k8s.api.core.v1.Volume": {
"description": "Volume represents a named volume in a pod that may be accessed by any container in the pod.",
"type": "object",
@@ -14464,123 +14866,123 @@
],
"properties": {
"awsElasticBlockStore": {
- "description": "AWSElasticBlockStore represents an AWS Disk resource that is attached to a kubelet's host machine and then exposed to the pod. More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore",
+ "description": "awsElasticBlockStore represents an AWS Disk resource that is attached to a kubelet's host machine and then exposed to the pod. More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore",
"$ref": "#/definitions/io.k8s.api.core.v1.AWSElasticBlockStoreVolumeSource"
},
"azureDisk": {
- "description": "AzureDisk represents an Azure Data Disk mount on the host and bind mount to the pod.",
+ "description": "azureDisk represents an Azure Data Disk mount on the host and bind mount to the pod.",
"$ref": "#/definitions/io.k8s.api.core.v1.AzureDiskVolumeSource"
},
"azureFile": {
- "description": "AzureFile represents an Azure File Service mount on the host and bind mount to the pod.",
+ "description": "azureFile represents an Azure File Service mount on the host and bind mount to the pod.",
"$ref": "#/definitions/io.k8s.api.core.v1.AzureFileVolumeSource"
},
"cephfs": {
- "description": "CephFS represents a Ceph FS mount on the host that shares a pod's lifetime",
+ "description": "cephFS represents a Ceph FS mount on the host that shares a pod's lifetime",
"$ref": "#/definitions/io.k8s.api.core.v1.CephFSVolumeSource"
},
"cinder": {
- "description": "Cinder represents a cinder volume attached and mounted on kubelets host machine. More info: https://examples.k8s.io/mysql-cinder-pd/README.md",
+ "description": "cinder represents a cinder volume attached and mounted on kubelets host machine. More info: https://examples.k8s.io/mysql-cinder-pd/README.md",
"$ref": "#/definitions/io.k8s.api.core.v1.CinderVolumeSource"
},
"configMap": {
- "description": "ConfigMap represents a configMap that should populate this volume",
+ "description": "configMap represents a configMap that should populate this volume",
"$ref": "#/definitions/io.k8s.api.core.v1.ConfigMapVolumeSource"
},
"csi": {
- "description": "CSI (Container Storage Interface) represents ephemeral storage that is handled by certain external CSI drivers (Beta feature).",
+ "description": "csi (Container Storage Interface) represents ephemeral storage that is handled by certain external CSI drivers (Beta feature).",
"$ref": "#/definitions/io.k8s.api.core.v1.CSIVolumeSource"
},
"downwardAPI": {
- "description": "DownwardAPI represents downward API about the pod that should populate this volume",
+ "description": "downwardAPI represents downward API about the pod that should populate this volume",
"$ref": "#/definitions/io.k8s.api.core.v1.DownwardAPIVolumeSource"
},
"emptyDir": {
- "description": "EmptyDir represents a temporary directory that shares a pod's lifetime. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir",
+ "description": "emptyDir represents a temporary directory that shares a pod's lifetime. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir",
"$ref": "#/definitions/io.k8s.api.core.v1.EmptyDirVolumeSource"
},
"ephemeral": {
- "description": "Ephemeral represents a volume that is handled by a cluster storage driver. The volume's lifecycle is tied to the pod that defines it - it will be created before the pod starts, and deleted when the pod is removed.\n\nUse this if: a) the volume is only needed while the pod runs, b) features of normal volumes like restoring from snapshot or capacity\n tracking are needed,\nc) the storage driver is specified through a storage class, and d) the storage driver supports dynamic volume provisioning through\n a PersistentVolumeClaim (see EphemeralVolumeSource for more\n information on the connection between this volume type\n and PersistentVolumeClaim).\n\nUse PersistentVolumeClaim or one of the vendor-specific APIs for volumes that persist for longer than the lifecycle of an individual pod.\n\nUse CSI for light-weight local ephemeral volumes if the CSI driver is meant to be used that way - see the documentation of the driver for more information.\n\nA pod can use both types of ephemeral volumes and persistent volumes at the same time.",
+ "description": "ephemeral represents a volume that is handled by a cluster storage driver. The volume's lifecycle is tied to the pod that defines it - it will be created before the pod starts, and deleted when the pod is removed.\n\nUse this if: a) the volume is only needed while the pod runs, b) features of normal volumes like restoring from snapshot or capacity\n tracking are needed,\nc) the storage driver is specified through a storage class, and d) the storage driver supports dynamic volume provisioning through\n a PersistentVolumeClaim (see EphemeralVolumeSource for more\n information on the connection between this volume type\n and PersistentVolumeClaim).\n\nUse PersistentVolumeClaim or one of the vendor-specific APIs for volumes that persist for longer than the lifecycle of an individual pod.\n\nUse CSI for light-weight local ephemeral volumes if the CSI driver is meant to be used that way - see the documentation of the driver for more information.\n\nA pod can use both types of ephemeral volumes and persistent volumes at the same time.",
"$ref": "#/definitions/io.k8s.api.core.v1.EphemeralVolumeSource"
},
"fc": {
- "description": "FC represents a Fibre Channel resource that is attached to a kubelet's host machine and then exposed to the pod.",
+ "description": "fc represents a Fibre Channel resource that is attached to a kubelet's host machine and then exposed to the pod.",
"$ref": "#/definitions/io.k8s.api.core.v1.FCVolumeSource"
},
"flexVolume": {
- "description": "FlexVolume represents a generic volume resource that is provisioned/attached using an exec based plugin.",
+ "description": "flexVolume represents a generic volume resource that is provisioned/attached using an exec based plugin.",
"$ref": "#/definitions/io.k8s.api.core.v1.FlexVolumeSource"
},
"flocker": {
- "description": "Flocker represents a Flocker volume attached to a kubelet's host machine. This depends on the Flocker control service being running",
+ "description": "flocker represents a Flocker volume attached to a kubelet's host machine. This depends on the Flocker control service being running",
"$ref": "#/definitions/io.k8s.api.core.v1.FlockerVolumeSource"
},
"gcePersistentDisk": {
- "description": "GCEPersistentDisk represents a GCE Disk resource that is attached to a kubelet's host machine and then exposed to the pod. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk",
+ "description": "gcePersistentDisk represents a GCE Disk resource that is attached to a kubelet's host machine and then exposed to the pod. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk",
"$ref": "#/definitions/io.k8s.api.core.v1.GCEPersistentDiskVolumeSource"
},
"gitRepo": {
- "description": "GitRepo represents a git repository at a particular revision. DEPRECATED: GitRepo is deprecated. To provision a container with a git repo, mount an EmptyDir into an InitContainer that clones the repo using git, then mount the EmptyDir into the Pod's container.",
+ "description": "gitRepo represents a git repository at a particular revision. DEPRECATED: GitRepo is deprecated. To provision a container with a git repo, mount an EmptyDir into an InitContainer that clones the repo using git, then mount the EmptyDir into the Pod's container.",
"$ref": "#/definitions/io.k8s.api.core.v1.GitRepoVolumeSource"
},
"glusterfs": {
- "description": "Glusterfs represents a Glusterfs mount on the host that shares a pod's lifetime. More info: https://examples.k8s.io/volumes/glusterfs/README.md",
+ "description": "glusterfs represents a Glusterfs mount on the host that shares a pod's lifetime. More info: https://examples.k8s.io/volumes/glusterfs/README.md",
"$ref": "#/definitions/io.k8s.api.core.v1.GlusterfsVolumeSource"
},
"hostPath": {
- "description": "HostPath represents a pre-existing file or directory on the host machine that is directly exposed to the container. This is generally used for system agents or other privileged things that are allowed to see the host machine. Most containers will NOT need this. More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath",
+ "description": "hostPath represents a pre-existing file or directory on the host machine that is directly exposed to the container. This is generally used for system agents or other privileged things that are allowed to see the host machine. Most containers will NOT need this. More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath",
"$ref": "#/definitions/io.k8s.api.core.v1.HostPathVolumeSource"
},
"iscsi": {
- "description": "ISCSI represents an ISCSI Disk resource that is attached to a kubelet's host machine and then exposed to the pod. More info: https://examples.k8s.io/volumes/iscsi/README.md",
+ "description": "iscsi represents an ISCSI Disk resource that is attached to a kubelet's host machine and then exposed to the pod. More info: https://examples.k8s.io/volumes/iscsi/README.md",
"$ref": "#/definitions/io.k8s.api.core.v1.ISCSIVolumeSource"
},
"name": {
- "description": "Volume's name. Must be a DNS_LABEL and unique within the pod. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
+ "description": "name of the volume. Must be a DNS_LABEL and unique within the pod. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names",
"type": "string"
},
"nfs": {
- "description": "NFS represents an NFS mount on the host that shares a pod's lifetime More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs",
+ "description": "nfs represents an NFS mount on the host that shares a pod's lifetime More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs",
"$ref": "#/definitions/io.k8s.api.core.v1.NFSVolumeSource"
},
"persistentVolumeClaim": {
- "description": "PersistentVolumeClaimVolumeSource represents a reference to a PersistentVolumeClaim in the same namespace. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims",
+ "description": "persistentVolumeClaimVolumeSource represents a reference to a PersistentVolumeClaim in the same namespace. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims",
"$ref": "#/definitions/io.k8s.api.core.v1.PersistentVolumeClaimVolumeSource"
},
"photonPersistentDisk": {
- "description": "PhotonPersistentDisk represents a PhotonController persistent disk attached and mounted on kubelets host machine",
+ "description": "photonPersistentDisk represents a PhotonController persistent disk attached and mounted on kubelets host machine",
"$ref": "#/definitions/io.k8s.api.core.v1.PhotonPersistentDiskVolumeSource"
},
"portworxVolume": {
- "description": "PortworxVolume represents a portworx volume attached and mounted on kubelets host machine",
+ "description": "portworxVolume represents a portworx volume attached and mounted on kubelets host machine",
"$ref": "#/definitions/io.k8s.api.core.v1.PortworxVolumeSource"
},
"projected": {
- "description": "Items for all in one resources secrets, configmaps, and downward API",
+ "description": "projected items for all in one resources secrets, configmaps, and downward API",
"$ref": "#/definitions/io.k8s.api.core.v1.ProjectedVolumeSource"
},
"quobyte": {
- "description": "Quobyte represents a Quobyte mount on the host that shares a pod's lifetime",
+ "description": "quobyte represents a Quobyte mount on the host that shares a pod's lifetime",
"$ref": "#/definitions/io.k8s.api.core.v1.QuobyteVolumeSource"
},
"rbd": {
- "description": "RBD represents a Rados Block Device mount on the host that shares a pod's lifetime. More info: https://examples.k8s.io/volumes/rbd/README.md",
+ "description": "rbd represents a Rados Block Device mount on the host that shares a pod's lifetime. More info: https://examples.k8s.io/volumes/rbd/README.md",
"$ref": "#/definitions/io.k8s.api.core.v1.RBDVolumeSource"
},
"scaleIO": {
- "description": "ScaleIO represents a ScaleIO persistent volume attached and mounted on Kubernetes nodes.",
+ "description": "scaleIO represents a ScaleIO persistent volume attached and mounted on Kubernetes nodes.",
"$ref": "#/definitions/io.k8s.api.core.v1.ScaleIOVolumeSource"
},
"secret": {
- "description": "Secret represents a secret that should populate this volume. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret",
+ "description": "secret represents a secret that should populate this volume. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret",
"$ref": "#/definitions/io.k8s.api.core.v1.SecretVolumeSource"
},
"storageos": {
- "description": "StorageOS represents a StorageOS volume attached and mounted on Kubernetes nodes.",
+ "description": "storageOS represents a StorageOS volume attached and mounted on Kubernetes nodes.",
"$ref": "#/definitions/io.k8s.api.core.v1.StorageOSVolumeSource"
},
"vsphereVolume": {
- "description": "VsphereVolume represents a vSphere volume attached and mounted on kubelets host machine",
+ "description": "vsphereVolume represents a vSphere volume attached and mounted on kubelets host machine",
"$ref": "#/definitions/io.k8s.api.core.v1.VsphereVirtualDiskVolumeSource"
}
}
@@ -14616,7 +15018,7 @@
"type": "string"
},
"mountPropagation": {
- "description": "mountPropagation determines how mounts are propagated from the host to container and the other way around. When not set, MountPropagationNone is used. This field is beta in 1.10.",
+ "description": "mountPropagation determines how mounts are propagated from the host to container and the other way around. When not set, MountPropagationNone is used. This field is beta in 1.10. When RecursiveReadOnly is set to IfPossible or to Enabled, MountPropagation must be None or unspecified (which defaults to None).",
"type": "string"
},
"name": {
@@ -14627,6 +15029,10 @@
"description": "Mounted read-only if true, read-write otherwise (false or unspecified). Defaults to false.",
"type": "boolean"
},
+ "recursiveReadOnly": {
+ "description": "RecursiveReadOnly specifies whether read-only mounts should be handled recursively.\n\nIf ReadOnly is false, this field has no meaning and must be unspecified.\n\nIf ReadOnly is true, and this field is set to Disabled, the mount is not made recursively read-only. If this field is set to IfPossible, the mount is made recursively read-only, if it is supported by the container runtime. If this field is set to Enabled, the mount is made recursively read-only if it is supported by the container runtime, otherwise the pod will not be started and an error will be generated to indicate the reason.\n\nIf this field is set to IfPossible or Enabled, MountPropagation must be set to None (or be unspecified, which defaults to None).\n\nIf this field is not specified, it is treated as an equivalent of Disabled.",
+ "type": "string"
+ },
"subPath": {
"description": "Path within the volume from which the container's volume should be mounted. Defaults to \"\" (volume's root).",
"type": "string"
@@ -14641,24 +15047,48 @@
"description": "Projection that may be projected along with other supported volume types",
"type": "object",
"properties": {
+ "clusterTrustBundle": {
+ "description": "ClusterTrustBundle allows a pod to access the `.spec.trustBundle` field of ClusterTrustBundle objects in an auto-updating file.\n\nAlpha, gated by the ClusterTrustBundleProjection feature gate.\n\nClusterTrustBundle objects can either be selected by name, or by the combination of signer name and a label selector.\n\nKubelet performs aggressive normalization of the PEM contents written into the pod filesystem. Esoteric PEM features such as inter-block comments and block headers are stripped. Certificates are deduplicated. The ordering of certificates within the file is arbitrary, and Kubelet may change the order over time.",
+ "$ref": "#/definitions/io.k8s.api.core.v1.ClusterTrustBundleProjection"
+ },
"configMap": {
- "description": "information about the configMap data to project",
+ "description": "configMap information about the configMap data to project",
"$ref": "#/definitions/io.k8s.api.core.v1.ConfigMapProjection"
},
"downwardAPI": {
- "description": "information about the downwardAPI data to project",
+ "description": "downwardAPI information about the downwardAPI data to project",
"$ref": "#/definitions/io.k8s.api.core.v1.DownwardAPIProjection"
},
"secret": {
- "description": "information about the secret data to project",
+ "description": "secret information about the secret data to project",
"$ref": "#/definitions/io.k8s.api.core.v1.SecretProjection"
},
"serviceAccountToken": {
- "description": "information about the serviceAccountToken data to project",
+ "description": "serviceAccountToken is information about the serviceAccountToken data to project",
"$ref": "#/definitions/io.k8s.api.core.v1.ServiceAccountTokenProjection"
}
}
},
+ "io.k8s.api.core.v1.VolumeResourceRequirements": {
+ "description": "VolumeResourceRequirements describes the storage resource requirements for a volume.",
+ "type": "object",
+ "properties": {
+ "limits": {
+ "description": "Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/",
+ "type": "object",
+ "additionalProperties": {
+ "$ref": "#/definitions/io.k8s.apimachinery.pkg.api.resource.Quantity"
+ }
+ },
+ "requests": {
+ "description": "Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. Requests cannot exceed Limits. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/",
+ "type": "object",
+ "additionalProperties": {
+ "$ref": "#/definitions/io.k8s.apimachinery.pkg.api.resource.Quantity"
+ }
+ }
+ }
+ },
"io.k8s.api.core.v1.VsphereVirtualDiskVolumeSource": {
"description": "Represents a vSphere volume resource.",
"type": "object",
@@ -14667,19 +15097,19 @@
],
"properties": {
"fsType": {
- "description": "Filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified.",
+ "description": "fsType is filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified.",
"type": "string"
},
"storagePolicyID": {
- "description": "Storage Policy Based Management (SPBM) profile ID associated with the StoragePolicyName.",
+ "description": "storagePolicyID is the storage Policy Based Management (SPBM) profile ID associated with the StoragePolicyName.",
"type": "string"
},
"storagePolicyName": {
- "description": "Storage Policy Based Management (SPBM) profile name.",
+ "description": "storagePolicyName is the storage Policy Based Management (SPBM) profile name.",
"type": "string"
},
"volumePath": {
- "description": "Path that identifies vSphere volume vmdk",
+ "description": "volumePath is the path that identifies vSphere volume vmdk",
"type": "string"
}
}
@@ -14715,7 +15145,7 @@
"type": "string"
},
"hostProcess": {
- "description": "HostProcess determines if a container should be run as a 'Host Process' container. This field is alpha-level and will only be honored by components that enable the WindowsHostProcessContainers feature flag. Setting this field without the feature flag will result in errors when validating the Pod. All of a Pod's containers must have the same effective HostProcess value (it is not allowed to have a mix of HostProcess containers and non-HostProcess containers). In addition, if HostProcess is true then HostNetwork must also be set to true.",
+ "description": "HostProcess determines if a container should be run as a 'Host Process' container. All of a Pod's containers must have the same effective HostProcess value (it is not allowed to have a mix of HostProcess containers and non-HostProcess containers). In addition, if HostProcess is true then HostNetwork must also be set to true.",
"type": "boolean"
},
"runAsUserName": {
@@ -14740,11 +15170,15 @@
"description": "Label query over pods whose evictions are managed by the disruption budget. A null selector will match no pods, while an empty ({}) selector will select all pods within the namespace.",
"x-kubernetes-patch-strategy": "replace",
"$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.LabelSelector"
+ },
+ "unhealthyPodEvictionPolicy": {
+ "description": "UnhealthyPodEvictionPolicy defines the criteria for when unhealthy pods should be considered for eviction. Current implementation considers healthy pods, as pods that have status.conditions item with type=\"Ready\",status=\"True\".\n\nValid policies are IfHealthyBudget and AlwaysAllow. If no policy is specified, the default behavior will be used, which corresponds to the IfHealthyBudget policy.\n\nIfHealthyBudget policy means that running pods (status.phase=\"Running\"), but not yet healthy can be evicted only if the guarded application is not disrupted (status.currentHealthy is at least equal to status.desiredHealthy). Healthy pods will be subject to the PDB for eviction.\n\nAlwaysAllow policy means that all running pods (status.phase=\"Running\"), but not yet healthy are considered disrupted and can be evicted regardless of whether the criteria in a PDB is met. This means perspective running pods of a disrupted application might not get a chance to become healthy. Healthy pods will be subject to the PDB for eviction.\n\nAdditional policies may be added in the future. Clients making eviction decisions should disallow eviction of unhealthy pods if they encounter an unrecognized policy in this field.\n\nThis field is beta-level. The eviction API uses this field when the feature gate PDBUnhealthyPodEvictionPolicy is enabled (enabled by default).",
+ "type": "string"
}
}
},
"io.k8s.apimachinery.pkg.api.resource.Quantity": {
- "description": "Quantity is a fixed-point representation of a number. It provides convenient marshaling/unmarshaling in JSON and YAML, in addition to String() and AsInt64() accessors.\n\nThe serialization format is:\n\n\u003cquantity\u003e ::= \u003csignedNumber\u003e\u003csuffix\u003e\n (Note that \u003csuffix\u003e may be empty, from the \"\" case in \u003cdecimalSI\u003e.)\n\u003cdigit\u003e ::= 0 | 1 | ... | 9 \u003cdigits\u003e ::= \u003cdigit\u003e | \u003cdigit\u003e\u003cdigits\u003e \u003cnumber\u003e ::= \u003cdigits\u003e | \u003cdigits\u003e.\u003cdigits\u003e | \u003cdigits\u003e. | .\u003cdigits\u003e \u003csign\u003e ::= \"+\" | \"-\" \u003csignedNumber\u003e ::= \u003cnumber\u003e | \u003csign\u003e\u003cnumber\u003e \u003csuffix\u003e ::= \u003cbinarySI\u003e | \u003cdecimalExponent\u003e | \u003cdecimalSI\u003e \u003cbinarySI\u003e ::= Ki | Mi | Gi | Ti | Pi | Ei\n (International System of units; See: http://physics.nist.gov/cuu/Units/binary.html)\n\u003cdecimalSI\u003e ::= m | \"\" | k | M | G | T | P | E\n (Note that 1024 = 1Ki but 1000 = 1k; I didn't choose the capitalization.)\n\u003cdecimalExponent\u003e ::= \"e\" \u003csignedNumber\u003e | \"E\" \u003csignedNumber\u003e\n\nNo matter which of the three exponent forms is used, no quantity may represent a number greater than 2^63-1 in magnitude, nor may it have more than 3 decimal places. Numbers larger or more precise will be capped or rounded up. (E.g.: 0.1m will rounded up to 1m.) This may be extended in the future if we require larger or smaller quantities.\n\nWhen a Quantity is parsed from a string, it will remember the type of suffix it had, and will use the same type again when it is serialized.\n\nBefore serializing, Quantity will be put in \"canonical form\". This means that Exponent/suffix will be adjusted up or down (with a corresponding increase or decrease in Mantissa) such that:\n a. No precision is lost\n b. No fractional digits will be emitted\n c. The exponent (or suffix) is as large as possible.\nThe sign will be omitted unless the number is negative.\n\nExamples:\n 1.5 will be serialized as \"1500m\"\n 1.5Gi will be serialized as \"1536Mi\"\n\nNote that the quantity will NEVER be internally represented by a floating point number. That is the whole point of this exercise.\n\nNon-canonical values will still parse as long as they are well formed, but will be re-emitted in their canonical form. (So always use canonical form, or don't diff.)\n\nThis format is intended to make it difficult to use these numbers without writing some sort of special handling code in the hopes that that will cause implementors to also use a fixed point implementation.",
+ "description": "Quantity is a fixed-point representation of a number. It provides convenient marshaling/unmarshaling in JSON and YAML, in addition to String() and AsInt64() accessors.\n\nThe serialization format is:\n\n``` \u003cquantity\u003e ::= \u003csignedNumber\u003e\u003csuffix\u003e\n\n\t(Note that \u003csuffix\u003e may be empty, from the \"\" case in \u003cdecimalSI\u003e.)\n\n\u003cdigit\u003e ::= 0 | 1 | ... | 9 \u003cdigits\u003e ::= \u003cdigit\u003e | \u003cdigit\u003e\u003cdigits\u003e \u003cnumber\u003e ::= \u003cdigits\u003e | \u003cdigits\u003e.\u003cdigits\u003e | \u003cdigits\u003e. | .\u003cdigits\u003e \u003csign\u003e ::= \"+\" | \"-\" \u003csignedNumber\u003e ::= \u003cnumber\u003e | \u003csign\u003e\u003cnumber\u003e \u003csuffix\u003e ::= \u003cbinarySI\u003e | \u003cdecimalExponent\u003e | \u003cdecimalSI\u003e \u003cbinarySI\u003e ::= Ki | Mi | Gi | Ti | Pi | Ei\n\n\t(International System of units; See: http://physics.nist.gov/cuu/Units/binary.html)\n\n\u003cdecimalSI\u003e ::= m | \"\" | k | M | G | T | P | E\n\n\t(Note that 1024 = 1Ki but 1000 = 1k; I didn't choose the capitalization.)\n\n\u003cdecimalExponent\u003e ::= \"e\" \u003csignedNumber\u003e | \"E\" \u003csignedNumber\u003e ```\n\nNo matter which of the three exponent forms is used, no quantity may represent a number greater than 2^63-1 in magnitude, nor may it have more than 3 decimal places. Numbers larger or more precise will be capped or rounded up. (E.g.: 0.1m will rounded up to 1m.) This may be extended in the future if we require larger or smaller quantities.\n\nWhen a Quantity is parsed from a string, it will remember the type of suffix it had, and will use the same type again when it is serialized.\n\nBefore serializing, Quantity will be put in \"canonical form\". This means that Exponent/suffix will be adjusted up or down (with a corresponding increase or decrease in Mantissa) such that:\n\n- No precision is lost - No fractional digits will be emitted - The exponent (or suffix) is as large as possible.\n\nThe sign will be omitted unless the number is negative.\n\nExamples:\n\n- 1.5 will be serialized as \"1500m\" - 1.5Gi will be serialized as \"1536Mi\"\n\nNote that the quantity will NEVER be internally represented by a floating point number. That is the whole point of this exercise.\n\nNon-canonical values will still parse as long as they are well formed, but will be re-emitted in their canonical form. (So always use canonical form, or don't diff.)\n\nThis format is intended to make it difficult to use these numbers without writing some sort of special handling code in the hopes that that will cause implementors to also use a fixed point implementation.",
"type": "string"
},
"io.k8s.apimachinery.pkg.apis.meta.v1.CreateOptions": {
@@ -14753,7 +15187,7 @@
"properties": {
"dryRun": {
"type": "array",
- "title": "When present, indicates that modifications should not be\npersisted. An invalid or unrecognized dryRun directive will\nresult in an error response and no further processing of the\nrequest. Valid values are:\n- All: all dry run stages will be processed\n+optional",
+ "title": "When present, indicates that modifications should not be\npersisted. An invalid or unrecognized dryRun directive will\nresult in an error response and no further processing of the\nrequest. Valid values are:\n- All: all dry run stages will be processed\n+optional\n+listType=atomic",
"items": {
"type": "string"
}
@@ -14764,7 +15198,7 @@
},
"fieldValidation": {
"type": "string",
- "title": "fieldValidation instructs the server on how to handle\nobjects in the request (POST/PUT/PATCH) containing unknown\nor duplicate fields, provided that the `ServerSideFieldValidation`\nfeature gate is also enabled. Valid values are:\n- Ignore: This will ignore any unknown fields that are silently\ndropped from the object, and will ignore all but the last duplicate\nfield that the decoder encounters. This is the default behavior\nprior to v1.23 and is the default behavior when the\n`ServerSideFieldValidation` feature gate is disabled.\n- Warn: This will send a warning via the standard warning response\nheader for each unknown field that is dropped from the object, and\nfor each duplicate field that is encountered. The request will\nstill succeed if there are no other errors, and will only persist\nthe last of any duplicate fields. This is the default when the\n`ServerSideFieldValidation` feature gate is enabled.\n- Strict: This will fail the request with a BadRequest error if\nany unknown fields would be dropped from the object, or if any\nduplicate fields are present. The error returned from the server\nwill contain all unknown and duplicate fields encountered.\n+optional"
+ "title": "fieldValidation instructs the server on how to handle\nobjects in the request (POST/PUT/PATCH) containing unknown\nor duplicate fields. Valid values are:\n- Ignore: This will ignore any unknown fields that are silently\ndropped from the object, and will ignore all but the last duplicate\nfield that the decoder encounters. This is the default behavior\nprior to v1.23.\n- Warn: This will send a warning via the standard warning response\nheader for each unknown field that is dropped from the object, and\nfor each duplicate field that is encountered. The request will\nstill succeed if there are no other errors, and will only persist\nthe last of any duplicate fields. This is the default in v1.23+\n- Strict: This will fail the request with a BadRequest error if\nany unknown fields would be dropped from the object, or if any\nduplicate fields are present. The error returned from the server\nwill contain all unknown and duplicate fields encountered.\n+optional"
}
}
},
@@ -14797,7 +15231,8 @@
"type": "array",
"items": {
"$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.LabelSelectorRequirement"
- }
+ },
+ "x-kubernetes-list-type": "atomic"
},
"matchLabels": {
"description": "matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is \"key\", the operator is \"In\", and the values array contains only \"value\". The requirements are ANDed.",
@@ -14819,9 +15254,7 @@
"properties": {
"key": {
"description": "key is the label key that the selector applies to.",
- "type": "string",
- "x-kubernetes-patch-merge-key": "key",
- "x-kubernetes-patch-strategy": "merge"
+ "type": "string"
},
"operator": {
"description": "operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.",
@@ -14832,7 +15265,8 @@
"type": "array",
"items": {
"type": "string"
- }
+ },
+ "x-kubernetes-list-type": "atomic"
}
}
},
@@ -14853,7 +15287,7 @@
"type": "string"
},
"selfLink": {
- "description": "selfLink is a URL representing this object. Populated by the system. Read-only.\n\nDEPRECATED Kubernetes will stop propagating this field in 1.20 release and the field is planned to be removed in 1.21 release.",
+ "description": "Deprecated: selfLink is a legacy read-only field that is no longer populated by the system.",
"type": "string"
}
}
@@ -14887,7 +15321,7 @@
"type": "string"
},
"time": {
- "description": "Time is timestamp of when these fields were set. It should always be empty if Operation is 'Apply'",
+ "description": "Time is the timestamp of when the ManagedFields entry was added. The timestamp will also be updated if a field is added, the manager changes any of the owned fields value or removes a field. The timestamp does not update when a field is removed from the entry because another manager took it over.",
"$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Time"
}
}
@@ -14902,16 +15336,12 @@
"type": "object",
"properties": {
"annotations": {
- "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations",
+ "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations",
"type": "object",
"additionalProperties": {
"type": "string"
}
},
- "clusterName": {
- "description": "The name of the cluster which the object belongs to. This is used to distinguish resources with same name and namespace in different clusters. This field is not set anywhere right now and apiserver is going to ignore it if set in create or update request.",
- "type": "string"
- },
"creationTimestamp": {
"description": "CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC.\n\nPopulated by the system. Read-only. Null for lists. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata",
"$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Time"
@@ -14930,10 +15360,11 @@
"items": {
"type": "string"
},
+ "x-kubernetes-list-type": "set",
"x-kubernetes-patch-strategy": "merge"
},
"generateName": {
- "description": "GenerateName is an optional prefix, used by the server, to generate a unique name ONLY IF the Name field has not been provided. If this field is used, the name returned to the client will be different than the name passed. This value will also be combined with a unique suffix. The provided value has the same validation rules as the Name field, and may be truncated by the length of the suffix required to make the value unique on the server.\n\nIf this field is specified and the generated name exists, the server will NOT return a 409 - instead, it will either return 201 Created or 500 with Reason ServerTimeout indicating a unique name could not be found in the time allotted, and the client should retry (optionally after the time indicated in the Retry-After header).\n\nApplied only if Name is not specified. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#idempotency",
+ "description": "GenerateName is an optional prefix, used by the server, to generate a unique name ONLY IF the Name field has not been provided. If this field is used, the name returned to the client will be different than the name passed. This value will also be combined with a unique suffix. The provided value has the same validation rules as the Name field, and may be truncated by the length of the suffix required to make the value unique on the server.\n\nIf this field is specified and the generated name exists, the server will return a 409.\n\nApplied only if Name is not specified. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#idempotency",
"type": "string"
},
"generation": {
@@ -14941,7 +15372,7 @@
"type": "integer"
},
"labels": {
- "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels",
+ "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels",
"type": "object",
"additionalProperties": {
"type": "string"
@@ -14952,14 +15383,15 @@
"type": "array",
"items": {
"$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ManagedFieldsEntry"
- }
+ },
+ "x-kubernetes-list-type": "atomic"
},
"name": {
- "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names",
+ "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#names",
"type": "string"
},
"namespace": {
- "description": "Namespace defines the space within which each name must be unique. An empty namespace is equivalent to the \"default\" namespace, but \"default\" is the canonical representation. Not all objects are required to be scoped to a namespace - the value of this field for those objects will be empty.\n\nMust be a DNS_LABEL. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/namespaces",
+ "description": "Namespace defines the space within which each name must be unique. An empty namespace is equivalent to the \"default\" namespace, but \"default\" is the canonical representation. Not all objects are required to be scoped to a namespace - the value of this field for those objects will be empty.\n\nMust be a DNS_LABEL. Cannot be updated. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces",
"type": "string"
},
"ownerReferences": {
@@ -14968,6 +15400,10 @@
"items": {
"$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.OwnerReference"
},
+ "x-kubernetes-list-map-keys": [
+ "uid"
+ ],
+ "x-kubernetes-list-type": "map",
"x-kubernetes-patch-merge-key": "uid",
"x-kubernetes-patch-strategy": "merge"
},
@@ -14976,11 +15412,11 @@
"type": "string"
},
"selfLink": {
- "description": "SelfLink is a URL representing this object. Populated by the system. Read-only.\n\nDEPRECATED Kubernetes will stop propagating this field in 1.20 release and the field is planned to be removed in 1.21 release.",
+ "description": "Deprecated: selfLink is a legacy read-only field that is no longer populated by the system.",
"type": "string"
},
"uid": {
- "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids",
+ "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#uids",
"type": "string"
}
}
@@ -15000,7 +15436,7 @@
"type": "string"
},
"blockOwnerDeletion": {
- "description": "If true, AND if the owner has the \"foregroundDeletion\" finalizer, then the owner cannot be deleted from the key-value store until this reference is removed. Defaults to false. To set this field, a user needs \"delete\" permission of the owner, otherwise 422 (Unprocessable Entity) will be returned.",
+ "description": "If true, AND if the owner has the \"foregroundDeletion\" finalizer, then the owner cannot be deleted from the key-value store until this reference is removed. See https://kubernetes.io/docs/concepts/architecture/garbage-collection/#foreground-deletion for how the garbage collector interacts with this field and enforces the foreground deletion. Defaults to false. To set this field, a user needs \"delete\" permission of the owner, otherwise 422 (Unprocessable Entity) will be returned.",
"type": "boolean"
},
"controller": {
@@ -15012,11 +15448,11 @@
"type": "string"
},
"name": {
- "description": "Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names",
+ "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#names",
"type": "string"
},
"uid": {
- "description": "UID of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#uids",
+ "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#uids",
"type": "string"
}
},
diff --git a/cmd/argo/commands/archive/delete.go b/cmd/argo/commands/archive/delete.go
index cfc801a72a61..f31e268c92ed 100644
--- a/cmd/argo/commands/archive/delete.go
+++ b/cmd/argo/commands/archive/delete.go
@@ -3,7 +3,6 @@ package archive
import (
"fmt"
- "github.com/argoproj/pkg/errors"
"github.com/spf13/cobra"
client "github.com/argoproj/argo-workflows/v3/cmd/argo/commands/client"
@@ -14,15 +13,25 @@ func NewDeleteCommand() *cobra.Command {
command := &cobra.Command{
Use: "delete UID...",
Short: "delete a workflow in the archive",
- Run: func(cmd *cobra.Command, args []string) {
- ctx, apiClient := client.NewAPIClient(cmd.Context())
+ Example: `# Delete an archived workflow by its UID:
+ argo archive delete abc123-def456-ghi789-jkl012
+`,
+ RunE: func(cmd *cobra.Command, args []string) error {
+ ctx, apiClient, err := client.NewAPIClient(cmd.Context())
+ if err != nil {
+ return err
+ }
serviceClient, err := apiClient.NewArchivedWorkflowServiceClient()
- errors.CheckError(err)
+ if err != nil {
+ return err
+ }
for _, uid := range args {
- _, err = serviceClient.DeleteArchivedWorkflow(ctx, &workflowarchivepkg.DeleteArchivedWorkflowRequest{Uid: uid})
- errors.CheckError(err)
+ if _, err = serviceClient.DeleteArchivedWorkflow(ctx, &workflowarchivepkg.DeleteArchivedWorkflowRequest{Uid: uid}); err != nil {
+ return err
+ }
fmt.Printf("Archived workflow '%s' deleted\n", uid)
}
+ return nil
},
}
return command
diff --git a/cmd/argo/commands/archive/get.go b/cmd/argo/commands/archive/get.go
index 5315b61f1e39..07dcbd860ef4 100644
--- a/cmd/argo/commands/archive/get.go
+++ b/cmd/argo/commands/archive/get.go
@@ -4,39 +4,52 @@ import (
"encoding/json"
"fmt"
"log"
- "os"
- "github.com/argoproj/pkg/errors"
"github.com/argoproj/pkg/humanize"
"github.com/spf13/cobra"
"sigs.k8s.io/yaml"
"github.com/argoproj/argo-workflows/v3/cmd/argo/commands/client"
+ "github.com/argoproj/argo-workflows/v3/cmd/argo/commands/common"
workflowarchivepkg "github.com/argoproj/argo-workflows/v3/pkg/apiclient/workflowarchive"
wfv1 "github.com/argoproj/argo-workflows/v3/pkg/apis/workflow/v1alpha1"
)
func NewGetCommand() *cobra.Command {
- var output string
+ var output = common.EnumFlagValue{
+ AllowedValues: []string{"json", "yaml", "wide"},
+ Value: "wide",
+ }
command := &cobra.Command{
Use: "get UID",
Short: "get a workflow in the archive",
- Run: func(cmd *cobra.Command, args []string) {
- if len(args) != 1 {
- cmd.HelpFunc()(cmd, args)
- os.Exit(1)
- }
+ Args: cobra.ExactArgs(1),
+ Example: `# Get information about an archived workflow by its UID:
+ argo archive get abc123-def456-ghi789-jkl012
+
+# Get information about an archived workflow in YAML format:
+ argo archive get abc123-def456-ghi789-jkl012 -o yaml
+`,
+ RunE: func(cmd *cobra.Command, args []string) error {
uid := args[0]
- ctx, apiClient := client.NewAPIClient(cmd.Context())
+ ctx, apiClient, err := client.NewAPIClient(cmd.Context())
+ if err != nil {
+ return err
+ }
serviceClient, err := apiClient.NewArchivedWorkflowServiceClient()
- errors.CheckError(err)
+ if err != nil {
+ return err
+ }
wf, err := serviceClient.GetArchivedWorkflow(ctx, &workflowarchivepkg.GetArchivedWorkflowRequest{Uid: uid})
- errors.CheckError(err)
- printWorkflow(wf, output)
+ if err != nil {
+ return err
+ }
+ printWorkflow(wf, output.String())
+ return nil
},
}
- command.Flags().StringVarP(&output, "output", "o", "wide", "Output format. One of: json|yaml|wide")
+ command.Flags().VarP(&output, "output", "o", "Output format. "+output.Usage())
return command
}
diff --git a/cmd/argo/commands/archive/list.go b/cmd/argo/commands/archive/list.go
index 5747ffa73e96..1ea5946537b6 100644
--- a/cmd/argo/commands/archive/list.go
+++ b/cmd/argo/commands/archive/list.go
@@ -5,12 +5,12 @@ import (
"os"
"sort"
- "github.com/argoproj/pkg/errors"
log "github.com/sirupsen/logrus"
"github.com/spf13/cobra"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"github.com/argoproj/argo-workflows/v3/cmd/argo/commands/client"
+ "github.com/argoproj/argo-workflows/v3/cmd/argo/commands/common"
workflowarchivepkg "github.com/argoproj/argo-workflows/v3/pkg/apiclient/workflowarchive"
wfv1 "github.com/argoproj/argo-workflows/v3/pkg/apis/workflow/v1alpha1"
"github.com/argoproj/argo-workflows/v3/util/printer"
@@ -19,24 +19,42 @@ import (
func NewListCommand() *cobra.Command {
var (
selector string
- output string
+ output = common.NewPrintWorkflowOutputValue("wide")
chunkSize int64
)
command := &cobra.Command{
Use: "list",
Short: "list workflows in the archive",
- Run: func(cmd *cobra.Command, args []string) {
- ctx, apiClient := client.NewAPIClient(cmd.Context())
+ Example: `# List all archived workflows:
+ argo archive list
+
+# List all archived workflows fetched in chunks of 100:
+ argo archive list --chunk-size 100
+
+# List all archived workflows in YAML format:
+ argo archive list -o yaml
+
+# List archived workflows that have both labels:
+ argo archive list -l key1=value1,key2=value2
+`,
+ RunE: func(cmd *cobra.Command, args []string) error {
+ ctx, apiClient, err := client.NewAPIClient(cmd.Context())
+ if err != nil {
+ return err
+ }
serviceClient, err := apiClient.NewArchivedWorkflowServiceClient()
- errors.CheckError(err)
+ if err != nil {
+ return err
+ }
namespace := client.Namespace()
workflows, err := listArchivedWorkflows(ctx, serviceClient, namespace, selector, chunkSize)
- errors.CheckError(err)
- err = printer.PrintWorkflows(workflows, os.Stdout, printer.PrintOpts{Output: output, Namespace: true, UID: true})
- errors.CheckError(err)
+ if err != nil {
+ return err
+ }
+ return printer.PrintWorkflows(workflows, os.Stdout, printer.PrintOpts{Output: output.String(), Namespace: true, UID: true})
},
}
- command.Flags().StringVarP(&output, "output", "o", "wide", "Output format. One of: json|yaml|wide")
+ command.Flags().VarP(&output, "output", "o", "Output format. "+output.Usage())
command.Flags().StringVarP(&selector, "selector", "l", "", "Selector (label query) to filter on, not including uninitialized ones, supports '=', '==', and '!='.(e.g. -l key1=value1,key2=value2)")
command.Flags().Int64VarP(&chunkSize, "chunk-size", "", 0, "Return large lists in chunks rather than all at once. Pass 0 to disable.")
return command
diff --git a/cmd/argo/commands/archive/list_label_keys.go b/cmd/argo/commands/archive/list_label_keys.go
index 315a8f43d622..9a37b3ca934d 100644
--- a/cmd/argo/commands/archive/list_label_keys.go
+++ b/cmd/argo/commands/archive/list_label_keys.go
@@ -3,7 +3,6 @@ package archive
import (
"fmt"
- "github.com/argoproj/pkg/errors"
"github.com/spf13/cobra"
"github.com/argoproj/argo-workflows/v3/cmd/argo/commands/client"
@@ -14,15 +13,23 @@ func NewListLabelKeyCommand() *cobra.Command {
command := &cobra.Command{
Use: "list-label-keys",
Short: "list workflows label keys in the archive",
- Run: func(cmd *cobra.Command, args []string) {
- ctx, apiClient := client.NewAPIClient(cmd.Context())
+ RunE: func(cmd *cobra.Command, args []string) error {
+ ctx, apiClient, err := client.NewAPIClient(cmd.Context())
+ if err != nil {
+ return err
+ }
serviceClient, err := apiClient.NewArchivedWorkflowServiceClient()
- errors.CheckError(err)
+ if err != nil {
+ return err
+ }
keys, err := serviceClient.ListArchivedWorkflowLabelKeys(ctx, &workflowarchivepkg.ListArchivedWorkflowLabelKeysRequest{})
- errors.CheckError(err)
+ if err != nil {
+ return err
+ }
for _, str := range keys.Items {
fmt.Printf("%s\n", str)
}
+ return nil
},
}
return command
diff --git a/cmd/argo/commands/archive/list_label_values.go b/cmd/argo/commands/archive/list_label_values.go
index 0c24ae78ccdd..b62917a3b336 100644
--- a/cmd/argo/commands/archive/list_label_values.go
+++ b/cmd/argo/commands/archive/list_label_values.go
@@ -18,20 +18,28 @@ func NewListLabelValueCommand() *cobra.Command {
command := &cobra.Command{
Use: "list-label-values",
Short: "get workflow label values in the archive",
- Run: func(cmd *cobra.Command, args []string) {
+ RunE: func(cmd *cobra.Command, args []string) error {
listOpts := &metav1.ListOptions{
LabelSelector: selector,
}
- ctx, apiClient := client.NewAPIClient(cmd.Context())
+ ctx, apiClient, err := client.NewAPIClient(cmd.Context())
+ if err != nil {
+ return err
+ }
serviceClient, err := apiClient.NewArchivedWorkflowServiceClient()
- errors.CheckError(err)
+ if err != nil {
+ return err
+ }
labels, err := serviceClient.ListArchivedWorkflowLabelValues(ctx, &workflowarchivepkg.ListArchivedWorkflowLabelValuesRequest{ListOptions: listOpts})
- errors.CheckError(err)
+ if err != nil {
+ return err
+ }
for _, str := range labels.Items {
fmt.Printf("%s\n", str)
}
+ return nil
},
}
command.Flags().StringVarP(&selector, "selector", "l", "", "Selector (label query) to query on, allows 1 value (e.g. -l key1)")
diff --git a/cmd/argo/commands/archive/resubmit.go b/cmd/argo/commands/archive/resubmit.go
index 038bda4a718d..fb26dde5172e 100644
--- a/cmd/argo/commands/archive/resubmit.go
+++ b/cmd/argo/commands/archive/resubmit.go
@@ -3,7 +3,6 @@ package archive
import (
"context"
- "github.com/argoproj/pkg/errors"
"github.com/spf13/cobra"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/types"
@@ -34,7 +33,7 @@ func (o *resubmitOps) hasSelector() bool {
func NewResubmitCommand() *cobra.Command {
var (
resubmitOpts resubmitOps
- cliSubmitOpts common.CliSubmitOpts
+ cliSubmitOpts = common.NewCliSubmitOpts()
)
command := &cobra.Command{
Use: "resubmit [WORKFLOW...]",
@@ -67,24 +66,28 @@ func NewResubmitCommand() *cobra.Command {
argo archive resubmit --log uid
`,
- Run: func(cmd *cobra.Command, args []string) {
+ RunE: func(cmd *cobra.Command, args []string) error {
if cmd.Flag("priority").Changed {
cliSubmitOpts.Priority = &resubmitOpts.priority
}
- ctx, apiClient := client.NewAPIClient(cmd.Context())
+ ctx, apiClient, err := client.NewAPIClient(cmd.Context())
+ if err != nil {
+ return err
+ }
serviceClient := apiClient.NewWorkflowServiceClient() // needed for wait watch or log flags
archiveServiceClient, err := apiClient.NewArchivedWorkflowServiceClient()
- errors.CheckError(err)
+ if err != nil {
+ return err
+ }
resubmitOpts.namespace = client.Namespace()
- err = resubmitArchivedWorkflows(ctx, archiveServiceClient, serviceClient, resubmitOpts, cliSubmitOpts, args)
- errors.CheckError(err)
+ return resubmitArchivedWorkflows(ctx, archiveServiceClient, serviceClient, resubmitOpts, cliSubmitOpts, args)
},
}
command.Flags().StringArrayVarP(&cliSubmitOpts.Parameters, "parameter", "p", []string{}, "input parameter to override on the original workflow spec")
command.Flags().Int32Var(&resubmitOpts.priority, "priority", 0, "workflow priority")
- command.Flags().StringVarP(&cliSubmitOpts.Output, "output", "o", "", "Output format. One of: name|json|yaml|wide")
+ command.Flags().VarP(&cliSubmitOpts.Output, "output", "o", "Output format. "+cliSubmitOpts.Output.Usage())
command.Flags().BoolVarP(&cliSubmitOpts.Wait, "wait", "w", false, "wait for the workflow to complete, only works when a single workflow is resubmitted")
command.Flags().BoolVar(&cliSubmitOpts.Watch, "watch", false, "watch the workflow until it completes, only works when a single workflow is resubmitted")
command.Flags().BoolVar(&cliSubmitOpts.Log, "log", false, "log the workflow until it completes")
@@ -137,12 +140,12 @@ func resubmitArchivedWorkflows(ctx context.Context, archiveServiceClient workflo
if err != nil {
return err
}
- printWorkflow(lastResubmitted, cliSubmitOpts.Output)
+ printWorkflow(lastResubmitted, cliSubmitOpts.Output.String())
}
if len(resubmittedUids) == 1 {
// watch or wait when there is only one workflow retried
- common.WaitWatchOrLog(ctx, serviceClient, lastResubmitted.Namespace, []string{lastResubmitted.Name}, cliSubmitOpts)
+ return common.WaitWatchOrLog(ctx, serviceClient, lastResubmitted.Namespace, []string{lastResubmitted.Name}, cliSubmitOpts)
}
return nil
}
diff --git a/cmd/argo/commands/archive/retry.go b/cmd/argo/commands/archive/retry.go
index 3eb315d739ba..585ee5b19606 100644
--- a/cmd/argo/commands/archive/retry.go
+++ b/cmd/argo/commands/archive/retry.go
@@ -2,10 +2,9 @@ package archive
import (
"context"
+ "errors"
"fmt"
- "os"
- "github.com/argoproj/pkg/errors"
"github.com/spf13/cobra"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/fields"
@@ -36,7 +35,7 @@ func (o *retryOps) hasSelector() bool {
func NewRetryCommand() *cobra.Command {
var (
- cliSubmitOpts common.CliSubmitOpts
+ cliSubmitOpts = common.NewCliSubmitOpts()
retryOpts retryOps
)
command := &cobra.Command{
@@ -70,25 +69,30 @@ func NewRetryCommand() *cobra.Command {
argo archive retry --log uid
`,
- Run: func(cmd *cobra.Command, args []string) {
+ Args: func(cmd *cobra.Command, args []string) error {
if len(args) == 0 && !retryOpts.hasSelector() {
- cmd.HelpFunc()(cmd, args)
- os.Exit(1)
+ return errors.New("requires either selector or workflow")
+ }
+ return nil
+ },
+ RunE: func(cmd *cobra.Command, args []string) error {
+ ctx, apiClient, err := client.NewAPIClient(cmd.Context())
+ if err != nil {
+ return err
}
-
- ctx, apiClient := client.NewAPIClient(cmd.Context())
serviceClient := apiClient.NewWorkflowServiceClient()
archiveServiceClient, err := apiClient.NewArchivedWorkflowServiceClient()
- errors.CheckError(err)
+ if err != nil {
+ return err
+ }
retryOpts.namespace = client.Namespace()
- err = retryArchivedWorkflows(ctx, archiveServiceClient, serviceClient, retryOpts, cliSubmitOpts, args)
- errors.CheckError(err)
+ return retryArchivedWorkflows(ctx, archiveServiceClient, serviceClient, retryOpts, cliSubmitOpts, args)
},
}
command.Flags().StringArrayVarP(&cliSubmitOpts.Parameters, "parameter", "p", []string{}, "input parameter to override on the original workflow spec")
- command.Flags().StringVarP(&cliSubmitOpts.Output, "output", "o", "", "Output format. One of: name|json|yaml|wide")
+ command.Flags().VarP(&cliSubmitOpts.Output, "output", "o", "Output format. "+cliSubmitOpts.Output.Usage())
command.Flags().BoolVarP(&cliSubmitOpts.Wait, "wait", "w", false, "wait for the workflow to complete, only works when a single workflow is retried")
command.Flags().BoolVar(&cliSubmitOpts.Watch, "watch", false, "watch the workflow until it completes, only works when a single workflow is retried")
command.Flags().BoolVar(&cliSubmitOpts.Log, "log", false, "log the workflow until it completes")
@@ -142,11 +146,11 @@ func retryArchivedWorkflows(ctx context.Context, archiveServiceClient workflowar
if err != nil {
return err
}
- printWorkflow(lastRetried, cliSubmitOpts.Output)
+ printWorkflow(lastRetried, cliSubmitOpts.Output.String())
}
if len(retriedUids) == 1 {
// watch or wait when there is only one workflow retried
- common.WaitWatchOrLog(ctx, serviceClient, lastRetried.Namespace, []string{lastRetried.Name}, cliSubmitOpts)
+ return common.WaitWatchOrLog(ctx, serviceClient, lastRetried.Namespace, []string{lastRetried.Name}, cliSubmitOpts)
}
return nil
}
diff --git a/cmd/argo/commands/archive/root.go b/cmd/argo/commands/archive/root.go
index bf147daefd65..68efff692439 100644
--- a/cmd/argo/commands/archive/root.go
+++ b/cmd/argo/commands/archive/root.go
@@ -8,8 +8,8 @@ func NewArchiveCommand() *cobra.Command {
command := &cobra.Command{
Use: "archive",
Short: "manage the workflow archive",
- Run: func(cmd *cobra.Command, args []string) {
- cmd.HelpFunc()(cmd, args)
+ RunE: func(cmd *cobra.Command, args []string) error {
+ return cmd.Help()
},
}
diff --git a/cmd/argo/commands/auth/root.go b/cmd/argo/commands/auth/root.go
index 6e49a14b50d2..daa8bc136bce 100644
--- a/cmd/argo/commands/auth/root.go
+++ b/cmd/argo/commands/auth/root.go
@@ -8,8 +8,8 @@ func NewAuthCommand() *cobra.Command {
command := &cobra.Command{
Use: "auth",
Short: "manage authentication settings",
- Run: func(cmd *cobra.Command, args []string) {
- cmd.HelpFunc()(cmd, args)
+ RunE: func(cmd *cobra.Command, args []string) error {
+ return cmd.Help()
},
}
command.AddCommand(NewTokenCommand())
diff --git a/cmd/argo/commands/auth/token.go b/cmd/argo/commands/auth/token.go
index 6e280eeb3509..f31ea70f5043 100644
--- a/cmd/argo/commands/auth/token.go
+++ b/cmd/argo/commands/auth/token.go
@@ -2,7 +2,6 @@ package auth
import (
"fmt"
- "os"
"github.com/spf13/cobra"
@@ -13,12 +12,14 @@ func NewTokenCommand() *cobra.Command {
return &cobra.Command{
Use: "token",
Short: "Print the auth token",
- Run: func(cmd *cobra.Command, args []string) {
- if len(args) != 0 {
- cmd.HelpFunc()(cmd, args)
- os.Exit(1)
+ Args: cobra.NoArgs,
+ RunE: func(cmd *cobra.Command, args []string) error {
+ authString, err := client.GetAuthString()
+ if err != nil {
+ return err
}
- fmt.Println(client.GetAuthString())
+ fmt.Println(authString)
+ return nil
},
}
}
diff --git a/cmd/argo/commands/client/conn.go b/cmd/argo/commands/client/conn.go
index 2c8f100c28d0..cdf7f4783f04 100644
--- a/cmd/argo/commands/client/conn.go
+++ b/cmd/argo/commands/client/conn.go
@@ -54,23 +54,23 @@ func AddAPIClientFlagsToCmd(cmd *cobra.Command) {
cmd.PersistentFlags().BoolVarP(&ArgoServerOpts.InsecureSkipVerify, "insecure-skip-verify", "k", os.Getenv("ARGO_INSECURE_SKIP_VERIFY") == "true", "If true, the Argo Server's certificate will not be checked for validity. This will make your HTTPS connections insecure. Defaults to the ARGO_INSECURE_SKIP_VERIFY environment variable.")
}
-func NewAPIClient(ctx context.Context) (context.Context, apiclient.Client) {
- ctx, client, err := apiclient.NewClientFromOpts(
+func NewAPIClient(ctx context.Context) (context.Context, apiclient.Client, error) {
+ return apiclient.NewClientFromOpts(
apiclient.Opts{
ArgoServerOpts: ArgoServerOpts,
InstanceID: instanceID,
AuthSupplier: func() string {
- return GetAuthString()
+ authString, err := GetAuthString()
+ if err != nil {
+ log.Fatal(err)
+ }
+ return authString
},
ClientConfigSupplier: func() clientcmd.ClientConfig { return GetConfig() },
Offline: Offline,
OfflineFiles: OfflineFiles,
Context: ctx,
})
- if err != nil {
- log.Fatal(err)
- }
- return ctx, client
}
func Namespace() string {
@@ -91,20 +91,20 @@ func Namespace() string {
return namespace
}
-func GetAuthString() string {
+func GetAuthString() (string, error) {
token, ok := os.LookupEnv("ARGO_TOKEN")
if ok {
- return token
+ return token, nil
}
restConfig, err := GetConfig().ClientConfig()
if err != nil {
- log.Fatal(err)
+ return "", err
}
version := argo.GetVersion()
restConfig = restclient.AddUserAgent(restConfig, fmt.Sprintf("argo-workflows/%s argo-cli", version.Version))
authString, err := kubeconfig.GetAuthString(restConfig, explicitPath)
if err != nil {
- log.Fatal(err)
+ return "", err
}
- return authString
+ return authString, nil
}
diff --git a/cmd/argo/commands/client/conn_test.go b/cmd/argo/commands/client/conn_test.go
index b3d992d3e1f2..e338bc0ca339 100644
--- a/cmd/argo/commands/client/conn_test.go
+++ b/cmd/argo/commands/client/conn_test.go
@@ -4,13 +4,15 @@ import (
"context"
"testing"
- "github.com/sirupsen/logrus"
"github.com/stretchr/testify/assert"
+ "github.com/stretchr/testify/require"
)
func TestGetAuthString(t *testing.T) {
t.Setenv("ARGO_TOKEN", "my-token")
- assert.Equal(t, "my-token", GetAuthString())
+ authString, err := GetAuthString()
+ require.NoError(t, err)
+ assert.Equal(t, "my-token", authString)
}
func TestNamespace(t *testing.T) {
@@ -20,26 +22,18 @@ func TestNamespace(t *testing.T) {
func TestCreateOfflineClient(t *testing.T) {
t.Run("creating an offline client with no files should not fail", func(t *testing.T) {
- defer func() { logrus.StandardLogger().ExitFunc = nil }()
- var fatal bool
- logrus.StandardLogger().ExitFunc = func(int) { fatal = true }
-
Offline = true
OfflineFiles = []string{}
- NewAPIClient(context.TODO())
+ _, _, err := NewAPIClient(context.TODO())
- assert.False(t, fatal, "should have exited")
+ assert.NoError(t, err)
})
t.Run("creating an offline client with a non-existing file should fail", func(t *testing.T) {
- defer func() { logrus.StandardLogger().ExitFunc = nil }()
- var fatal bool
- logrus.StandardLogger().ExitFunc = func(int) { fatal = true }
-
Offline = true
OfflineFiles = []string{"non-existing-file"}
- NewAPIClient(context.TODO())
+ _, _, err := NewAPIClient(context.TODO())
- assert.True(t, fatal, "should have exited")
+ assert.Error(t, err)
})
}
diff --git a/cmd/argo/commands/clustertemplate/create.go b/cmd/argo/commands/clustertemplate/create.go
index ddd72a18d970..6bbfe0b4bb49 100644
--- a/cmd/argo/commands/clustertemplate/create.go
+++ b/cmd/argo/commands/clustertemplate/create.go
@@ -2,22 +2,22 @@ package clustertemplate
import (
"context"
- "log"
- "os"
+ "fmt"
"github.com/spf13/cobra"
"github.com/argoproj/argo-workflows/v3/cmd/argo/commands/client"
+ "github.com/argoproj/argo-workflows/v3/cmd/argo/commands/common"
"github.com/argoproj/argo-workflows/v3/pkg/apiclient/clusterworkflowtemplate"
)
type cliCreateOpts struct {
- output string // --output
- strict bool // --strict
+ output common.EnumFlagValue // --output
+ strict bool // --strict
}
func NewCreateCommand() *cobra.Command {
- var cliCreateOpts cliCreateOpts
+ var cliCreateOpts = cliCreateOpts{output: common.NewPrintWorkflowOutputValue("")}
command := &cobra.Command{
Use: "create FILE1 FILE2...",
Short: "create a cluster workflow template",
@@ -31,28 +31,27 @@ func NewCreateCommand() *cobra.Command {
argo cluster-template create FILE1 --strict false
`,
- Run: func(cmd *cobra.Command, args []string) {
- if len(args) == 0 {
- cmd.HelpFunc()(cmd, args)
- os.Exit(1)
- }
-
- createClusterWorkflowTemplates(cmd.Context(), args, &cliCreateOpts)
+ Args: cobra.MinimumNArgs(1),
+ RunE: func(cmd *cobra.Command, args []string) error {
+ return createClusterWorkflowTemplates(cmd.Context(), args, &cliCreateOpts)
},
}
- command.Flags().StringVarP(&cliCreateOpts.output, "output", "o", "", "Output format. One of: name|json|yaml|wide")
+ command.Flags().VarP(&cliCreateOpts.output, "output", "o", "Output format. "+cliCreateOpts.output.Usage())
command.Flags().BoolVar(&cliCreateOpts.strict, "strict", true, "perform strict workflow validation")
return command
}
-func createClusterWorkflowTemplates(ctx context.Context, filePaths []string, cliOpts *cliCreateOpts) {
+func createClusterWorkflowTemplates(ctx context.Context, filePaths []string, cliOpts *cliCreateOpts) error {
if cliOpts == nil {
cliOpts = &cliCreateOpts{}
}
- ctx, apiClient := client.NewAPIClient(ctx)
+ ctx, apiClient, err := client.NewAPIClient(ctx)
+ if err != nil {
+ return err
+ }
serviceClient, err := apiClient.NewClusterWorkflowTemplateServiceClient()
if err != nil {
- log.Fatal(err)
+ return err
}
clusterWorkflowTemplates := generateClusterWorkflowTemplates(filePaths, cliOpts.strict)
@@ -62,8 +61,9 @@ func createClusterWorkflowTemplates(ctx context.Context, filePaths []string, cli
Template: &wftmpl,
})
if err != nil {
- log.Fatalf("Failed to create cluster workflow template: %s, %v", wftmpl.Name, err)
+ return fmt.Errorf("Failed to create cluster workflow template: %s, %v", wftmpl.Name, err)
}
- printClusterWorkflowTemplate(created, cliOpts.output)
+ printClusterWorkflowTemplate(created, cliOpts.output.String())
}
+ return nil
}
diff --git a/cmd/argo/commands/clustertemplate/delete.go b/cmd/argo/commands/clustertemplate/delete.go
index fdf46a84ae7d..d412b232f5a9 100644
--- a/cmd/argo/commands/clustertemplate/delete.go
+++ b/cmd/argo/commands/clustertemplate/delete.go
@@ -4,7 +4,6 @@ import (
"context"
"fmt"
- "github.com/argoproj/pkg/errors"
"github.com/spf13/cobra"
"github.com/argoproj/argo-workflows/v3/cmd/argo/commands/client"
@@ -18,8 +17,8 @@ func NewDeleteCommand() *cobra.Command {
command := &cobra.Command{
Use: "delete WORKFLOW_TEMPLATE",
Short: "delete a cluster workflow template",
- Run: func(cmd *cobra.Command, args []string) {
- apiServerDeleteClusterWorkflowTemplates(cmd.Context(), all, args)
+ RunE: func(cmd *cobra.Command, args []string) error {
+ return apiServerDeleteClusterWorkflowTemplates(cmd.Context(), all, args)
},
}
@@ -27,15 +26,22 @@ func NewDeleteCommand() *cobra.Command {
return command
}
-func apiServerDeleteClusterWorkflowTemplates(ctx context.Context, allWFs bool, wfTmplNames []string) {
- ctx, apiClient := client.NewAPIClient(ctx)
+func apiServerDeleteClusterWorkflowTemplates(ctx context.Context, allWFs bool, wfTmplNames []string) error {
+ ctx, apiClient, err := client.NewAPIClient(ctx)
+ if err != nil {
+ return err
+ }
serviceClient, err := apiClient.NewClusterWorkflowTemplateServiceClient()
- errors.CheckError(err)
+ if err != nil {
+ return err
+ }
var delWFTmplNames []string
if allWFs {
cwftmplList, err := serviceClient.ListClusterWorkflowTemplates(ctx, &clusterworkflowtemplate.ClusterWorkflowTemplateListRequest{})
- errors.CheckError(err)
+ if err != nil {
+ return err
+ }
for _, cwfTmpl := range cwftmplList.Items {
delWFTmplNames = append(delWFTmplNames, cwfTmpl.Name)
}
@@ -47,7 +53,10 @@ func apiServerDeleteClusterWorkflowTemplates(ctx context.Context, allWFs bool, w
_, err := serviceClient.DeleteClusterWorkflowTemplate(ctx, &clusterworkflowtemplate.ClusterWorkflowTemplateDeleteRequest{
Name: cwfTmplName,
})
- errors.CheckError(err)
+ if err != nil {
+ return err
+ }
fmt.Printf("ClusterWorkflowTemplate '%s' deleted\n", cwfTmplName)
}
+ return nil
}
diff --git a/cmd/argo/commands/clustertemplate/get.go b/cmd/argo/commands/clustertemplate/get.go
index 5229150fb55c..e12331af5896 100644
--- a/cmd/argo/commands/clustertemplate/get.go
+++ b/cmd/argo/commands/clustertemplate/get.go
@@ -1,38 +1,41 @@
package clustertemplate
import (
- "log"
-
"github.com/spf13/cobra"
"github.com/argoproj/argo-workflows/v3/cmd/argo/commands/client"
+ "github.com/argoproj/argo-workflows/v3/cmd/argo/commands/common"
clusterworkflowtmplpkg "github.com/argoproj/argo-workflows/v3/pkg/apiclient/clusterworkflowtemplate"
)
func NewGetCommand() *cobra.Command {
- var output string
+ var output = common.NewPrintWorkflowOutputValue("")
command := &cobra.Command{
Use: "get CLUSTER WORKFLOW_TEMPLATE...",
Short: "display details about a cluster workflow template",
- Run: func(cmd *cobra.Command, args []string) {
- ctx, apiClient := client.NewAPIClient(cmd.Context())
+ RunE: func(cmd *cobra.Command, args []string) error {
+ ctx, apiClient, err := client.NewAPIClient(cmd.Context())
+ if err != nil {
+ return err
+ }
serviceClient, err := apiClient.NewClusterWorkflowTemplateServiceClient()
if err != nil {
- log.Fatal(err)
+ return err
}
for _, name := range args {
wftmpl, err := serviceClient.GetClusterWorkflowTemplate(ctx, &clusterworkflowtmplpkg.ClusterWorkflowTemplateGetRequest{
Name: name,
})
if err != nil {
- log.Fatal(err)
+ return err
}
- printClusterWorkflowTemplate(wftmpl, output)
+ printClusterWorkflowTemplate(wftmpl, output.String())
}
+ return nil
},
}
- command.Flags().StringVarP(&output, "output", "o", "", "Output format. One of: json|yaml|wide")
+ command.Flags().VarP(&output, "output", "o", "Output format. "+output.Usage())
return command
}
diff --git a/cmd/argo/commands/clustertemplate/lint.go b/cmd/argo/commands/clustertemplate/lint.go
index cd4febb47f9a..e2addeb27a84 100644
--- a/cmd/argo/commands/clustertemplate/lint.go
+++ b/cmd/argo/commands/clustertemplate/lint.go
@@ -6,6 +6,7 @@ import (
"github.com/spf13/cobra"
"github.com/argoproj/argo-workflows/v3/cmd/argo/commands/client"
+ "github.com/argoproj/argo-workflows/v3/cmd/argo/commands/common"
"github.com/argoproj/argo-workflows/v3/cmd/argo/lint"
wf "github.com/argoproj/argo-workflows/v3/pkg/apis/workflow"
)
@@ -13,19 +14,21 @@ import (
func NewLintCommand() *cobra.Command {
var (
strict bool
- output string
+ output = common.EnumFlagValue{
+ AllowedValues: []string{"pretty", "simple"},
+ Value: "pretty",
+ }
)
command := &cobra.Command{
Use: "lint FILE...",
Short: "validate files or directories of cluster workflow template manifests",
- Run: func(cmd *cobra.Command, args []string) {
- if len(args) == 0 {
- cmd.HelpFunc()(cmd, args)
- os.Exit(1)
+ Args: cobra.MinimumNArgs(1),
+ RunE: func(cmd *cobra.Command, args []string) error {
+ ctx, apiClient, err := client.NewAPIClient(cmd.Context())
+ if err != nil {
+ return err
}
-
- ctx, apiClient := client.NewAPIClient(cmd.Context())
opts := lint.LintOptions{
Files: args,
DefaultNamespace: client.Namespace(),
@@ -33,11 +36,11 @@ func NewLintCommand() *cobra.Command {
Printer: os.Stdout,
}
- lint.RunLint(ctx, apiClient, []string{wf.ClusterWorkflowTemplatePlural}, output, false, opts)
+ return lint.RunLint(ctx, apiClient, []string{wf.ClusterWorkflowTemplatePlural}, output.String(), false, opts)
},
}
- command.Flags().StringVarP(&output, "output", "o", "pretty", "Linting results output format. One of: pretty|simple")
+ command.Flags().VarP(&output, "output", "o", "Linting results output format. "+output.Usage())
command.Flags().BoolVar(&strict, "strict", true, "perform strict workflow validation")
return command
}
diff --git a/cmd/argo/commands/clustertemplate/list.go b/cmd/argo/commands/clustertemplate/list.go
index d720f58b9fb7..9bd2cee48362 100644
--- a/cmd/argo/commands/clustertemplate/list.go
+++ b/cmd/argo/commands/clustertemplate/list.go
@@ -2,23 +2,21 @@ package clustertemplate
import (
"fmt"
- "log"
"os"
"text/tabwriter"
"github.com/spf13/cobra"
"github.com/argoproj/argo-workflows/v3/cmd/argo/commands/client"
+ "github.com/argoproj/argo-workflows/v3/cmd/argo/commands/common"
"github.com/argoproj/argo-workflows/v3/pkg/apiclient/clusterworkflowtemplate"
wfv1 "github.com/argoproj/argo-workflows/v3/pkg/apis/workflow/v1alpha1"
)
-type listFlags struct {
- output string // --output
-}
-
func NewListCommand() *cobra.Command {
- var listArgs listFlags
+ var output = common.EnumFlagValue{
+ AllowedValues: []string{"wide", "name"},
+ }
command := &cobra.Command{
Use: "list",
Short: "list cluster workflow templates",
@@ -31,18 +29,21 @@ func NewListCommand() *cobra.Command {
# List Cluster Workflow Templates by name only:
argo cluster-template list -o name
`,
- Run: func(cmd *cobra.Command, args []string) {
- ctx, apiClient := client.NewAPIClient(cmd.Context())
+ RunE: func(cmd *cobra.Command, args []string) error {
+ ctx, apiClient, err := client.NewAPIClient(cmd.Context())
+ if err != nil {
+ return err
+ }
serviceClient, err := apiClient.NewClusterWorkflowTemplateServiceClient()
if err != nil {
- log.Fatal(err)
+ return err
}
cwftmplList, err := serviceClient.ListClusterWorkflowTemplates(ctx, &clusterworkflowtemplate.ClusterWorkflowTemplateListRequest{})
if err != nil {
- log.Fatal(err)
+ return err
}
- switch listArgs.output {
+ switch output.String() {
case "", "wide":
printTable(cwftmplList.Items)
case "name":
@@ -50,11 +51,12 @@ func NewListCommand() *cobra.Command {
fmt.Println(cwftmp.ObjectMeta.Name)
}
default:
- log.Fatalf("Unknown output mode: %s", listArgs.output)
+ return fmt.Errorf("Unknown output mode: %s", output.String())
}
+ return nil
},
}
- command.Flags().StringVarP(&listArgs.output, "output", "o", "", "Output format. One of: wide|name")
+ command.Flags().VarP(&output, "output", "o", "Output format. "+output.Usage())
return command
}
diff --git a/cmd/argo/commands/clustertemplate/root.go b/cmd/argo/commands/clustertemplate/root.go
index 3a25195b32f1..a1ae2b07a386 100644
--- a/cmd/argo/commands/clustertemplate/root.go
+++ b/cmd/argo/commands/clustertemplate/root.go
@@ -9,8 +9,8 @@ func NewClusterTemplateCommand() *cobra.Command {
Use: "cluster-template",
Aliases: []string{"cwftmpl", "cwft"},
Short: "manipulate cluster workflow templates",
- Run: func(cmd *cobra.Command, args []string) {
- cmd.HelpFunc()(cmd, args)
+ RunE: func(cmd *cobra.Command, args []string) error {
+ return cmd.Help()
},
}
diff --git a/cmd/argo/commands/clustertemplate/update.go b/cmd/argo/commands/clustertemplate/update.go
index 346e723380f6..78cad5877408 100644
--- a/cmd/argo/commands/clustertemplate/update.go
+++ b/cmd/argo/commands/clustertemplate/update.go
@@ -2,22 +2,22 @@ package clustertemplate
import (
"context"
- "log"
- "os"
+ "fmt"
"github.com/spf13/cobra"
"github.com/argoproj/argo-workflows/v3/cmd/argo/commands/client"
+ "github.com/argoproj/argo-workflows/v3/cmd/argo/commands/common"
"github.com/argoproj/argo-workflows/v3/pkg/apiclient/clusterworkflowtemplate"
)
type cliUpdateOpts struct {
- output string // --output
- strict bool // --strict
+ output common.EnumFlagValue // --output
+ strict bool // --strict
}
func NewUpdateCommand() *cobra.Command {
- var cliUpdateOpts cliUpdateOpts
+ var cliUpdateOpts = cliUpdateOpts{output: common.NewPrintWorkflowOutputValue("")}
command := &cobra.Command{
Use: "update FILE1 FILE2...",
Short: "update a cluster workflow template",
@@ -30,28 +30,27 @@ func NewUpdateCommand() *cobra.Command {
# Update a Cluster Workflow Template with relaxed validation:
argo cluster-template update FILE1 --strict false
`,
- Run: func(cmd *cobra.Command, args []string) {
- if len(args) == 0 {
- cmd.HelpFunc()(cmd, args)
- os.Exit(1)
- }
-
- updateClusterWorkflowTemplates(cmd.Context(), args, &cliUpdateOpts)
+ Args: cobra.MinimumNArgs(1),
+ RunE: func(cmd *cobra.Command, args []string) error {
+ return updateClusterWorkflowTemplates(cmd.Context(), args, &cliUpdateOpts)
},
}
- command.Flags().StringVarP(&cliUpdateOpts.output, "output", "o", "", "Output format. One of: name|json|yaml|wide")
+ command.Flags().VarP(&cliUpdateOpts.output, "output", "o", "Output format. "+cliUpdateOpts.output.Usage())
command.Flags().BoolVar(&cliUpdateOpts.strict, "strict", true, "perform strict workflow validation")
return command
}
-func updateClusterWorkflowTemplates(ctx context.Context, filePaths []string, cliOpts *cliUpdateOpts) {
+func updateClusterWorkflowTemplates(ctx context.Context, filePaths []string, cliOpts *cliUpdateOpts) error {
if cliOpts == nil {
cliOpts = &cliUpdateOpts{}
}
- ctx, apiClient := client.NewAPIClient(ctx)
+ ctx, apiClient, err := client.NewAPIClient(ctx)
+ if err != nil {
+ return err
+ }
serviceClient, err := apiClient.NewClusterWorkflowTemplateServiceClient()
if err != nil {
- log.Fatal(err)
+ return err
}
clusterWorkflowTemplates := generateClusterWorkflowTemplates(filePaths, cliOpts.strict)
@@ -61,15 +60,16 @@ func updateClusterWorkflowTemplates(ctx context.Context, filePaths []string, cli
Name: wftmpl.Name,
})
if err != nil {
- log.Fatalf("Failed to get existing cluster workflow template %q to update: %v", wftmpl.Name, err)
+ return fmt.Errorf("Failed to get existing cluster workflow template %q to update: %v", wftmpl.Name, err)
}
wftmpl.ResourceVersion = current.ResourceVersion
updated, err := serviceClient.UpdateClusterWorkflowTemplate(ctx, &clusterworkflowtemplate.ClusterWorkflowTemplateUpdateRequest{
Template: &wftmpl,
})
if err != nil {
- log.Fatalf("Failed to update cluster workflow template: %s, %v", wftmpl.Name, err)
+ return fmt.Errorf("Failed to update cluster workflow template: %s, %v", wftmpl.Name, err)
}
- printClusterWorkflowTemplate(updated, cliOpts.output)
+ printClusterWorkflowTemplate(updated, cliOpts.output.String())
}
+ return nil
}
diff --git a/cmd/argo/commands/common/flags.go b/cmd/argo/commands/common/flags.go
new file mode 100644
index 000000000000..085905bb8a55
--- /dev/null
+++ b/cmd/argo/commands/common/flags.go
@@ -0,0 +1,48 @@
+package common
+
+import (
+ "errors"
+ "fmt"
+ "slices"
+ "strings"
+
+ "github.com/spf13/pflag"
+)
+
+// EnumFlagValue represents a CLI flag that can take one of a fixed set of values, and validates
+// that the provided value is one of the allowed values.
+// There's several libraries for this (e.g. https://github.com/thediveo/enumflag), but they're overkill.
+type EnumFlagValue struct {
+ AllowedValues []string
+ Value string
+}
+
+func (e *EnumFlagValue) Usage() string {
+ return fmt.Sprintf("One of: %s", strings.Join(e.AllowedValues, "|"))
+}
+
+func (e *EnumFlagValue) String() string {
+ return e.Value
+}
+
+func (e *EnumFlagValue) Set(v string) error {
+ if slices.Contains(e.AllowedValues, v) {
+ e.Value = v
+ return nil
+ } else {
+ return errors.New(e.Usage())
+ }
+}
+
+func (e *EnumFlagValue) Type() string {
+ return "string"
+}
+
+var _ pflag.Value = &EnumFlagValue{}
+
+func NewPrintWorkflowOutputValue(value string) EnumFlagValue {
+ return EnumFlagValue{
+ AllowedValues: []string{"name", "json", "yaml", "wide"},
+ Value: value,
+ }
+}
diff --git a/cmd/argo/commands/common/flags_test.go b/cmd/argo/commands/common/flags_test.go
new file mode 100644
index 000000000000..efadec0b38a5
--- /dev/null
+++ b/cmd/argo/commands/common/flags_test.go
@@ -0,0 +1,35 @@
+package common
+
+import (
+ "testing"
+
+ "github.com/stretchr/testify/assert"
+ "github.com/stretchr/testify/require"
+)
+
+func TestEnumFlagValue(t *testing.T) {
+ e := EnumFlagValue{
+ AllowedValues: []string{"name", "json", "yaml", "wide"},
+ Value: "json",
+ }
+ t.Run("Usage", func(t *testing.T) {
+ assert.Equal(t, "One of: name|json|yaml|wide", e.Usage())
+ })
+
+ t.Run("String", func(t *testing.T) {
+ assert.Equal(t, "json", e.String())
+ })
+
+ t.Run("Type", func(t *testing.T) {
+ assert.Equal(t, "string", e.Type())
+ })
+
+ t.Run("Set", func(t *testing.T) {
+ err := e.Set("name")
+ require.NoError(t, err)
+ assert.Equal(t, "name", e.Value)
+
+ err = e.Set("invalid")
+ require.Error(t, err, "One of: name|json|yaml|wide")
+ })
+}
diff --git a/cmd/argo/commands/common/get.go b/cmd/argo/commands/common/get.go
index 0740978b0307..4e2422ad86de 100644
--- a/cmd/argo/commands/common/get.go
+++ b/cmd/argo/commands/common/get.go
@@ -20,7 +20,7 @@ import (
const onExitSuffix = "onExit"
type GetFlags struct {
- Output string
+ Output EnumFlagValue
NodeFieldSelectorString string
// Only used for backwards compatibility
@@ -147,9 +147,9 @@ func PrintWorkflowHelper(wf *wfv1.Workflow, getArgs GetFlags) string {
w := tabwriter.NewWriter(writerBuffer, 0, 0, 2, ' ', 0)
out += "\n"
// apply a dummy FgDefault format to align tab writer with the rest of the columns
- if getArgs.Output == "wide" {
+ if getArgs.Output.String() == "wide" {
_, _ = fmt.Fprintf(w, "%s\tTEMPLATE\tPODNAME\tDURATION\tARTIFACTS\tMESSAGE\tRESOURCESDURATION\tNODENAME\n", ansiFormat("STEP", FgDefault))
- } else if getArgs.Output == "short" {
+ } else if getArgs.Output.String() == "short" {
_, _ = fmt.Fprintf(w, "%s\tTEMPLATE\tPODNAME\tDURATION\tMESSAGE\tNODENAME\n", ansiFormat("STEP", FgDefault))
} else {
_, _ = fmt.Fprintf(w, "%s\tTEMPLATE\tPODNAME\tDURATION\tMESSAGE\n", ansiFormat("STEP", FgDefault))
@@ -171,7 +171,7 @@ func PrintWorkflowHelper(wf *wfv1.Workflow, getArgs GetFlags) string {
onExitRoot.renderNodes(w, wf, 0, " ", " ", getArgs)
}
_ = w.Flush()
- if getArgs.Output == "short" {
+ if getArgs.Output.String() == "short" {
out = writerBuffer.String()
} else {
out += writerBuffer.String()
@@ -498,7 +498,7 @@ func printNode(w *tabwriter.Writer, node wfv1.NodeStatus, wfName, nodePrefix str
} else {
args = []interface{}{nodePrefix, fmtNodeName, fmtTemplateName, "", "", node.Message, ""}
}
- if getArgs.Output == "wide" {
+ if getArgs.Output.String() == "wide" {
msg := args[len(args)-2]
args[len(args)-2] = getArtifactsString(node)
args[len(args)-1] = msg
@@ -507,7 +507,7 @@ func printNode(w *tabwriter.Writer, node wfv1.NodeStatus, wfName, nodePrefix str
args[len(args)-1] = node.HostNodeName
}
_, _ = fmt.Fprintf(w, "%s%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\n", args...)
- } else if getArgs.Output == "short" {
+ } else if getArgs.Output.String() == "short" {
if node.Type == wfv1.NodeTypePod {
args[len(args)-1] = node.HostNodeName
}
diff --git a/cmd/argo/commands/common/get_test.go b/cmd/argo/commands/common/get_test.go
index 7b98d4fadfca..f042bc66c7a2 100644
--- a/cmd/argo/commands/common/get_test.go
+++ b/cmd/argo/commands/common/get_test.go
@@ -54,9 +54,7 @@ func TestPrintNode(t *testing.T) {
nodeTemplateRefName := "testTemplateRef"
nodeID := "testID"
nodeMessage := "test"
- getArgs := GetFlags{
- Output: "",
- }
+ getArgs := GetFlags{}
timestamp := metav1.Time{
Time: time.Now(),
}
@@ -105,7 +103,7 @@ func TestPrintNode(t *testing.T) {
testPrintNodeImpl(t, "", node, getArgs)
getArgs = GetFlags{
- Output: "",
+ Output: EnumFlagValue{AllowedValues: []string{"short", "wide"}},
}
node.TemplateName = nodeTemplateName
@@ -124,13 +122,13 @@ func TestPrintNode(t *testing.T) {
expectedPodName = util.GeneratePodName(workflowName, nodeName, templateName, nodeID, util.GetPodNameVersion())
testPrintNodeImpl(t, fmt.Sprintf("%s %s\t%s/%s\t%s\t%s\t%s\t%s\n", NodeTypeIconMap[wfv1.NodeTypeSuspend], nodeName, nodeTemplateRefName, nodeTemplateRefName, "", "", nodeMessage, ""), node, getArgs)
- getArgs.Output = "wide"
+ require.NoError(t, getArgs.Output.Set("wide"))
testPrintNodeImpl(t, fmt.Sprintf("%s %s\t%s/%s\t%s\t%s\t%s\t%s\t%s\t\n", NodeTypeIconMap[wfv1.NodeTypeSuspend], nodeName, nodeTemplateRefName, nodeTemplateRefName, "", "", getArtifactsString(node), nodeMessage, ""), node, getArgs)
node.Type = wfv1.NodeTypePod
testPrintNodeImpl(t, fmt.Sprintf("%s %s\t%s/%s\t%s\t%s\t%s\t%s\t%s\t%s\n", JobStatusIconMap[wfv1.NodeRunning], nodeName, nodeTemplateRefName, nodeTemplateRefName, expectedPodName, "0s", getArtifactsString(node), nodeMessage, "", kubernetesNodeName), node, getArgs)
- getArgs.Output = "short"
+ require.NoError(t, getArgs.Output.Set("short"))
testPrintNodeImpl(t, fmt.Sprintf("%s %s\t%s/%s\t%s\t%s\t%s\t%s\n", JobStatusIconMap[wfv1.NodeRunning], nodeName, nodeTemplateRefName, nodeTemplateRefName, expectedPodName, "0s", nodeMessage, kubernetesNodeName), node, getArgs)
getArgs.Status = "foobar"
diff --git a/cmd/argo/commands/common/logs.go b/cmd/argo/commands/common/logs.go
index 2a007844e22c..be30b2b63264 100644
--- a/cmd/argo/commands/common/logs.go
+++ b/cmd/argo/commands/common/logs.go
@@ -5,13 +5,12 @@ import (
"fmt"
"io"
- "github.com/argoproj/pkg/errors"
corev1 "k8s.io/api/core/v1"
workflowpkg "github.com/argoproj/argo-workflows/v3/pkg/apiclient/workflow"
)
-func LogWorkflow(ctx context.Context, serviceClient workflowpkg.WorkflowServiceClient, namespace, workflow, podName, grep, selector string, logOptions *corev1.PodLogOptions) {
+func LogWorkflow(ctx context.Context, serviceClient workflowpkg.WorkflowServiceClient, namespace, workflow, podName, grep, selector string, logOptions *corev1.PodLogOptions) error {
// logs
stream, err := serviceClient.WorkflowLogs(ctx, &workflowpkg.WorkflowLogRequest{
Name: workflow,
@@ -21,15 +20,19 @@ func LogWorkflow(ctx context.Context, serviceClient workflowpkg.WorkflowServiceC
Selector: selector,
Grep: grep,
})
- errors.CheckError(err)
+ if err != nil {
+ return err
+ }
// loop on log lines
for {
event, err := stream.Recv()
if err == io.EOF {
- return
+ return nil
+ }
+ if err != nil {
+ return err
}
- errors.CheckError(err)
fmt.Println(ansiFormat(fmt.Sprintf("%s: %s", event.PodName, event.Content), ansiColorCode(event.PodName)))
}
}
diff --git a/cmd/argo/commands/common/submit.go b/cmd/argo/commands/common/submit.go
index 21e0fbdc687c..0867c980dfda 100644
--- a/cmd/argo/commands/common/submit.go
+++ b/cmd/argo/commands/common/submit.go
@@ -11,32 +11,43 @@ import (
// CliSubmitOpts holds submission options specific to CLI submission (e.g. controlling output)
type CliSubmitOpts struct {
- Output string // --output
- Wait bool // --wait
- Watch bool // --watch
- Log bool // --log
- Strict bool // --strict
- Priority *int32 // --priority
+ Output EnumFlagValue // --output
+ Wait bool // --wait
+ Watch bool // --watch
+ Log bool // --log
+ Strict bool // --strict
+ Priority *int32 // --priority
GetArgs GetFlags
ScheduledTime string // --scheduled-time
Parameters []string // --parameter
}
-func WaitWatchOrLog(ctx context.Context, serviceClient workflowpkg.WorkflowServiceClient, namespace string, workflowNames []string, cliSubmitOpts CliSubmitOpts) {
+func NewCliSubmitOpts() CliSubmitOpts {
+ return CliSubmitOpts{
+ Output: NewPrintWorkflowOutputValue(""),
+ }
+}
+
+func WaitWatchOrLog(ctx context.Context, serviceClient workflowpkg.WorkflowServiceClient, namespace string, workflowNames []string, cliSubmitOpts CliSubmitOpts) error {
if cliSubmitOpts.Log {
for _, workflow := range workflowNames {
- LogWorkflow(ctx, serviceClient, namespace, workflow, "", "", "", &corev1.PodLogOptions{
+ if err := LogWorkflow(ctx, serviceClient, namespace, workflow, "", "", "", &corev1.PodLogOptions{
Container: common.MainContainerName,
Follow: true,
Previous: false,
- })
+ }); err != nil {
+ return err
+ }
}
}
if cliSubmitOpts.Wait {
- WaitWorkflows(ctx, serviceClient, namespace, workflowNames, false, !(cliSubmitOpts.Output == "" || cliSubmitOpts.Output == "wide"))
+ WaitWorkflows(ctx, serviceClient, namespace, workflowNames, false, !(cliSubmitOpts.Output.String() == "" || cliSubmitOpts.Output.String() == "wide"))
} else if cliSubmitOpts.Watch {
for _, workflow := range workflowNames {
- WatchWorkflow(ctx, serviceClient, namespace, workflow, cliSubmitOpts.GetArgs)
+ if err := WatchWorkflow(ctx, serviceClient, namespace, workflow, cliSubmitOpts.GetArgs); err != nil {
+ return err
+ }
}
}
+ return nil
}
diff --git a/cmd/argo/commands/common/wait.go b/cmd/argo/commands/common/wait.go
index 69f7c6b46d47..7653d871b2af 100644
--- a/cmd/argo/commands/common/wait.go
+++ b/cmd/argo/commands/common/wait.go
@@ -7,7 +7,6 @@ import (
"os"
"sync"
- "github.com/argoproj/pkg/errors"
log "github.com/sirupsen/logrus"
"google.golang.org/grpc/codes"
"google.golang.org/grpc/status"
@@ -26,7 +25,7 @@ func WaitWorkflows(ctx context.Context, serviceClient workflowpkg.WorkflowServic
for _, name := range workflowNames {
wg.Add(1)
go func(name string) {
- if !waitOnOne(serviceClient, ctx, name, namespace, ignoreNotFound, quiet) {
+ if ok, _ := waitOnOne(serviceClient, ctx, name, namespace, ignoreNotFound, quiet); !ok {
wfSuccessStatus = false
}
wg.Done()
@@ -40,7 +39,7 @@ func WaitWorkflows(ctx context.Context, serviceClient workflowpkg.WorkflowServic
}
}
-func waitOnOne(serviceClient workflowpkg.WorkflowServiceClient, ctx context.Context, wfName, namespace string, ignoreNotFound, quiet bool) bool {
+func waitOnOne(serviceClient workflowpkg.WorkflowServiceClient, ctx context.Context, wfName, namespace string, ignoreNotFound, quiet bool) (bool, error) {
req := &workflowpkg.WatchWorkflowsRequest{
Namespace: namespace,
ListOptions: &metav1.ListOptions{
@@ -51,20 +50,23 @@ func waitOnOne(serviceClient workflowpkg.WorkflowServiceClient, ctx context.Cont
stream, err := serviceClient.WatchWorkflows(ctx, req)
if err != nil {
if status.Code(err) == codes.NotFound && ignoreNotFound {
- return true
+ return true, nil
}
- errors.CheckError(err)
- return false
+ return false, nil
}
for {
event, err := stream.Recv()
if err == io.EOF {
log.Debug("Re-establishing workflow watch")
stream, err = serviceClient.WatchWorkflows(ctx, req)
- errors.CheckError(err)
+ if err != nil {
+ return false, err
+ }
continue
}
- errors.CheckError(err)
+ if err != nil {
+ return false, err
+ }
if event == nil {
continue
}
@@ -74,9 +76,9 @@ func waitOnOne(serviceClient workflowpkg.WorkflowServiceClient, ctx context.Cont
fmt.Printf("%s %s at %v\n", wfName, wf.Status.Phase, wf.Status.FinishedAt)
}
if wf.Status.Phase == wfv1.WorkflowFailed || wf.Status.Phase == wfv1.WorkflowError {
- return false
+ return false, nil
}
- return true
+ return true, nil
}
}
}
diff --git a/cmd/argo/commands/common/watch.go b/cmd/argo/commands/common/watch.go
index f06513be22ee..4066645fcbba 100644
--- a/cmd/argo/commands/common/watch.go
+++ b/cmd/argo/commands/common/watch.go
@@ -16,7 +16,7 @@ import (
"github.com/argoproj/argo-workflows/v3/workflow/packer"
)
-func WatchWorkflow(ctx context.Context, serviceClient workflowpkg.WorkflowServiceClient, namespace string, workflow string, getArgs GetFlags) {
+func WatchWorkflow(ctx context.Context, serviceClient workflowpkg.WorkflowServiceClient, namespace string, workflow string, getArgs GetFlags) error {
req := &workflowpkg.WatchWorkflowsRequest{
Namespace: namespace,
ListOptions: &metav1.ListOptions{
@@ -25,7 +25,9 @@ func WatchWorkflow(ctx context.Context, serviceClient workflowpkg.WorkflowServic
},
}
stream, err := serviceClient.WatchWorkflows(ctx, req)
- errors.CheckError(err)
+ if err != nil {
+ return err
+ }
wfChan := make(chan *wfv1.Workflow)
go func() {
@@ -52,30 +54,35 @@ func WatchWorkflow(ctx context.Context, serviceClient workflowpkg.WorkflowServic
case newWf := <-wfChan:
// If we get a new event, update our workflow
if newWf == nil {
- return
+ return nil
}
wf = newWf
case <-ticker.C:
// If we don't, refresh the workflow screen every second
case <-ctx.Done():
// When the context gets canceled
- return
+ return nil
}
- printWorkflowStatus(wf, getArgs)
+ err := printWorkflowStatus(wf, getArgs)
+ if err != nil {
+ return err
+ }
if wf != nil && !wf.Status.FinishedAt.IsZero() {
- return
+ return nil
}
}
}
-func printWorkflowStatus(wf *wfv1.Workflow, getArgs GetFlags) {
+func printWorkflowStatus(wf *wfv1.Workflow, getArgs GetFlags) error {
if wf == nil {
- return
+ return nil
+ }
+ if err := packer.DecompressWorkflow(wf); err != nil {
+ return err
}
- err := packer.DecompressWorkflow(wf)
- errors.CheckError(err)
print("\033[H\033[2J")
print("\033[0;0H")
fmt.Print(PrintWorkflowHelper(wf, getArgs))
+ return nil
}
diff --git a/cmd/argo/commands/completion.go b/cmd/argo/commands/completion.go
index 2b6cf88eb3cb..8e52cd9a3252 100644
--- a/cmd/argo/commands/completion.go
+++ b/cmd/argo/commands/completion.go
@@ -3,7 +3,6 @@ package commands
import (
"fmt"
"io"
- "log"
"os"
"github.com/spf13/cobra"
@@ -130,11 +129,8 @@ variable.
For fish, output to a file in ~/.config/fish/completions
`,
- Run: func(cmd *cobra.Command, args []string) {
- if len(args) != 1 {
- cmd.HelpFunc()(cmd, args)
- os.Exit(1)
- }
+ Args: cobra.ExactArgs(1),
+ RunE: func(cmd *cobra.Command, args []string) error {
shell := args[0]
rootCommand := NewCommand()
rootCommand.BashCompletionFunction = bashCompletionFunc
@@ -145,12 +141,9 @@ For fish, output to a file in ~/.config/fish/completions
}
completion, ok := availableCompletions[shell]
if !ok {
- fmt.Printf("Invalid shell '%s'. The supported shells are bash and zsh.\n", shell)
- os.Exit(1)
- }
- if err := completion(os.Stdout, rootCommand); err != nil {
- log.Fatal(err)
+ return fmt.Errorf("Invalid shell '%s'. The supported shells are bash and zsh.\n", shell)
}
+ return completion(os.Stdout, rootCommand)
},
}
return command
diff --git a/cmd/argo/commands/cp.go b/cmd/argo/commands/cp.go
index 36ca1230590a..b0781d87a4d5 100644
--- a/cmd/argo/commands/cp.go
+++ b/cmd/argo/commands/cp.go
@@ -48,7 +48,10 @@ func NewCpCommand() *cobra.Command {
workflowName := args[0]
outputDir := args[1]
- ctx, apiClient := client.NewAPIClient(cmd.Context())
+ ctx, apiClient, err := client.NewAPIClient(cmd.Context())
+ if err != nil {
+ return err
+ }
serviceClient := apiClient.NewWorkflowServiceClient()
if len(namespace) == 0 {
namespace = client.Namespace()
@@ -117,7 +120,11 @@ func getAndStoreArtifactData(namespace string, workflowName string, nodeId strin
if err != nil {
return fmt.Errorf("failed to create request: %w", err)
}
- request.Header.Set("Authorization", client.GetAuthString())
+ authString, err := client.GetAuthString()
+ if err != nil {
+ return err
+ }
+ request.Header.Set("Authorization", authString)
resp, err := c.Do(request)
if err != nil {
return fmt.Errorf("request failed with: %w", err)
diff --git a/cmd/argo/commands/cron/create.go b/cmd/argo/commands/cron/create.go
index efe1d78da47e..592289d0beb8 100644
--- a/cmd/argo/commands/cron/create.go
+++ b/cmd/argo/commands/cron/create.go
@@ -3,50 +3,58 @@ package cron
import (
"context"
"fmt"
- "log"
"github.com/spf13/cobra"
"github.com/argoproj/argo-workflows/v3/cmd/argo/commands/client"
+ "github.com/argoproj/argo-workflows/v3/cmd/argo/commands/common"
cronworkflowpkg "github.com/argoproj/argo-workflows/v3/pkg/apiclient/cronworkflow"
wfv1 "github.com/argoproj/argo-workflows/v3/pkg/apis/workflow/v1alpha1"
"github.com/argoproj/argo-workflows/v3/workflow/util"
)
type cliCreateOpts struct {
- output string // --output
- schedule string // --schedule
- strict bool // --strict
+ output common.EnumFlagValue // --output
+ schedule string // --schedule
+ strict bool // --strict
}
func NewCreateCommand() *cobra.Command {
var (
- cliCreateOpts cliCreateOpts
+ cliCreateOpts = cliCreateOpts{output: common.NewPrintWorkflowOutputValue("")}
submitOpts wfv1.SubmitOpts
parametersFile string
)
command := &cobra.Command{
Use: "create FILE1 FILE2...",
Short: "create a cron workflow",
- Run: func(cmd *cobra.Command, args []string) {
- checkArgs(cmd, args, parametersFile, &submitOpts)
-
- CreateCronWorkflows(cmd.Context(), args, &cliCreateOpts, &submitOpts)
+ Args: cobra.MinimumNArgs(1),
+ RunE: func(cmd *cobra.Command, args []string) error {
+ if parametersFile != "" {
+ err := util.ReadParametersFile(parametersFile, &submitOpts)
+ if err != nil {
+ return err
+ }
+ }
+ return CreateCronWorkflows(cmd.Context(), args, &cliCreateOpts, &submitOpts)
},
}
util.PopulateSubmitOpts(command, &submitOpts, ¶metersFile, false)
- command.Flags().StringVarP(&cliCreateOpts.output, "output", "o", "", "Output format. One of: name|json|yaml|wide")
+ command.Flags().VarP(&cliCreateOpts.output, "output", "o", "Output format. "+cliCreateOpts.output.Usage())
command.Flags().BoolVar(&cliCreateOpts.strict, "strict", true, "perform strict workflow validation")
command.Flags().StringVar(&cliCreateOpts.schedule, "schedule", "", "override cron workflow schedule")
return command
}
-func CreateCronWorkflows(ctx context.Context, filePaths []string, cliOpts *cliCreateOpts, submitOpts *wfv1.SubmitOpts) {
- ctx, apiClient := client.NewAPIClient(ctx)
+func CreateCronWorkflows(ctx context.Context, filePaths []string, cliOpts *cliCreateOpts, submitOpts *wfv1.SubmitOpts) error {
+ ctx, apiClient, err := client.NewAPIClient(ctx)
+ if err != nil {
+ return err
+ }
serviceClient, err := apiClient.NewCronWorkflowServiceClient()
if err != nil {
- log.Fatal(err)
+ return err
}
cronWorkflows := generateCronWorkflows(filePaths, cliOpts.strict)
@@ -59,7 +67,7 @@ func CreateCronWorkflows(ctx context.Context, filePaths []string, cliOpts *cliCr
newWf := wfv1.Workflow{Spec: cronWf.Spec.WorkflowSpec}
err := util.ApplySubmitOpts(&newWf, submitOpts)
if err != nil {
- log.Fatal(err)
+ return err
}
cronWf.Spec.WorkflowSpec = newWf.Spec
// We have only copied the workflow spec to the cron workflow but not the metadata
@@ -81,8 +89,9 @@ func CreateCronWorkflows(ctx context.Context, filePaths []string, cliOpts *cliCr
CronWorkflow: &cronWf,
})
if err != nil {
- log.Fatalf("Failed to create cron workflow: %v", err)
+ return fmt.Errorf("Failed to create cron workflow: %v", err)
}
- fmt.Print(getCronWorkflowGet(created))
+ fmt.Print(getCronWorkflowGet(ctx, created))
}
+ return nil
}
diff --git a/cmd/argo/commands/cron/delete.go b/cmd/argo/commands/cron/delete.go
index 9e3bf4790ade..250524f0f39b 100644
--- a/cmd/argo/commands/cron/delete.go
+++ b/cmd/argo/commands/cron/delete.go
@@ -1,7 +1,6 @@
package cron
import (
- "github.com/argoproj/pkg/errors"
"github.com/spf13/cobra"
"github.com/argoproj/argo-workflows/v3/cmd/argo/commands/client"
@@ -15,15 +14,22 @@ func NewDeleteCommand() *cobra.Command {
command := &cobra.Command{
Use: "delete [CRON_WORKFLOW... | --all]",
Short: "delete a cron workflow",
- Run: func(cmd *cobra.Command, args []string) {
- ctx, apiClient := client.NewAPIClient(cmd.Context())
+ RunE: func(cmd *cobra.Command, args []string) error {
+ ctx, apiClient, err := client.NewAPIClient(cmd.Context())
+ if err != nil {
+ return err
+ }
serviceClient, err := apiClient.NewCronWorkflowServiceClient()
- errors.CheckError(err)
+ if err != nil {
+ return err
+ }
if all {
cronWfList, err := serviceClient.ListCronWorkflows(ctx, &cronworkflowpkg.ListCronWorkflowsRequest{
Namespace: client.Namespace(),
})
- errors.CheckError(err)
+ if err != nil {
+ return err
+ }
for _, cronWf := range cronWfList.Items {
args = append(args, cronWf.Name)
}
@@ -33,8 +39,11 @@ func NewDeleteCommand() *cobra.Command {
Name: name,
Namespace: client.Namespace(),
})
- errors.CheckError(err)
+ if err != nil {
+ return err
+ }
}
+ return nil
},
}
diff --git a/cmd/argo/commands/cron/get.go b/cmd/argo/commands/cron/get.go
index 9f3538f2f342..fbbdd7ba561c 100644
--- a/cmd/argo/commands/cron/get.go
+++ b/cmd/argo/commands/cron/get.go
@@ -1,30 +1,29 @@
package cron
import (
- "os"
-
- "github.com/argoproj/pkg/errors"
"github.com/spf13/cobra"
"github.com/argoproj/argo-workflows/v3/cmd/argo/commands/client"
+ "github.com/argoproj/argo-workflows/v3/cmd/argo/commands/common"
"github.com/argoproj/argo-workflows/v3/pkg/apiclient/cronworkflow"
)
func NewGetCommand() *cobra.Command {
- var output string
+ var output = common.NewPrintWorkflowOutputValue("")
command := &cobra.Command{
Use: "get CRON_WORKFLOW...",
Short: "display details about a cron workflow",
- Run: func(cmd *cobra.Command, args []string) {
- if len(args) == 0 {
- cmd.HelpFunc()(cmd, args)
- os.Exit(1)
+ Args: cobra.MinimumNArgs(1),
+ RunE: func(cmd *cobra.Command, args []string) error {
+ ctx, apiClient, err := client.NewAPIClient(cmd.Context())
+ if err != nil {
+ return err
}
-
- ctx, apiClient := client.NewAPIClient(cmd.Context())
serviceClient, err := apiClient.NewCronWorkflowServiceClient()
- errors.CheckError(err)
+ if err != nil {
+ return err
+ }
namespace := client.Namespace()
for _, arg := range args {
@@ -32,12 +31,15 @@ func NewGetCommand() *cobra.Command {
Name: arg,
Namespace: namespace,
})
- errors.CheckError(err)
- printCronWorkflow(cronWf, output)
+ if err != nil {
+ return err
+ }
+ printCronWorkflow(ctx, cronWf, output.String())
}
+ return nil
},
}
- command.Flags().StringVarP(&output, "output", "o", "", "Output format. One of: json|yaml|wide")
+ command.Flags().VarP(&output, "output", "o", "Output format. "+output.Usage())
return command
}
diff --git a/cmd/argo/commands/cron/lint.go b/cmd/argo/commands/cron/lint.go
index 9f41235cfa99..5ba988a2991b 100644
--- a/cmd/argo/commands/cron/lint.go
+++ b/cmd/argo/commands/cron/lint.go
@@ -6,6 +6,7 @@ import (
"github.com/spf13/cobra"
"github.com/argoproj/argo-workflows/v3/cmd/argo/commands/client"
+ "github.com/argoproj/argo-workflows/v3/cmd/argo/commands/common"
"github.com/argoproj/argo-workflows/v3/cmd/argo/lint"
wf "github.com/argoproj/argo-workflows/v3/pkg/apis/workflow"
)
@@ -13,29 +14,29 @@ import (
func NewLintCommand() *cobra.Command {
var (
strict bool
- output string
+ output = common.EnumFlagValue{AllowedValues: []string{"pretty", "simple"}, Value: "pretty"}
)
command := &cobra.Command{
Use: "lint FILE...",
Short: "validate files or directories of cron workflow manifests",
- Run: func(cmd *cobra.Command, args []string) {
- if len(args) == 0 {
- cmd.HelpFunc()(cmd, args)
- os.Exit(1)
+ Args: cobra.MinimumNArgs(1),
+ RunE: func(cmd *cobra.Command, args []string) error {
+ ctx, apiClient, err := client.NewAPIClient(cmd.Context())
+ if err != nil {
+ return err
}
- ctx, apiClient := client.NewAPIClient(cmd.Context())
opts := lint.LintOptions{
Files: args,
Strict: strict,
DefaultNamespace: client.Namespace(),
Printer: os.Stdout,
}
- lint.RunLint(ctx, apiClient, []string{wf.CronWorkflowPlural}, output, false, opts)
+ return lint.RunLint(ctx, apiClient, []string{wf.CronWorkflowPlural}, output.String(), false, opts)
},
}
- command.Flags().StringVarP(&output, "output", "o", "pretty", "Linting results output format. One of: pretty|simple")
+ command.Flags().VarP(&output, "output", "o", "Linting results output format. "+output.Usage())
command.Flags().BoolVar(&strict, "strict", true, "perform strict validation")
return command
}
diff --git a/cmd/argo/commands/cron/list.go b/cmd/argo/commands/cron/list.go
index a245bc288fe4..f1c2c272293a 100644
--- a/cmd/argo/commands/cron/list.go
+++ b/cmd/argo/commands/cron/list.go
@@ -1,37 +1,44 @@
package cron
import (
+ "context"
"fmt"
- "log"
"os"
"text/tabwriter"
"time"
- "github.com/argoproj/pkg/errors"
"github.com/argoproj/pkg/humanize"
"github.com/spf13/cobra"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"github.com/argoproj/argo-workflows/v3/cmd/argo/commands/client"
+ "github.com/argoproj/argo-workflows/v3/cmd/argo/commands/common"
cronworkflowpkg "github.com/argoproj/argo-workflows/v3/pkg/apiclient/cronworkflow"
wfv1 "github.com/argoproj/argo-workflows/v3/pkg/apis/workflow/v1alpha1"
)
type listFlags struct {
- allNamespaces bool // --all-namespaces
- output string // --output
- labelSelector string // --selector
+ allNamespaces bool // --all-namespaces
+ output common.EnumFlagValue // --output
+ labelSelector string // --selector
}
func NewListCommand() *cobra.Command {
- var listArgs listFlags
+ var listArgs = listFlags{
+ output: common.EnumFlagValue{AllowedValues: []string{"wide", "name"}},
+ }
command := &cobra.Command{
Use: "list",
Short: "list cron workflows",
- Run: func(cmd *cobra.Command, args []string) {
- ctx, apiClient := client.NewAPIClient(cmd.Context())
+ RunE: func(cmd *cobra.Command, args []string) error {
+ ctx, apiClient, err := client.NewAPIClient(cmd.Context())
+ if err != nil {
+ return err
+ }
serviceClient, err := apiClient.NewCronWorkflowServiceClient()
- errors.CheckError(err)
+ if err != nil {
+ return err
+ }
namespace := client.Namespace()
if listArgs.allNamespaces {
namespace = ""
@@ -42,31 +49,34 @@ func NewListCommand() *cobra.Command {
Namespace: namespace,
ListOptions: &listOpts,
})
- errors.CheckError(err)
- switch listArgs.output {
+ if err != nil {
+ return err
+ }
+ switch listArgs.output.String() {
case "", "wide":
- printTable(cronWfList.Items, &listArgs)
+ printTable(ctx, cronWfList.Items, &listArgs)
case "name":
for _, cronWf := range cronWfList.Items {
fmt.Println(cronWf.ObjectMeta.Name)
}
default:
- log.Fatalf("Unknown output mode: %s", listArgs.output)
+ return fmt.Errorf("Unknown output mode: %s", listArgs.output.String())
}
+ return nil
},
}
command.Flags().BoolVarP(&listArgs.allNamespaces, "all-namespaces", "A", false, "Show workflows from all namespaces")
- command.Flags().StringVarP(&listArgs.output, "output", "o", "", "Output format. One of: wide|name")
+ command.Flags().VarP(&listArgs.output, "output", "o", "Output format. "+listArgs.output.Usage())
command.Flags().StringVarP(&listArgs.labelSelector, "selector", "l", "", "Selector (label query) to filter on, supports '=', '==', and '!='.(e.g. -l key1=value1,key2=value2). Matching objects must satisfy all of the specified label constraints.")
return command
}
-func printTable(wfList []wfv1.CronWorkflow, listArgs *listFlags) {
+func printTable(ctx context.Context, wfList []wfv1.CronWorkflow, listArgs *listFlags) {
w := tabwriter.NewWriter(os.Stdout, 0, 0, 3, ' ', 0)
if listArgs.allNamespaces {
_, _ = fmt.Fprint(w, "NAMESPACE\t")
}
- _, _ = fmt.Fprint(w, "NAME\tAGE\tLAST RUN\tNEXT RUN\tSCHEDULE\tTIMEZONE\tSUSPENDED")
+ _, _ = fmt.Fprint(w, "NAME\tAGE\tLAST RUN\tNEXT RUN\tSCHEDULES\tTIMEZONE\tSUSPENDED")
_, _ = fmt.Fprint(w, "\n")
for _, cwf := range wfList {
if listArgs.allNamespaces {
@@ -79,7 +89,7 @@ func printTable(wfList []wfv1.CronWorkflow, listArgs *listFlags) {
cleanLastScheduledTime = "N/A"
}
var cleanNextScheduledTime string
- if next, err := GetNextRuntime(&cwf); err == nil {
+ if next, err := GetNextRuntime(ctx, &cwf); err == nil {
cleanNextScheduledTime = humanize.RelativeDurationShort(next, time.Now())
} else {
cleanNextScheduledTime = "N/A"
diff --git a/cmd/argo/commands/cron/resume.go b/cmd/argo/commands/cron/resume.go
index e3738ae80239..12811c83b695 100644
--- a/cmd/argo/commands/cron/resume.go
+++ b/cmd/argo/commands/cron/resume.go
@@ -3,7 +3,6 @@ package cron
import (
"fmt"
- "github.com/argoproj/pkg/errors"
"github.com/spf13/cobra"
"github.com/argoproj/argo-workflows/v3/cmd/argo/commands/client"
@@ -15,19 +14,27 @@ func NewResumeCommand() *cobra.Command {
command := &cobra.Command{
Use: "resume [CRON_WORKFLOW...]",
Short: "resume zero or more cron workflows",
- Run: func(cmd *cobra.Command, args []string) {
- ctx, apiClient := client.NewAPIClient(cmd.Context())
+ RunE: func(cmd *cobra.Command, args []string) error {
+ ctx, apiClient, err := client.NewAPIClient(cmd.Context())
+ if err != nil {
+ return err
+ }
serviceClient, err := apiClient.NewCronWorkflowServiceClient()
- errors.CheckError(err)
+ if err != nil {
+ return err
+ }
namespace := client.Namespace()
for _, name := range args {
_, err := serviceClient.ResumeCronWorkflow(ctx, &cronworkflowpkg.CronWorkflowResumeRequest{
Name: name,
Namespace: namespace,
})
- errors.CheckError(err)
+ if err != nil {
+ return err
+ }
fmt.Printf("CronWorkflow '%s' resumed\n", name)
}
+ return nil
},
}
diff --git a/cmd/argo/commands/cron/root.go b/cmd/argo/commands/cron/root.go
index da11a6f3a886..37c6f060011b 100644
--- a/cmd/argo/commands/cron/root.go
+++ b/cmd/argo/commands/cron/root.go
@@ -9,8 +9,8 @@ func NewCronWorkflowCommand() *cobra.Command {
Use: "cron",
Short: "manage cron workflows",
Long: `NextScheduledRun assumes that the workflow-controller uses UTC as its timezone`,
- Run: func(cmd *cobra.Command, args []string) {
- cmd.HelpFunc()(cmd, args)
+ RunE: func(cmd *cobra.Command, args []string) error {
+ return cmd.Help()
},
}
diff --git a/cmd/argo/commands/cron/suspend.go b/cmd/argo/commands/cron/suspend.go
index 3a7e46ac5fff..084e2a7b3353 100644
--- a/cmd/argo/commands/cron/suspend.go
+++ b/cmd/argo/commands/cron/suspend.go
@@ -3,7 +3,6 @@ package cron
import (
"fmt"
- "github.com/argoproj/pkg/errors"
"github.com/spf13/cobra"
"github.com/argoproj/argo-workflows/v3/cmd/argo/commands/client"
@@ -15,20 +14,28 @@ func NewSuspendCommand() *cobra.Command {
command := &cobra.Command{
Use: "suspend CRON_WORKFLOW...",
Short: "suspend zero or more cron workflows",
- Run: func(cmd *cobra.Command, args []string) {
- ctx, apiClient := client.NewAPIClient(cmd.Context())
+ RunE: func(cmd *cobra.Command, args []string) error {
+ ctx, apiClient, err := client.NewAPIClient(cmd.Context())
+ if err != nil {
+ return err
+ }
serviceClient, err := apiClient.NewCronWorkflowServiceClient()
- errors.CheckError(err)
+ if err != nil {
+ return err
+ }
namespace := client.Namespace()
for _, name := range args {
cronWf, err := serviceClient.SuspendCronWorkflow(ctx, &cronworkflowpkg.CronWorkflowSuspendRequest{
Name: name,
Namespace: namespace,
})
- errors.CheckError(err)
+ if err != nil {
+ return err
+ }
cronWf.Spec.Suspend = true
fmt.Printf("CronWorkflow '%s' suspended\n", name)
}
+ return nil
},
}
return command
diff --git a/cmd/argo/commands/cron/update.go b/cmd/argo/commands/cron/update.go
index cb92661543d0..807a8c4e0b2d 100644
--- a/cmd/argo/commands/cron/update.go
+++ b/cmd/argo/commands/cron/update.go
@@ -3,24 +3,24 @@ package cron
import (
"context"
"fmt"
- "log"
"github.com/spf13/cobra"
"github.com/argoproj/argo-workflows/v3/cmd/argo/commands/client"
+ "github.com/argoproj/argo-workflows/v3/cmd/argo/commands/common"
cronworkflowpkg "github.com/argoproj/argo-workflows/v3/pkg/apiclient/cronworkflow"
wfv1 "github.com/argoproj/argo-workflows/v3/pkg/apis/workflow/v1alpha1"
"github.com/argoproj/argo-workflows/v3/workflow/util"
)
type cliUpdateOpts struct {
- output string // --output
- strict bool // --strict
+ output common.EnumFlagValue // --output
+ strict bool // --strict
}
func NewUpdateCommand() *cobra.Command {
var (
- cliUpdateOpts cliUpdateOpts
+ cliUpdateOpts = cliUpdateOpts{output: common.NewPrintWorkflowOutputValue("")}
submitOpts wfv1.SubmitOpts
parametersFile string
)
@@ -36,24 +36,32 @@ func NewUpdateCommand() *cobra.Command {
# Update a Cron Workflow Template with relaxed validation:
argo cron update FILE1 --strict false
`,
- Run: func(cmd *cobra.Command, args []string) {
- checkArgs(cmd, args, parametersFile, &submitOpts)
-
- updateCronWorkflows(cmd.Context(), args, &cliUpdateOpts, &submitOpts)
+ Args: cobra.MinimumNArgs(1),
+ RunE: func(cmd *cobra.Command, args []string) error {
+ if parametersFile != "" {
+ err := util.ReadParametersFile(parametersFile, &submitOpts)
+ if err != nil {
+ return err
+ }
+ }
+ return updateCronWorkflows(cmd.Context(), args, &cliUpdateOpts, &submitOpts)
},
}
util.PopulateSubmitOpts(command, &submitOpts, ¶metersFile, false)
- command.Flags().StringVarP(&cliUpdateOpts.output, "output", "o", "", "Output format. One of: name|json|yaml|wide")
+ command.Flags().VarP(&cliUpdateOpts.output, "output", "o", "Output format. "+cliUpdateOpts.output.Usage())
command.Flags().BoolVar(&cliUpdateOpts.strict, "strict", true, "perform strict workflow validation")
return command
}
-func updateCronWorkflows(ctx context.Context, filePaths []string, cliOpts *cliUpdateOpts, submitOpts *wfv1.SubmitOpts) {
- ctx, apiClient := client.NewAPIClient(ctx)
+func updateCronWorkflows(ctx context.Context, filePaths []string, cliOpts *cliUpdateOpts, submitOpts *wfv1.SubmitOpts) error {
+ ctx, apiClient, err := client.NewAPIClient(ctx)
+ if err != nil {
+ return err
+ }
serviceClient, err := apiClient.NewCronWorkflowServiceClient()
if err != nil {
- log.Fatal(err)
+ return err
}
cronWorkflows := generateCronWorkflows(filePaths, cliOpts.strict)
@@ -62,7 +70,7 @@ func updateCronWorkflows(ctx context.Context, filePaths []string, cliOpts *cliUp
newWf := wfv1.Workflow{Spec: cronWf.Spec.WorkflowSpec}
err := util.ApplySubmitOpts(&newWf, submitOpts)
if err != nil {
- log.Fatal(err)
+ return err
}
if cronWf.Namespace == "" {
cronWf.Namespace = client.Namespace()
@@ -72,7 +80,7 @@ func updateCronWorkflows(ctx context.Context, filePaths []string, cliOpts *cliUp
Namespace: cronWf.Namespace,
})
if err != nil {
- log.Fatalf("Failed to get existing cron workflow %q to update: %v", cronWf.Name, err)
+ return fmt.Errorf("Failed to get existing cron workflow %q to update: %v", cronWf.Name, err)
}
cronWf.ResourceVersion = current.ResourceVersion
updated, err := serviceClient.UpdateCronWorkflow(ctx, &cronworkflowpkg.UpdateCronWorkflowRequest{
@@ -80,8 +88,9 @@ func updateCronWorkflows(ctx context.Context, filePaths []string, cliOpts *cliUp
CronWorkflow: &cronWf,
})
if err != nil {
- log.Fatalf("Failed to update workflow template: %v", err)
+ return fmt.Errorf("Failed to update workflow template: %v", err)
}
- fmt.Print(getCronWorkflowGet(updated))
+ fmt.Print(getCronWorkflowGet(ctx, updated))
}
+ return nil
}
diff --git a/cmd/argo/commands/cron/util.go b/cmd/argo/commands/cron/util.go
index 909284fb28b0..82db7983dcde 100644
--- a/cmd/argo/commands/cron/util.go
+++ b/cmd/argo/commands/cron/util.go
@@ -1,22 +1,20 @@
package cron
import (
+ "context"
"encoding/json"
"fmt"
"log"
- "os"
"strings"
"time"
argoJson "github.com/argoproj/pkg/json"
"github.com/robfig/cron/v3"
- "github.com/spf13/cobra"
"sigs.k8s.io/yaml"
"github.com/argoproj/argo-workflows/v3/workflow/common"
"github.com/argoproj/argo-workflows/v3/workflow/util"
- "github.com/argoproj/pkg/errors"
"github.com/argoproj/pkg/humanize"
"github.com/argoproj/argo-workflows/v3/pkg/apis/workflow/v1alpha1"
@@ -25,10 +23,10 @@ import (
// GetNextRuntime returns the next time the workflow should run in local time. It assumes the workflow-controller is in
// UTC, but nevertheless returns the time in the local timezone.
-func GetNextRuntime(cwf *v1alpha1.CronWorkflow) (time.Time, error) {
+func GetNextRuntime(ctx context.Context, cwf *v1alpha1.CronWorkflow) (time.Time, error) {
var nextRunTime time.Time
now := time.Now().UTC()
- for _, schedule := range cwf.Spec.GetSchedulesWithTimezone() {
+ for _, schedule := range cwf.Spec.GetSchedulesWithTimezone(ctx) {
cronSchedule, err := cron.ParseStandard(schedule)
if err != nil {
return time.Time{}, err
@@ -61,18 +59,6 @@ func generateCronWorkflows(filePaths []string, strict bool) []v1alpha1.CronWorkf
return cronWorkflows
}
-func checkArgs(cmd *cobra.Command, args []string, parametersFile string, submitOpts *v1alpha1.SubmitOpts) {
- if len(args) == 0 {
- cmd.HelpFunc()(cmd, args)
- os.Exit(1)
- }
-
- if parametersFile != "" {
- err := util.ReadParametersFile(parametersFile, submitOpts)
- errors.CheckError(err)
- }
-}
-
// unmarshalCronWorkflows unmarshals the input bytes as either json or yaml
func unmarshalCronWorkflows(wfBytes []byte, strict bool) []wfv1.CronWorkflow {
var cronWf wfv1.CronWorkflow
@@ -92,7 +78,7 @@ func unmarshalCronWorkflows(wfBytes []byte, strict bool) []wfv1.CronWorkflow {
return nil
}
-func printCronWorkflow(wf *wfv1.CronWorkflow, outFmt string) {
+func printCronWorkflow(ctx context.Context, wf *wfv1.CronWorkflow, outFmt string) {
switch outFmt {
case "name":
fmt.Println(wf.ObjectMeta.Name)
@@ -103,20 +89,20 @@ func printCronWorkflow(wf *wfv1.CronWorkflow, outFmt string) {
outBytes, _ := yaml.Marshal(wf)
fmt.Print(string(outBytes))
case "wide", "":
- fmt.Print(getCronWorkflowGet(wf))
+ fmt.Print(getCronWorkflowGet(ctx, wf))
default:
log.Fatalf("Unknown output format: %s", outFmt)
}
}
-func getCronWorkflowGet(cwf *wfv1.CronWorkflow) string {
+func getCronWorkflowGet(ctx context.Context, cwf *wfv1.CronWorkflow) string {
const fmtStr = "%-30s %v\n"
out := ""
out += fmt.Sprintf(fmtStr, "Name:", cwf.ObjectMeta.Name)
out += fmt.Sprintf(fmtStr, "Namespace:", cwf.ObjectMeta.Namespace)
out += fmt.Sprintf(fmtStr, "Created:", humanize.Timestamp(cwf.ObjectMeta.CreationTimestamp.Time))
- out += fmt.Sprintf(fmtStr, "Schedule:", cwf.Spec.GetScheduleString())
+ out += fmt.Sprintf(fmtStr, "Schedules:", cwf.Spec.GetScheduleString())
out += fmt.Sprintf(fmtStr, "Suspended:", cwf.Spec.Suspend)
if cwf.Spec.Timezone != "" {
out += fmt.Sprintf(fmtStr, "Timezone:", cwf.Spec.Timezone)
@@ -131,7 +117,7 @@ func getCronWorkflowGet(cwf *wfv1.CronWorkflow) string {
out += fmt.Sprintf(fmtStr, "LastScheduledTime:", humanize.Timestamp(cwf.Status.LastScheduledTime.Time))
}
- next, err := GetNextRuntime(cwf)
+ next, err := GetNextRuntime(ctx, cwf)
if err == nil {
out += fmt.Sprintf(fmtStr, "NextScheduledTime:", humanize.Timestamp(next)+" (assumes workflow-controller is in UTC)")
}
diff --git a/cmd/argo/commands/cron/util_test.go b/cmd/argo/commands/cron/util_test.go
index 0eb696d14ab9..e1e0ab9e623c 100644
--- a/cmd/argo/commands/cron/util_test.go
+++ b/cmd/argo/commands/cron/util_test.go
@@ -1,6 +1,7 @@
package cron
import (
+ "context"
"testing"
"time"
@@ -56,13 +57,13 @@ Conditions:
func TestPrintCronWorkflow(t *testing.T) {
var cronWf = v1alpha1.MustUnmarshalCronWorkflow(invalidCwf)
- out := getCronWorkflowGet(cronWf)
+ out := getCronWorkflowGet(context.Background(), cronWf)
assert.Contains(t, out, expectedOut)
}
func TestNextRuntime(t *testing.T) {
var cronWf = v1alpha1.MustUnmarshalCronWorkflow(invalidCwf)
- next, err := GetNextRuntime(cronWf)
+ next, err := GetNextRuntime(context.Background(), cronWf)
require.NoError(t, err)
assert.LessOrEqual(t, next.Unix(), time.Now().Add(1*time.Minute).Unix())
assert.Greater(t, next.Unix(), time.Now().Unix())
@@ -94,7 +95,7 @@ spec:
func TestNextRuntimeWithMultipleSchedules(t *testing.T) {
var cronWf = v1alpha1.MustUnmarshalCronWorkflow(cronMultipleSchedules)
- next, err := GetNextRuntime(cronWf)
+ next, err := GetNextRuntime(context.Background(), cronWf)
require.NoError(t, err)
assert.LessOrEqual(t, next.Unix(), time.Now().Add(1*time.Minute).Unix())
assert.Greater(t, next.Unix(), time.Now().Unix())
diff --git a/cmd/argo/commands/delete.go b/cmd/argo/commands/delete.go
index 49b75dff0c08..8fde329d3f79 100644
--- a/cmd/argo/commands/delete.go
+++ b/cmd/argo/commands/delete.go
@@ -1,10 +1,9 @@
package commands
import (
+ "errors"
"fmt"
- "os"
- "github.com/argoproj/pkg/errors"
"github.com/spf13/cobra"
"google.golang.org/grpc/codes"
"google.golang.org/grpc/status"
@@ -23,6 +22,10 @@ func NewDeleteCommand() *cobra.Command {
allNamespaces bool
dryRun bool
force bool
+ hasFilterFlag = func() bool {
+ return all || allNamespaces || flags.completed || flags.resubmitted || flags.prefix != "" ||
+ flags.labels != "" || flags.fields != "" || flags.finishedBefore != "" || len(flags.status) > 0
+ }
)
command := &cobra.Command{
Use: "delete [--dry-run] [WORKFLOW...|[--all] [--older] [--completed] [--resubmitted] [--prefix PREFIX] [--selector SELECTOR] [--force] [--status STATUS] ]",
@@ -35,16 +38,17 @@ func NewDeleteCommand() *cobra.Command {
argo delete @latest
`,
- Run: func(cmd *cobra.Command, args []string) {
- hasFilterFlag := all || allNamespaces || flags.completed || flags.resubmitted || flags.prefix != "" ||
- flags.labels != "" || flags.fields != "" || flags.finishedBefore != "" || len(flags.status) > 0
-
- if len(args) == 0 && !hasFilterFlag {
- cmd.HelpFunc()(cmd, args)
- os.Exit(1)
+ Args: func(cmd *cobra.Command, args []string) error {
+ if len(args) == 0 && !hasFilterFlag() {
+ return errors.New("requires either a workflow or other argument")
+ }
+ return nil
+ },
+ RunE: func(cmd *cobra.Command, args []string) error {
+ ctx, apiClient, err := client.NewAPIClient(cmd.Context())
+ if err != nil {
+ return err
}
-
- ctx, apiClient := client.NewAPIClient(cmd.Context())
serviceClient := apiClient.NewWorkflowServiceClient()
var workflows wfv1.Workflows
if !allNamespaces {
@@ -55,15 +59,17 @@ func NewDeleteCommand() *cobra.Command {
ObjectMeta: metav1.ObjectMeta{Name: name, Namespace: flags.namespace},
})
}
- if hasFilterFlag {
+ if hasFilterFlag() {
listed, err := listWorkflows(ctx, serviceClient, flags)
- errors.CheckError(err)
+ if err != nil {
+ return err
+ }
workflows = append(workflows, listed...)
}
if len(workflows) == 0 {
fmt.Printf("No resources found\n")
- return
+ return nil
}
for _, wf := range workflows {
@@ -73,13 +79,18 @@ func NewDeleteCommand() *cobra.Command {
}
_, err := serviceClient.DeleteWorkflow(ctx, &workflowpkg.WorkflowDeleteRequest{Name: wf.Name, Namespace: wf.Namespace, Force: force})
- if err != nil && status.Code(err) == codes.NotFound {
- fmt.Printf("Workflow '%s' not found\n", wf.Name)
- continue
+ if err != nil {
+ if status.Code(err) == codes.NotFound {
+ fmt.Printf("Workflow '%s' not found\n", wf.Name)
+ continue
+ } else {
+ return err
+ }
}
- errors.CheckError(err)
fmt.Printf("Workflow '%s' deleted\n", wf.Name)
}
+
+ return nil
},
}
diff --git a/cmd/argo/commands/executorplugin/build.go b/cmd/argo/commands/executorplugin/build.go
index f9891187309d..447e6704eadf 100644
--- a/cmd/argo/commands/executorplugin/build.go
+++ b/cmd/argo/commands/executorplugin/build.go
@@ -2,7 +2,6 @@ package executorplugin
import (
"fmt"
- "os"
"github.com/spf13/cobra"
@@ -14,11 +13,8 @@ func NewBuildCommand() *cobra.Command {
Use: "build DIR",
Short: "build an executor plugin",
SilenceUsage: true,
+ Args: cobra.ExactArgs(1),
RunE: func(cmd *cobra.Command, args []string) error {
- if len(args) != 1 {
- cmd.HelpFunc()(cmd, args)
- os.Exit(1)
- }
pluginDir := args[0]
plug, err := loadPluginManifest(pluginDir)
if err != nil {
diff --git a/cmd/argo/commands/executorplugin/root.go b/cmd/argo/commands/executorplugin/root.go
index 3ce4dc35266b..46b626c43b3b 100644
--- a/cmd/argo/commands/executorplugin/root.go
+++ b/cmd/argo/commands/executorplugin/root.go
@@ -8,8 +8,8 @@ func NewRootCommand() *cobra.Command {
command := &cobra.Command{
Use: "executor-plugin",
Short: "manage executor plugins",
- Run: func(cmd *cobra.Command, args []string) {
- cmd.HelpFunc()(cmd, args)
+ RunE: func(cmd *cobra.Command, args []string) error {
+ return cmd.Help()
},
}
diff --git a/cmd/argo/commands/get.go b/cmd/argo/commands/get.go
index cb98fb1c9750..e5c34ddb995b 100644
--- a/cmd/argo/commands/get.go
+++ b/cmd/argo/commands/get.go
@@ -3,10 +3,7 @@ package commands
import (
"encoding/json"
"fmt"
- "log"
- "os"
- "github.com/argoproj/pkg/errors"
"github.com/spf13/cobra"
"sigs.k8s.io/yaml"
@@ -17,7 +14,11 @@ import (
)
func NewGetCommand() *cobra.Command {
- var getArgs common.GetFlags
+ var getArgs = common.GetFlags{
+ Output: common.EnumFlagValue{
+ AllowedValues: []string{"name", "json", "yaml", "short", "wide"},
+ },
+ }
command := &cobra.Command{
Use: "get WORKFLOW...",
@@ -29,12 +30,12 @@ func NewGetCommand() *cobra.Command {
# Get the latest workflow:
argo get @latest
`,
- Run: func(cmd *cobra.Command, args []string) {
- if len(args) == 0 {
- cmd.HelpFunc()(cmd, args)
- os.Exit(1)
+ Args: cobra.MinimumNArgs(1),
+ RunE: func(cmd *cobra.Command, args []string) error {
+ ctx, apiClient, err := client.NewAPIClient(cmd.Context())
+ if err != nil {
+ return err
}
- ctx, apiClient := client.NewAPIClient(cmd.Context())
serviceClient := apiClient.NewWorkflowServiceClient()
namespace := client.Namespace()
for _, name := range args {
@@ -42,13 +43,18 @@ func NewGetCommand() *cobra.Command {
Name: name,
Namespace: namespace,
})
- errors.CheckError(err)
- printWorkflow(wf, getArgs)
+ if err != nil {
+ return err
+ }
+ if err := printWorkflow(wf, getArgs); err != nil {
+ return err
+ }
}
+ return nil
},
}
- command.Flags().StringVarP(&getArgs.Output, "output", "o", "", "Output format. One of: json|yaml|short|wide")
+ command.Flags().VarP(&getArgs.Output, "output", "o", "Output format. "+getArgs.Output.Usage())
command.Flags().BoolVar(&common.NoColor, "no-color", false, "Disable colorized output")
command.Flags().BoolVar(&common.NoUtf8, "no-utf8", false, "Use plain 7-bits ascii characters")
command.Flags().StringVar(&getArgs.Status, "status", "", "Filter by status (Pending, Running, Succeeded, Skipped, Failed, Error)")
@@ -56,8 +62,8 @@ func NewGetCommand() *cobra.Command {
return command
}
-func printWorkflow(wf *wfv1.Workflow, getArgs common.GetFlags) {
- switch getArgs.Output {
+func printWorkflow(wf *wfv1.Workflow, getArgs common.GetFlags) error {
+ switch getArgs.Output.String() {
case "name":
fmt.Println(wf.ObjectMeta.Name)
case "json":
@@ -69,6 +75,7 @@ func printWorkflow(wf *wfv1.Workflow, getArgs common.GetFlags) {
case "short", "wide", "":
fmt.Print(common.PrintWorkflowHelper(wf, getArgs))
default:
- log.Fatalf("Unknown output format: %s", getArgs.Output)
+ return fmt.Errorf("Unknown output format: %s", getArgs.Output)
}
+ return nil
}
diff --git a/cmd/argo/commands/lint.go b/cmd/argo/commands/lint.go
index 6d6390d73986..643c4a39f6e9 100644
--- a/cmd/argo/commands/lint.go
+++ b/cmd/argo/commands/lint.go
@@ -20,8 +20,11 @@ func NewLintCommand() *cobra.Command {
var (
strict bool
lintKinds []string
- output string
- offline bool
+ output = common.EnumFlagValue{
+ AllowedValues: []string{"pretty", "simple"},
+ Value: "pretty",
+ }
+ offline bool
)
command := &cobra.Command{
@@ -35,18 +38,14 @@ func NewLintCommand() *cobra.Command {
# Lint only manifests of Workflows and CronWorkflows from stdin:
cat manifests.yaml | argo lint --kinds=workflows,cronworkflows -`,
- Run: func(cmd *cobra.Command, args []string) {
- if len(args) == 0 {
- cmd.HelpFunc()(cmd, args)
- os.Exit(1)
- }
-
- runLint(cmd.Context(), args, offline, lintKinds, output, strict)
+ Args: cobra.MinimumNArgs(1),
+ RunE: func(cmd *cobra.Command, args []string) error {
+ return runLint(cmd.Context(), args, offline, lintKinds, output.String(), strict)
},
}
command.Flags().StringSliceVar(&lintKinds, "kinds", []string{"all"}, fmt.Sprintf("Which kinds will be linted. Can be: %s", strings.Join(allKinds, "|")))
- command.Flags().StringVarP(&output, "output", "o", "pretty", "Linting results output format. One of: pretty|simple")
+ command.Flags().VarP(&output, "output", "o", "Linting results output format. "+output.Usage())
command.Flags().BoolVar(&strict, "strict", true, "Perform strict workflow validation")
command.Flags().BoolVar(&offline, "offline", false, "perform offline linting. For resources referencing other resources, the references will be resolved from the provided args")
command.Flags().BoolVar(&common.NoColor, "no-color", false, "Disable colorized output")
@@ -54,10 +53,13 @@ func NewLintCommand() *cobra.Command {
return command
}
-func runLint(ctx context.Context, args []string, offline bool, lintKinds []string, output string, strict bool) {
+func runLint(ctx context.Context, args []string, offline bool, lintKinds []string, output string, strict bool) error {
client.Offline = offline
client.OfflineFiles = args
- ctx, apiClient := client.NewAPIClient(ctx)
+ ctx, apiClient, err := client.NewAPIClient(ctx)
+ if err != nil {
+ return err
+ }
if len(lintKinds) == 0 || strings.Contains(strings.Join(lintKinds, ","), "all") {
lintKinds = allKinds
@@ -68,5 +70,5 @@ func runLint(ctx context.Context, args []string, offline bool, lintKinds []strin
DefaultNamespace: client.Namespace(),
Printer: os.Stdout,
}
- lint.RunLint(ctx, apiClient, lintKinds, output, offline, ops)
+ return lint.RunLint(ctx, apiClient, lintKinds, output, offline, ops)
}
diff --git a/cmd/argo/commands/lint_test.go b/cmd/argo/commands/lint_test.go
index 6c2226fc554d..da109835d648 100644
--- a/cmd/argo/commands/lint_test.go
+++ b/cmd/argo/commands/lint_test.go
@@ -90,8 +90,9 @@ spec:
var fatal bool
logrus.StandardLogger().ExitFunc = func(int) { fatal = true }
- runLint(context.Background(), []string{workflowPath}, true, nil, "pretty", true)
+ err = runLint(context.Background(), []string{workflowPath}, true, nil, "pretty", true)
+ require.NoError(t, err)
assert.True(t, fatal, "should have exited")
})
@@ -100,8 +101,9 @@ spec:
var fatal bool
logrus.StandardLogger().ExitFunc = func(int) { fatal = true }
- runLint(context.Background(), []string{workflowPath, clusterWftmplPath}, true, nil, "pretty", true)
+ err = runLint(context.Background(), []string{workflowPath, clusterWftmplPath}, true, nil, "pretty", true)
+ require.NoError(t, err)
assert.True(t, fatal, "should have exited")
})
@@ -110,8 +112,9 @@ spec:
var fatal bool
logrus.StandardLogger().ExitFunc = func(int) { fatal = true }
- runLint(context.Background(), []string{workflowPath, wftmplPath}, true, nil, "pretty", true)
+ err = runLint(context.Background(), []string{workflowPath, wftmplPath}, true, nil, "pretty", true)
+ require.NoError(t, err)
assert.True(t, fatal, "should have exited")
})
@@ -120,8 +123,9 @@ spec:
var fatal bool
logrus.StandardLogger().ExitFunc = func(int) { fatal = true }
- runLint(context.Background(), []string{wftmplPath}, true, nil, "pretty", true)
+ err = runLint(context.Background(), []string{wftmplPath}, true, nil, "pretty", true)
+ require.NoError(t, err)
assert.False(t, fatal, "should not have exited")
})
@@ -130,8 +134,9 @@ spec:
var fatal bool
logrus.StandardLogger().ExitFunc = func(int) { fatal = true }
- runLint(context.Background(), []string{clusterWftmplPath}, true, nil, "pretty", true)
+ err = runLint(context.Background(), []string{clusterWftmplPath}, true, nil, "pretty", true)
+ require.NoError(t, err)
assert.False(t, fatal, "should not have exited")
})
@@ -140,8 +145,9 @@ spec:
var fatal bool
logrus.StandardLogger().ExitFunc = func(int) { fatal = true }
- runLint(context.Background(), []string{workflowPath, wftmplPath, clusterWftmplPath}, true, nil, "pretty", true)
+ err = runLint(context.Background(), []string{workflowPath, wftmplPath, clusterWftmplPath}, true, nil, "pretty", true)
+ require.NoError(t, err)
assert.False(t, fatal, "should not have exited")
})
@@ -150,8 +156,9 @@ spec:
var fatal bool
logrus.StandardLogger().ExitFunc = func(int) { fatal = true }
- runLint(context.Background(), []string{dir}, true, nil, "pretty", true)
+ err = runLint(context.Background(), []string{dir}, true, nil, "pretty", true)
+ require.NoError(t, err)
assert.False(t, fatal, "should not have exited")
})
@@ -164,12 +171,11 @@ spec:
defer func() { os.Stdin = oldStdin }() // Restore original Stdin
os.Stdin, err = os.Open(clusterWftmplPath)
require.NoError(t, err)
- defer func() {
- _ = os.Stdin.Close() // close previously opened path to avoid errors trying to remove the file.
- }()
+ defer func() { _ = os.Stdin.Close() }() // close previously opened path to avoid errors trying to remove the file.
- runLint(context.Background(), []string{workflowPath, wftmplPath, "-"}, true, nil, "pretty", true)
+ err = runLint(context.Background(), []string{workflowPath, wftmplPath, "-"}, true, nil, "pretty", true)
+ require.NoError(t, err)
assert.False(t, fatal, "should not have exited")
})
@@ -199,8 +205,9 @@ spec:
var fatal bool
logrus.StandardLogger().ExitFunc = func(int) { fatal = true }
- runLint(context.Background(), []string{workflowCaseSensitivePath}, true, nil, "pretty", true)
+ err = runLint(context.Background(), []string{workflowCaseSensitivePath}, true, nil, "pretty", true)
+ require.NoError(t, err)
assert.True(t, fatal, "should have exited")
})
@@ -209,8 +216,70 @@ spec:
var fatal bool
logrus.StandardLogger().ExitFunc = func(int) { fatal = true }
- runLint(context.Background(), []string{workflowCaseSensitivePath}, true, nil, "pretty", false)
+ err = runLint(context.Background(), []string{workflowCaseSensitivePath}, true, nil, "pretty", false)
+
+ require.NoError(t, err)
+ assert.False(t, fatal, "should not have exited")
+ })
+
+ workflowMultiDocsPath := filepath.Join(subdir, "workflowMultiDocs.yaml")
+ err = os.WriteFile(workflowMultiDocsPath, []byte(`
+apiVersion: argoproj.io/v1alpha1
+kind: WorkflowTemplate
+metadata:
+ name: hello-world-template-local-arg-1
+spec:
+ templates:
+ - name: hello-world
+ inputs:
+ parameters:
+ - name: msg
+ value: 'hello world'
+ container:
+ image: busybox
+ command: [echo]
+ args: ['{{inputs.parameters.msg}}']
+---
+apiVersion: argoproj.io/v1alpha1
+kind: WorkflowTemplate
+metadata:
+ name: hello-world-template-local-arg-2
+spec:
+ templates:
+ - name: hello-world
+ inputs:
+ parameters:
+ - name: msg
+ value: 'hello world'
+ container:
+ image: busybox
+ command: [echo]
+ args: ['{{inputs.parameters.msg}}']
+---
+apiVersion: argoproj.io/v1alpha1
+kind: Workflow
+metadata:
+ generateName: hello-world-local-arg-
+spec:
+ entrypoint: whalesay
+ templates:
+ - name: whalesay
+ steps:
+ - - name: hello-world
+ templateRef:
+ name: hello-world-template-local-arg-2
+ template: hello-world
+`), 0644)
+ require.NoError(t, err)
+
+ t.Run("linting a workflow in multi-documents yaml", func(t *testing.T) {
+ defer func() { logrus.StandardLogger().ExitFunc = nil }()
+ var fatal bool
+ logrus.StandardLogger().ExitFunc = func(int) { fatal = true }
+ err = runLint(context.Background(), []string{workflowMultiDocsPath}, true, nil, "pretty", false)
+ require.NoError(t, err)
assert.False(t, fatal, "should not have exited")
})
+
}
diff --git a/cmd/argo/commands/list.go b/cmd/argo/commands/list.go
index 189797238d42..db0a311c6a2d 100644
--- a/cmd/argo/commands/list.go
+++ b/cmd/argo/commands/list.go
@@ -2,11 +2,11 @@ package commands
import (
"context"
+ "errors"
"os"
"sort"
"strings"
- "github.com/argoproj/pkg/errors"
argotime "github.com/argoproj/pkg/time"
log "github.com/sirupsen/logrus"
"github.com/spf13/cobra"
@@ -15,6 +15,7 @@ import (
"k8s.io/apimachinery/pkg/selection"
"github.com/argoproj/argo-workflows/v3/cmd/argo/commands/client"
+ cmdcommon "github.com/argoproj/argo-workflows/v3/cmd/argo/commands/common"
workflowpkg "github.com/argoproj/argo-workflows/v3/pkg/apiclient/workflow"
wfv1 "github.com/argoproj/argo-workflows/v3/pkg/apis/workflow/v1alpha1"
"github.com/argoproj/argo-workflows/v3/util/printer"
@@ -28,7 +29,7 @@ type listFlags struct {
running bool
resubmitted bool
prefix string
- output string
+ output cmdcommon.EnumFlagValue
createdSince string
finishedBefore string
chunkSize int64
@@ -44,7 +45,7 @@ var (
)
func (f listFlags) displayFields() string {
- switch f.output {
+ switch f.output.String() {
case "name":
return nameFields
case "json", "yaml":
@@ -58,7 +59,7 @@ func (f listFlags) displayFields() string {
func NewListCommand() *cobra.Command {
var (
- listArgs listFlags
+ listArgs = listFlags{output: cmdcommon.NewPrintWorkflowOutputValue("")}
allNamespaces bool
)
command := &cobra.Command{
@@ -92,20 +93,24 @@ func NewListCommand() *cobra.Command {
argo list -l label1=value1,label2=value2
`,
- Run: func(cmd *cobra.Command, args []string) {
- ctx, apiClient := client.NewAPIClient(cmd.Context())
+ RunE: func(cmd *cobra.Command, args []string) error {
+ ctx, apiClient, err := client.NewAPIClient(cmd.Context())
+ if err != nil {
+ return err
+ }
serviceClient := apiClient.NewWorkflowServiceClient()
if !allNamespaces {
listArgs.namespace = client.Namespace()
}
workflows, err := listWorkflows(ctx, serviceClient, listArgs)
- errors.CheckError(err)
- err = printer.PrintWorkflows(workflows, os.Stdout, printer.PrintOpts{
+ if err != nil {
+ return err
+ }
+ return printer.PrintWorkflows(workflows, os.Stdout, printer.PrintOpts{
NoHeaders: listArgs.noHeaders,
Namespace: allNamespaces,
- Output: listArgs.output,
+ Output: listArgs.output.String(),
})
- errors.CheckError(err)
},
}
command.Flags().BoolVarP(&allNamespaces, "all-namespaces", "A", false, "Show workflows from all namespaces")
@@ -115,7 +120,7 @@ func NewListCommand() *cobra.Command {
command.Flags().BoolVar(&listArgs.completed, "completed", false, "Show completed workflows. Mutually exclusive with --running.")
command.Flags().BoolVar(&listArgs.running, "running", false, "Show running workflows. Mutually exclusive with --completed.")
command.Flags().BoolVar(&listArgs.resubmitted, "resubmitted", false, "Show resubmitted workflows")
- command.Flags().StringVarP(&listArgs.output, "output", "o", "", "Output format. One of: name|wide|yaml|json")
+ command.Flags().VarP(&listArgs.output, "output", "o", "Output format. "+listArgs.output.Usage())
command.Flags().StringVar(&listArgs.createdSince, "since", "", "Show only workflows created after than a relative duration")
command.Flags().Int64VarP(&listArgs.chunkSize, "chunk-size", "", 0, "Return large lists in chunks rather than all at once. Pass 0 to disable.")
command.Flags().BoolVar(&listArgs.noHeaders, "no-headers", false, "Don't print headers (default print headers).")
@@ -129,7 +134,9 @@ func listWorkflows(ctx context.Context, serviceClient workflowpkg.WorkflowServic
Limit: flags.chunkSize,
}
labelSelector, err := labels.Parse(flags.labels)
- errors.CheckError(err)
+ if err != nil {
+ return nil, err
+ }
if len(flags.status) != 0 {
req, _ := labels.NewRequirement(common.LabelKeyPhase, selection.In, flags.status)
if req != nil {
@@ -137,7 +144,7 @@ func listWorkflows(ctx context.Context, serviceClient workflowpkg.WorkflowServic
}
}
if flags.completed && flags.running {
- log.Fatal("--completed and --running cannot be used together")
+ return nil, errors.New("--completed and --running cannot be used together")
}
if flags.completed {
req, _ := labels.NewRequirement(common.LabelKeyCompleted, selection.Equals, []string{"true"})
@@ -176,19 +183,27 @@ func listWorkflows(ctx context.Context, serviceClient workflowpkg.WorkflowServic
})
if flags.createdSince != "" && flags.finishedBefore != "" {
startTime, err := argotime.ParseSince(flags.createdSince)
- errors.CheckError(err)
+ if err != nil {
+ return nil, err
+ }
endTime, err := argotime.ParseSince(flags.finishedBefore)
- errors.CheckError(err)
+ if err != nil {
+ return nil, err
+ }
workflows = workflows.Filter(wfv1.WorkflowRanBetween(*startTime, *endTime))
} else {
if flags.createdSince != "" {
t, err := argotime.ParseSince(flags.createdSince)
- errors.CheckError(err)
+ if err != nil {
+ return nil, err
+ }
workflows = workflows.Filter(wfv1.WorkflowCreatedAfter(*t))
}
if flags.finishedBefore != "" {
t, err := argotime.ParseSince(flags.finishedBefore)
- errors.CheckError(err)
+ if err != nil {
+ return nil, err
+ }
workflows = workflows.Filter(wfv1.WorkflowFinishedBefore(*t))
}
}
diff --git a/cmd/argo/commands/logs.go b/cmd/argo/commands/logs.go
index ab16911c208e..3d5227d96c08 100644
--- a/cmd/argo/commands/logs.go
+++ b/cmd/argo/commands/logs.go
@@ -1,15 +1,13 @@
package commands
import (
- "log"
- "os"
+ "errors"
"time"
- "github.com/argoproj/pkg/errors"
"github.com/spf13/cobra"
corev1 "k8s.io/api/core/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
- "k8s.io/utils/pointer"
+ "k8s.io/utils/ptr"
"github.com/argoproj/argo-workflows/v3/cmd/argo/commands/client"
"github.com/argoproj/argo-workflows/v3/cmd/argo/commands/common"
@@ -54,47 +52,46 @@ func NewLogsCommand() *cobra.Command {
# Print the logs of the latest workflow:
argo logs @latest
`,
- Run: func(cmd *cobra.Command, args []string) {
+ Args: cobra.RangeArgs(1, 2),
+ RunE: func(cmd *cobra.Command, args []string) error {
// parse all the args
- workflow := ""
+ workflow := args[0]
podName := ""
- switch len(args) {
- case 1:
- workflow = args[0]
- case 2:
- workflow = args[0]
+ if len(args) == 2 {
podName = args[1]
- default:
- cmd.HelpFunc()(cmd, args)
- os.Exit(1)
}
if since > 0 && sinceTime != "" {
- log.Fatal("--since-time and --since cannot be used together")
+ return errors.New("--since-time and --since cannot be used together")
}
if since > 0 {
- logOptions.SinceSeconds = pointer.Int64(int64(since.Seconds()))
+ logOptions.SinceSeconds = ptr.To(int64(since.Seconds()))
}
if sinceTime != "" {
parsedTime, err := time.Parse(time.RFC3339, sinceTime)
- errors.CheckError(err)
+ if err != nil {
+ return err
+ }
sinceTime := metav1.NewTime(parsedTime)
logOptions.SinceTime = &sinceTime
}
if tailLines >= 0 {
- logOptions.TailLines = pointer.Int64(tailLines)
+ logOptions.TailLines = ptr.To(tailLines)
}
// set-up
- ctx, apiClient := client.NewAPIClient(cmd.Context())
+ ctx, apiClient, err := client.NewAPIClient(cmd.Context())
+ if err != nil {
+ return err
+ }
serviceClient := apiClient.NewWorkflowServiceClient()
namespace := client.Namespace()
- common.LogWorkflow(ctx, serviceClient, namespace, workflow, podName, grep, selector, logOptions)
+ return common.LogWorkflow(ctx, serviceClient, namespace, workflow, podName, grep, selector, logOptions)
},
}
command.Flags().StringVarP(&logOptions.Container, "container", "c", "main", "Print the logs of this container")
diff --git a/cmd/argo/commands/node.go b/cmd/argo/commands/node.go
index fb4403d37053..82abbd73485b 100644
--- a/cmd/argo/commands/node.go
+++ b/cmd/argo/commands/node.go
@@ -3,12 +3,9 @@ package commands
import (
"encoding/json"
"fmt"
- "log"
- "os"
"strconv"
"strings"
- "github.com/argoproj/pkg/errors"
"github.com/spf13/cobra"
"k8s.io/apimachinery/pkg/fields"
@@ -37,14 +34,10 @@ func NewNodeCommand() *cobra.Command {
argo node set my-wf --message "We did it!"" --node-field-selector displayName=approve
`,
- Run: func(cmd *cobra.Command, args []string) {
- if len(args) < 2 {
- cmd.HelpFunc()(cmd, args)
- os.Exit(1)
- }
-
+ Args: cobra.MinimumNArgs(2),
+ RunE: func(cmd *cobra.Command, args []string) error {
if args[0] != "set" {
- log.Fatalf("unknown action '%s'", args[0])
+ return fmt.Errorf("unknown action '%s'", args[0])
}
outputParameters := ""
@@ -53,7 +46,7 @@ func NewNodeCommand() *cobra.Command {
for _, param := range setArgs.outputParameters {
parts := strings.SplitN(param, "=", 2)
if len(parts) != 2 {
- log.Fatalf("expected parameter of the form: NAME=VALUE. Received: %s", param)
+ return fmt.Errorf("expected parameter of the form: NAME=VALUE. Received: %s", param)
}
unquoted, err := strconv.Unquote(parts[1])
if err != nil {
@@ -63,18 +56,21 @@ func NewNodeCommand() *cobra.Command {
}
res, err := json.Marshal(outputParams)
if err != nil {
- log.Fatalf("unable to parse output parameter set request: %s", err)
+ return fmt.Errorf("unable to parse output parameter set request: %s", err)
}
outputParameters = string(res)
}
- ctx, apiClient := client.NewAPIClient(cmd.Context())
+ ctx, apiClient, err := client.NewAPIClient(cmd.Context())
+ if err != nil {
+ return err
+ }
serviceClient := apiClient.NewWorkflowServiceClient()
namespace := client.Namespace()
selector, err := fields.ParseSelector(setArgs.nodeFieldSelector)
if err != nil {
- log.Fatalf("Unable to parse node field selector '%s': %s", setArgs.nodeFieldSelector, err)
+ return fmt.Errorf("Unable to parse node field selector '%s': %s", setArgs.nodeFieldSelector, err)
}
_, err = serviceClient.SetWorkflow(ctx, &workflowpkg.WorkflowSetRequest{
@@ -85,8 +81,11 @@ func NewNodeCommand() *cobra.Command {
Phase: setArgs.phase,
OutputParameters: outputParameters,
})
- errors.CheckError(err)
+ if err != nil {
+ return err
+ }
fmt.Printf("workflow values set\n")
+ return nil
},
}
command.Flags().StringVar(&setArgs.nodeFieldSelector, "node-field-selector", "", "Selector of node to set, eg: --node-field-selector inputs.paramaters.myparam.value=abc")
diff --git a/cmd/argo/commands/resubmit.go b/cmd/argo/commands/resubmit.go
index 7eb4b7e9697b..7e59c36f51c3 100644
--- a/cmd/argo/commands/resubmit.go
+++ b/cmd/argo/commands/resubmit.go
@@ -3,7 +3,6 @@ package commands
import (
"context"
- "github.com/argoproj/pkg/errors"
"github.com/spf13/cobra"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
@@ -32,7 +31,7 @@ func (o *resubmitOps) hasSelector() bool {
func NewResubmitCommand() *cobra.Command {
var (
resubmitOpts resubmitOps
- cliSubmitOpts common.CliSubmitOpts
+ cliSubmitOpts = common.NewCliSubmitOpts()
)
command := &cobra.Command{
Use: "resubmit [WORKFLOW...]",
@@ -70,22 +69,24 @@ func NewResubmitCommand() *cobra.Command {
argo resubmit @latest
`,
- Run: func(cmd *cobra.Command, args []string) {
+ RunE: func(cmd *cobra.Command, args []string) error {
if cmd.Flag("priority").Changed {
cliSubmitOpts.Priority = &resubmitOpts.priority
}
- ctx, apiClient := client.NewAPIClient(cmd.Context())
+ ctx, apiClient, err := client.NewAPIClient(cmd.Context())
+ if err != nil {
+ return err
+ }
serviceClient := apiClient.NewWorkflowServiceClient()
resubmitOpts.namespace = client.Namespace()
- err := resubmitWorkflows(ctx, serviceClient, resubmitOpts, cliSubmitOpts, args)
- errors.CheckError(err)
+ return resubmitWorkflows(ctx, serviceClient, resubmitOpts, cliSubmitOpts, args)
},
}
command.Flags().StringArrayVarP(&cliSubmitOpts.Parameters, "parameter", "p", []string{}, "input parameter to override on the original workflow spec")
command.Flags().Int32Var(&resubmitOpts.priority, "priority", 0, "workflow priority")
- command.Flags().StringVarP(&cliSubmitOpts.Output, "output", "o", "", "Output format. One of: name|json|yaml|wide")
+ command.Flags().VarP(&cliSubmitOpts.Output, "output", "o", "Output format. "+cliSubmitOpts.Output.Usage())
command.Flags().BoolVarP(&cliSubmitOpts.Wait, "wait", "w", false, "wait for the workflow to complete, only works when a single workflow is resubmitted")
command.Flags().BoolVar(&cliSubmitOpts.Watch, "watch", false, "watch the workflow until it completes, only works when a single workflow is resubmitted")
command.Flags().BoolVar(&cliSubmitOpts.Log, "log", false, "log the workflow until it completes")
@@ -140,11 +141,13 @@ func resubmitWorkflows(ctx context.Context, serviceClient workflowpkg.WorkflowSe
if err != nil {
return err
}
- printWorkflow(lastResubmitted, common.GetFlags{Output: cliSubmitOpts.Output})
+ if err = printWorkflow(lastResubmitted, common.GetFlags{Output: cliSubmitOpts.Output}); err != nil {
+ return err
+ }
}
if len(resubmittedNames) == 1 {
// watch or wait when there is only one workflow retried
- common.WaitWatchOrLog(ctx, serviceClient, lastResubmitted.Namespace, []string{lastResubmitted.Name}, cliSubmitOpts)
+ return common.WaitWatchOrLog(ctx, serviceClient, lastResubmitted.Namespace, []string{lastResubmitted.Name}, cliSubmitOpts)
}
return nil
}
diff --git a/cmd/argo/commands/resume.go b/cmd/argo/commands/resume.go
index 5837d36ff2c9..de6d1c88d348 100644
--- a/cmd/argo/commands/resume.go
+++ b/cmd/argo/commands/resume.go
@@ -1,9 +1,8 @@
package commands
import (
+ "errors"
"fmt"
- "log"
- "os"
"github.com/spf13/cobra"
"k8s.io/apimachinery/pkg/fields"
@@ -38,19 +37,23 @@ func NewResumeCommand() *cobra.Command {
argo resume --node-field-selector inputs.paramaters.myparam.value=abc
`,
- Run: func(cmd *cobra.Command, args []string) {
+ Args: func(cmd *cobra.Command, args []string) error {
if len(args) == 0 && resumeArgs.nodeFieldSelector == "" {
- cmd.HelpFunc()(cmd, args)
- os.Exit(1)
+ return errors.New("requires either node field selector or workflow")
+ }
+ return nil
+ },
+ RunE: func(cmd *cobra.Command, args []string) error {
+ ctx, apiClient, err := client.NewAPIClient(cmd.Context())
+ if err != nil {
+ return err
}
-
- ctx, apiClient := client.NewAPIClient(cmd.Context())
serviceClient := apiClient.NewWorkflowServiceClient()
namespace := client.Namespace()
selector, err := fields.ParseSelector(resumeArgs.nodeFieldSelector)
if err != nil {
- log.Fatalf("Unable to parse node field selector '%s': %s", resumeArgs.nodeFieldSelector, err)
+ return fmt.Errorf("Unable to parse node field selector '%s': %s", resumeArgs.nodeFieldSelector, err)
}
for _, wfName := range args {
@@ -60,10 +63,11 @@ func NewResumeCommand() *cobra.Command {
NodeFieldSelector: selector.String(),
})
if err != nil {
- log.Fatalf("Failed to resume %s: %+v", wfName, err)
+ return fmt.Errorf("Failed to resume %s: %+v", wfName, err)
}
fmt.Printf("workflow %s resumed\n", wfName)
}
+ return nil
},
}
command.Flags().StringVar(&resumeArgs.nodeFieldSelector, "node-field-selector", "", "selector of node to resume, eg: --node-field-selector inputs.paramaters.myparam.value=abc")
diff --git a/cmd/argo/commands/retry.go b/cmd/argo/commands/retry.go
index 06611b6f9999..76ef55393a74 100644
--- a/cmd/argo/commands/retry.go
+++ b/cmd/argo/commands/retry.go
@@ -2,10 +2,9 @@ package commands
import (
"context"
+ "errors"
"fmt"
- "os"
- "github.com/argoproj/pkg/errors"
"github.com/spf13/cobra"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/fields"
@@ -34,7 +33,7 @@ func (o *retryOps) hasSelector() bool {
func NewRetryCommand() *cobra.Command {
var (
- cliSubmitOpts common.CliSubmitOpts
+ cliSubmitOpts = common.NewCliSubmitOpts()
retryOpts retryOps
)
command := &cobra.Command{
@@ -76,21 +75,25 @@ func NewRetryCommand() *cobra.Command {
# Restart node with id 5 on successful workflow, using node-field-selector
argo retry my-wf --restart-successful --node-field-selector id=5
`,
- Run: func(cmd *cobra.Command, args []string) {
+ Args: func(cmd *cobra.Command, args []string) error {
if len(args) == 0 && !retryOpts.hasSelector() {
- cmd.HelpFunc()(cmd, args)
- os.Exit(1)
+ return errors.New("requires either node field selector or workflow")
+ }
+ return nil
+ },
+ RunE: func(cmd *cobra.Command, args []string) error {
+ ctx, apiClient, err := client.NewAPIClient(cmd.Context())
+ if err != nil {
+ return err
}
- ctx, apiClient := client.NewAPIClient(cmd.Context())
serviceClient := apiClient.NewWorkflowServiceClient()
retryOpts.namespace = client.Namespace()
- err := retryWorkflows(ctx, serviceClient, retryOpts, cliSubmitOpts, args)
- errors.CheckError(err)
+ return retryWorkflows(ctx, serviceClient, retryOpts, cliSubmitOpts, args)
},
}
command.Flags().StringArrayVarP(&cliSubmitOpts.Parameters, "parameter", "p", []string{}, "input parameter to override on the original workflow spec")
- command.Flags().StringVarP(&cliSubmitOpts.Output, "output", "o", "", "Output format. One of: name|json|yaml|wide")
+ command.Flags().VarP(&cliSubmitOpts.Output, "output", "o", "Output format. "+cliSubmitOpts.Output.Usage())
command.Flags().BoolVarP(&cliSubmitOpts.Wait, "wait", "w", false, "wait for the workflow to complete, only works when a single workflow is retried")
command.Flags().BoolVar(&cliSubmitOpts.Watch, "watch", false, "watch the workflow until it completes, only works when a single workflow is retried")
command.Flags().BoolVar(&cliSubmitOpts.Log, "log", false, "log the workflow until it completes")
@@ -147,11 +150,13 @@ func retryWorkflows(ctx context.Context, serviceClient workflowpkg.WorkflowServi
if err != nil {
return err
}
- printWorkflow(lastRetried, common.GetFlags{Output: cliSubmitOpts.Output})
+ if err = printWorkflow(lastRetried, common.GetFlags{Output: cliSubmitOpts.Output}); err != nil {
+ return err
+ }
}
if len(retriedNames) == 1 {
// watch or wait when there is only one workflow retried
- common.WaitWatchOrLog(ctx, serviceClient, lastRetried.Namespace, []string{lastRetried.Name}, cliSubmitOpts)
+ return common.WaitWatchOrLog(ctx, serviceClient, lastRetried.Namespace, []string{lastRetried.Name}, cliSubmitOpts)
}
return nil
}
diff --git a/cmd/argo/commands/root.go b/cmd/argo/commands/root.go
index 0e652f576346..f9964b1fae4b 100644
--- a/cmd/argo/commands/root.go
+++ b/cmd/argo/commands/root.go
@@ -19,6 +19,7 @@ import (
"github.com/argoproj/argo-workflows/v3/cmd/argo/commands/executorplugin"
"github.com/argoproj/argo-workflows/v3/cmd/argo/commands/template"
cmdutil "github.com/argoproj/argo-workflows/v3/util/cmd"
+ grpcutil "github.com/argoproj/argo-workflows/v3/util/grpc"
)
const (
@@ -88,8 +89,8 @@ If your server is behind an ingress with a path (running "argo server --base-hre
ARGO_BASE_HREF=/argo
`,
- Run: func(cmd *cobra.Command, args []string) {
- cmd.HelpFunc()(cmd, args)
+ RunE: func(cmd *cobra.Command, args []string) error {
+ return cmd.Help()
},
}
@@ -125,6 +126,9 @@ If your server is behind an ingress with a path (running "argo server --base-hre
var logLevel string
var glogLevel int
var verbose bool
+ command.PersistentPostRun = func(cmd *cobra.Command, args []string) {
+ cmdutil.PrintVersionMismatchWarning(argo.GetVersion(), grpcutil.LastSeenServerVersion)
+ }
command.PersistentPreRun = func(cmd *cobra.Command, args []string) {
if verbose {
logLevel = "debug"
diff --git a/cmd/argo/commands/stop.go b/cmd/argo/commands/stop.go
index 98cff94dfd18..68fe9d8427c8 100644
--- a/cmd/argo/commands/stop.go
+++ b/cmd/argo/commands/stop.go
@@ -2,10 +2,9 @@ package commands
import (
"context"
+ "errors"
"fmt"
- "os"
- "github.com/argoproj/pkg/errors"
"github.com/spf13/cobra"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/fields"
@@ -55,17 +54,21 @@ func NewStopCommand() *cobra.Command {
argo stop --field-selector metadata.namespace=argo
`,
- Run: func(cmd *cobra.Command, args []string) {
+ Args: func(cmd *cobra.Command, args []string) error {
if len(args) == 0 && !stopArgs.hasSelector() {
- cmd.HelpFunc()(cmd, args)
- os.Exit(1)
+ return errors.New("requires either selector or workflow")
+ }
+ return nil
+ },
+ RunE: func(cmd *cobra.Command, args []string) error {
+ ctx, apiClient, err := client.NewAPIClient(cmd.Context())
+ if err != nil {
+ return err
}
- ctx, apiClient := client.NewAPIClient(cmd.Context())
serviceClient := apiClient.NewWorkflowServiceClient()
stopArgs.namespace = client.Namespace()
- err := stopWorkflows(ctx, serviceClient, stopArgs, args)
- errors.CheckError(err)
+ return stopWorkflows(ctx, serviceClient, stopArgs, args)
},
}
command.Flags().StringVar(&stopArgs.message, "message", "", "Message to add to previously running nodes")
diff --git a/cmd/argo/commands/submit.go b/cmd/argo/commands/submit.go
index ad097616ee29..73c2d31c4902 100644
--- a/cmd/argo/commands/submit.go
+++ b/cmd/argo/commands/submit.go
@@ -2,12 +2,11 @@ package commands
import (
"context"
+ "errors"
"fmt"
- "os"
"strings"
"time"
- "github.com/argoproj/pkg/errors"
argoJson "github.com/argoproj/pkg/json"
log "github.com/sirupsen/logrus"
"github.com/spf13/cobra"
@@ -25,7 +24,7 @@ func NewSubmitCommand() *cobra.Command {
var (
submitOpts wfv1.SubmitOpts
parametersFile string
- cliSubmitOpts common.CliSubmitOpts
+ cliSubmitOpts = common.NewCliSubmitOpts()
priority int32
from string
)
@@ -56,7 +55,13 @@ func NewSubmitCommand() *cobra.Command {
cat my-wf.yaml | argo submit -
`,
- Run: func(cmd *cobra.Command, args []string) {
+ Args: func(cmd *cobra.Command, args []string) error {
+ if from != "" && len(args) != 0 {
+ return errors.New("cannot combine --from with file arguments")
+ }
+ return nil
+ },
+ RunE: func(cmd *cobra.Command, args []string) error {
if cmd.Flag("priority").Changed {
cliSubmitOpts.Priority = &priority
}
@@ -66,26 +71,26 @@ func NewSubmitCommand() *cobra.Command {
}
if parametersFile != "" {
- err := util.ReadParametersFile(parametersFile, &submitOpts)
- errors.CheckError(err)
+ if err := util.ReadParametersFile(parametersFile, &submitOpts); err != nil {
+ return err
+ }
}
- ctx, apiClient := client.NewAPIClient(cmd.Context())
+ ctx, apiClient, err := client.NewAPIClient(cmd.Context())
+ if err != nil {
+ return err
+ }
serviceClient := apiClient.NewWorkflowServiceClient()
namespace := client.Namespace()
if from != "" {
- if len(args) != 0 {
- cmd.HelpFunc()(cmd, args)
- os.Exit(1)
- }
- submitWorkflowFromResource(ctx, serviceClient, namespace, from, &submitOpts, &cliSubmitOpts)
+ return submitWorkflowFromResource(ctx, serviceClient, namespace, from, &submitOpts, &cliSubmitOpts)
} else {
- submitWorkflowsFromFile(ctx, serviceClient, namespace, args, &submitOpts, &cliSubmitOpts)
+ return submitWorkflowsFromFile(ctx, serviceClient, namespace, args, &submitOpts, &cliSubmitOpts)
}
},
}
util.PopulateSubmitOpts(command, &submitOpts, ¶metersFile, true)
- command.Flags().StringVarP(&cliSubmitOpts.Output, "output", "o", "", "Output format. One of: name|json|yaml|wide")
+ command.Flags().VarP(&cliSubmitOpts.Output, "output", "o", "Output format. "+cliSubmitOpts.Output.Usage())
command.Flags().BoolVarP(&cliSubmitOpts.Wait, "wait", "w", false, "wait for the workflow to complete")
command.Flags().BoolVar(&cliSubmitOpts.Watch, "watch", false, "watch the workflow until it completes")
command.Flags().BoolVar(&cliSubmitOpts.Log, "log", false, "log the workflow until it completes")
@@ -104,9 +109,11 @@ func NewSubmitCommand() *cobra.Command {
return command
}
-func submitWorkflowsFromFile(ctx context.Context, serviceClient workflowpkg.WorkflowServiceClient, namespace string, filePaths []string, submitOpts *wfv1.SubmitOpts, cliOpts *common.CliSubmitOpts) {
+func submitWorkflowsFromFile(ctx context.Context, serviceClient workflowpkg.WorkflowServiceClient, namespace string, filePaths []string, submitOpts *wfv1.SubmitOpts, cliOpts *common.CliSubmitOpts) error {
fileContents, err := util.ReadManifest(filePaths...)
- errors.CheckError(err)
+ if err != nil {
+ return err
+ }
var workflows []wfv1.Workflow
for _, body := range fileContents {
@@ -114,65 +121,68 @@ func submitWorkflowsFromFile(ctx context.Context, serviceClient workflowpkg.Work
workflows = append(workflows, wfs...)
}
- submitWorkflows(ctx, serviceClient, namespace, workflows, submitOpts, cliOpts)
+ return submitWorkflows(ctx, serviceClient, namespace, workflows, submitOpts, cliOpts)
}
-func validateOptions(workflows []wfv1.Workflow, submitOpts *wfv1.SubmitOpts, cliOpts *common.CliSubmitOpts) {
+func validateOptions(workflows []wfv1.Workflow, submitOpts *wfv1.SubmitOpts, cliOpts *common.CliSubmitOpts) error {
if cliOpts.Watch {
if len(workflows) > 1 {
- log.Fatalf("Cannot watch more than one workflow")
+ return errors.New("Cannot watch more than one workflow")
}
if cliOpts.Wait {
- log.Fatalf("--wait cannot be combined with --watch")
+ return errors.New("--wait cannot be combined with --watch")
}
if submitOpts.DryRun {
- log.Fatalf("--watch cannot be combined with --dry-run")
+ return errors.New("--watch cannot be combined with --dry-run")
}
if submitOpts.ServerDryRun {
- log.Fatalf("--watch cannot be combined with --server-dry-run")
+ return errors.New("--watch cannot be combined with --server-dry-run")
}
}
if cliOpts.Wait {
if submitOpts.DryRun {
- log.Fatalf("--wait cannot be combined with --dry-run")
+ return errors.New("--wait cannot be combined with --dry-run")
}
if submitOpts.ServerDryRun {
- log.Fatalf("--wait cannot be combined with --server-dry-run")
+ return errors.New("--wait cannot be combined with --server-dry-run")
}
}
if submitOpts.DryRun {
- if cliOpts.Output == "" {
- log.Fatalf("--dry-run should have an output option")
+ if cliOpts.Output.String() == "" {
+ return errors.New("--dry-run should have an output option")
}
if submitOpts.ServerDryRun {
- log.Fatalf("--dry-run cannot be combined with --server-dry-run")
+ return errors.New("--dry-run cannot be combined with --server-dry-run")
}
}
if submitOpts.ServerDryRun {
- if cliOpts.Output == "" {
- log.Fatalf("--server-dry-run should have an output option")
+ if cliOpts.Output.String() == "" {
+ return errors.New("--server-dry-run should have an output option")
}
}
+ return nil
}
-func submitWorkflowFromResource(ctx context.Context, serviceClient workflowpkg.WorkflowServiceClient, namespace string, resourceIdentifier string, submitOpts *wfv1.SubmitOpts, cliOpts *common.CliSubmitOpts) {
+func submitWorkflowFromResource(ctx context.Context, serviceClient workflowpkg.WorkflowServiceClient, namespace string, resourceIdentifier string, submitOpts *wfv1.SubmitOpts, cliOpts *common.CliSubmitOpts) error {
parts := strings.SplitN(resourceIdentifier, "/", 2)
if len(parts) != 2 {
- log.Fatalf("resource identifier '%s' is malformed. Should be `kind/name`, e.g. cronwf/hello-world-cwf", resourceIdentifier)
+ return fmt.Errorf("resource identifier '%s' is malformed. Should be `kind/name`, e.g. cronwf/hello-world-cwf", resourceIdentifier)
}
kind := parts[0]
name := parts[1]
tempwf := wfv1.Workflow{}
- validateOptions([]wfv1.Workflow{tempwf}, submitOpts, cliOpts)
+ if err := validateOptions([]wfv1.Workflow{tempwf}, submitOpts, cliOpts); err != nil {
+ return err
+ }
if cliOpts.ScheduledTime != "" {
_, err := time.Parse(time.RFC3339, cliOpts.ScheduledTime)
if err != nil {
- log.Fatalf("scheduled-time contains invalid time.RFC3339 format. (e.g.: `2006-01-02T15:04:05-07:00`)")
+ return fmt.Errorf("scheduled-time contains invalid time.RFC3339 format. (e.g.: `2006-01-02T15:04:05-07:00`)")
}
submitOpts.Annotations = fmt.Sprintf("%s=%s", wfcommon.AnnotationKeyCronWfScheduledTime, cliOpts.ScheduledTime)
}
@@ -184,20 +194,23 @@ func submitWorkflowFromResource(ctx context.Context, serviceClient workflowpkg.W
SubmitOptions: submitOpts,
})
if err != nil {
- log.Fatalf("Failed to submit workflow: %v", err)
+ return fmt.Errorf("Failed to submit workflow: %v", err)
}
- printWorkflow(created, common.GetFlags{Output: cliOpts.Output})
+ if err = printWorkflow(created, common.GetFlags{Output: cliOpts.Output}); err != nil {
+ return err
+ }
- common.WaitWatchOrLog(ctx, serviceClient, namespace, []string{created.Name}, *cliOpts)
+ return common.WaitWatchOrLog(ctx, serviceClient, namespace, []string{created.Name}, *cliOpts)
}
-func submitWorkflows(ctx context.Context, serviceClient workflowpkg.WorkflowServiceClient, namespace string, workflows []wfv1.Workflow, submitOpts *wfv1.SubmitOpts, cliOpts *common.CliSubmitOpts) {
- validateOptions(workflows, submitOpts, cliOpts)
+func submitWorkflows(ctx context.Context, serviceClient workflowpkg.WorkflowServiceClient, namespace string, workflows []wfv1.Workflow, submitOpts *wfv1.SubmitOpts, cliOpts *common.CliSubmitOpts) error {
+ if err := validateOptions(workflows, submitOpts, cliOpts); err != nil {
+ return err
+ }
if len(workflows) == 0 {
- log.Println("No Workflow found in given files")
- os.Exit(1)
+ return errors.New("No Workflow found in given files")
}
var workflowNames []string
@@ -208,7 +221,9 @@ func submitWorkflows(ctx context.Context, serviceClient workflowpkg.WorkflowServ
wf.Namespace = namespace
}
err := util.ApplySubmitOpts(&wf, submitOpts)
- errors.CheckError(err)
+ if err != nil {
+ return err
+ }
if cliOpts.Priority != nil {
wf.Spec.Priority = cliOpts.Priority
}
@@ -223,14 +238,16 @@ func submitWorkflows(ctx context.Context, serviceClient workflowpkg.WorkflowServ
CreateOptions: options,
})
if err != nil {
- log.Fatalf("Failed to submit workflow: %v", err)
+ return fmt.Errorf("Failed to submit workflow: %v", err)
}
- printWorkflow(created, common.GetFlags{Output: cliOpts.Output, Status: cliOpts.GetArgs.Status})
+ if err = printWorkflow(created, common.GetFlags{Output: cliOpts.Output, Status: cliOpts.GetArgs.Status}); err != nil {
+ return err
+ }
workflowNames = append(workflowNames, created.Name)
}
- common.WaitWatchOrLog(ctx, serviceClient, namespace, workflowNames, *cliOpts)
+ return common.WaitWatchOrLog(ctx, serviceClient, namespace, workflowNames, *cliOpts)
}
// unmarshalWorkflows unmarshals the input bytes as either json or yaml
diff --git a/cmd/argo/commands/submit_test.go b/cmd/argo/commands/submit_test.go
index f3c8767d8f1b..47e25099f8da 100644
--- a/cmd/argo/commands/submit_test.go
+++ b/cmd/argo/commands/submit_test.go
@@ -6,6 +6,7 @@ import (
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/mock"
+ "github.com/stretchr/testify/require"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"github.com/argoproj/argo-workflows/v3/cmd/argo/commands/common"
@@ -15,14 +16,25 @@ import (
)
func Test_submitWorkflows(t *testing.T) {
+ t.Run("Submit workflow with invalid options", func(t *testing.T) {
+ c := &workflowmocks.WorkflowServiceClient{}
+ err := submitWorkflows(context.TODO(), c, "argo", []wfv1.Workflow{}, &wfv1.SubmitOpts{}, &common.CliSubmitOpts{Watch: true, Wait: true})
+ require.Error(t, err, "--wait cannot be combined with --watch")
+ })
+ t.Run("Submit without providing workflow", func(t *testing.T) {
+ c := &workflowmocks.WorkflowServiceClient{}
+ err := submitWorkflows(context.TODO(), c, "argo", []wfv1.Workflow{}, &wfv1.SubmitOpts{}, &common.CliSubmitOpts{})
+ require.Error(t, err, "No Workflow found in given files")
+ })
t.Run("Submit workflow with priority set in spec", func(t *testing.T) {
c := &workflowmocks.WorkflowServiceClient{}
priority := int32(70)
workflow := wfv1.Workflow{ObjectMeta: metav1.ObjectMeta{Name: "foo", Namespace: "argo"}, Spec: wfv1.WorkflowSpec{Priority: &priority}}
c.On("CreateWorkflow", mock.Anything, mock.Anything).Return(&wfv1.Workflow{}, nil)
- submitWorkflows(context.TODO(), c, "argo", []wfv1.Workflow{workflow}, &wfv1.SubmitOpts{}, &common.CliSubmitOpts{})
+ err := submitWorkflows(context.TODO(), c, "argo", []wfv1.Workflow{workflow}, &wfv1.SubmitOpts{}, &common.CliSubmitOpts{})
+ require.NoError(t, err)
arg := c.Mock.Calls[0].Arguments[1]
wfC, ok := arg.(*workflowpkg.WorkflowCreateRequest)
if !ok {
@@ -41,8 +53,9 @@ func Test_submitWorkflows(t *testing.T) {
cliSubmitOpts := common.CliSubmitOpts{Priority: &priorityCLI}
c.On("CreateWorkflow", mock.Anything, mock.Anything).Return(&wfv1.Workflow{}, nil)
- submitWorkflows(context.TODO(), c, "argo", []wfv1.Workflow{workflow}, &wfv1.SubmitOpts{}, &cliSubmitOpts)
+ err := submitWorkflows(context.TODO(), c, "argo", []wfv1.Workflow{workflow}, &wfv1.SubmitOpts{}, &cliSubmitOpts)
+ require.NoError(t, err)
arg := c.Mock.Calls[0].Arguments[1]
wfC, ok := arg.(*workflowpkg.WorkflowCreateRequest)
if !ok {
diff --git a/cmd/argo/commands/suspend.go b/cmd/argo/commands/suspend.go
index 814b3796a0aa..26446867d592 100644
--- a/cmd/argo/commands/suspend.go
+++ b/cmd/argo/commands/suspend.go
@@ -2,7 +2,6 @@ package commands
import (
"fmt"
- "log"
"github.com/spf13/cobra"
@@ -21,8 +20,11 @@ func NewSuspendCommand() *cobra.Command {
# Suspend the latest workflow:
argo suspend @latest
`,
- Run: func(cmd *cobra.Command, args []string) {
- ctx, apiClient := client.NewAPIClient(cmd.Context())
+ RunE: func(cmd *cobra.Command, args []string) error {
+ ctx, apiClient, err := client.NewAPIClient(cmd.Context())
+ if err != nil {
+ return err
+ }
serviceClient := apiClient.NewWorkflowServiceClient()
namespace := client.Namespace()
for _, wfName := range args {
@@ -31,10 +33,11 @@ func NewSuspendCommand() *cobra.Command {
Namespace: namespace,
})
if err != nil {
- log.Fatalf("Failed to suspended %s: %+v", wfName, err)
+ return fmt.Errorf("Failed to suspended %s: %+v", wfName, err)
}
fmt.Printf("workflow %s suspended\n", wfName)
}
+ return nil
},
}
return command
diff --git a/cmd/argo/commands/template/create.go b/cmd/argo/commands/template/create.go
index 388ab98e9cd0..cd36e87fb344 100644
--- a/cmd/argo/commands/template/create.go
+++ b/cmd/argo/commands/template/create.go
@@ -2,47 +2,46 @@ package template
import (
"context"
- "log"
- "os"
+ "fmt"
"github.com/spf13/cobra"
"github.com/argoproj/argo-workflows/v3/cmd/argo/commands/client"
+ "github.com/argoproj/argo-workflows/v3/cmd/argo/commands/common"
workflowtemplatepkg "github.com/argoproj/argo-workflows/v3/pkg/apiclient/workflowtemplate"
)
type cliCreateOpts struct {
- output string // --output
- strict bool // --strict
+ output common.EnumFlagValue // --output
+ strict bool // --strict
}
func NewCreateCommand() *cobra.Command {
- var cliCreateOpts cliCreateOpts
+ var cliCreateOpts = cliCreateOpts{output: common.NewPrintWorkflowOutputValue("")}
command := &cobra.Command{
Use: "create FILE1 FILE2...",
Short: "create a workflow template",
- Run: func(cmd *cobra.Command, args []string) {
- if len(args) == 0 {
- cmd.HelpFunc()(cmd, args)
- os.Exit(1)
- }
-
- CreateWorkflowTemplates(cmd.Context(), args, &cliCreateOpts)
+ Args: cobra.MinimumNArgs(1),
+ RunE: func(cmd *cobra.Command, args []string) error {
+ return CreateWorkflowTemplates(cmd.Context(), args, &cliCreateOpts)
},
}
- command.Flags().StringVarP(&cliCreateOpts.output, "output", "o", "", "Output format. One of: name|json|yaml|wide")
+ command.Flags().VarP(&cliCreateOpts.output, "output", "o", "Output format. "+cliCreateOpts.output.Usage())
command.Flags().BoolVar(&cliCreateOpts.strict, "strict", true, "perform strict workflow validation")
return command
}
-func CreateWorkflowTemplates(ctx context.Context, filePaths []string, cliOpts *cliCreateOpts) {
+func CreateWorkflowTemplates(ctx context.Context, filePaths []string, cliOpts *cliCreateOpts) error {
if cliOpts == nil {
cliOpts = &cliCreateOpts{}
}
- ctx, apiClient := client.NewAPIClient(ctx)
+ ctx, apiClient, err := client.NewAPIClient(ctx)
+ if err != nil {
+ return err
+ }
serviceClient, err := apiClient.NewWorkflowTemplateServiceClient()
if err != nil {
- log.Fatal(err)
+ return err
}
workflowTemplates := generateWorkflowTemplates(filePaths, cliOpts.strict)
@@ -56,8 +55,9 @@ func CreateWorkflowTemplates(ctx context.Context, filePaths []string, cliOpts *c
Template: &wftmpl,
})
if err != nil {
- log.Fatalf("Failed to create workflow template: %v", err)
+ return fmt.Errorf("Failed to create workflow template: %v", err)
}
- printWorkflowTemplate(created, cliOpts.output)
+ printWorkflowTemplate(created, cliOpts.output.String())
}
+ return nil
}
diff --git a/cmd/argo/commands/template/delete.go b/cmd/argo/commands/template/delete.go
index d3b221b88ce0..93edc52fd6d4 100644
--- a/cmd/argo/commands/template/delete.go
+++ b/cmd/argo/commands/template/delete.go
@@ -3,9 +3,7 @@ package template
import (
"context"
"fmt"
- "log"
- "github.com/argoproj/pkg/errors"
"github.com/spf13/cobra"
"github.com/argoproj/argo-workflows/v3/cmd/argo/commands/client"
@@ -19,8 +17,8 @@ func NewDeleteCommand() *cobra.Command {
command := &cobra.Command{
Use: "delete WORKFLOW_TEMPLATE",
Short: "delete a workflow template",
- Run: func(cmd *cobra.Command, args []string) {
- apiServerDeleteWorkflowTemplates(cmd.Context(), all, args)
+ RunE: func(cmd *cobra.Command, args []string) error {
+ return apiServerDeleteWorkflowTemplates(cmd.Context(), all, args)
},
}
@@ -28,11 +26,14 @@ func NewDeleteCommand() *cobra.Command {
return command
}
-func apiServerDeleteWorkflowTemplates(ctx context.Context, allWFs bool, wfTmplNames []string) {
- ctx, apiClient := client.NewAPIClient(ctx)
+func apiServerDeleteWorkflowTemplates(ctx context.Context, allWFs bool, wfTmplNames []string) error {
+ ctx, apiClient, err := client.NewAPIClient(ctx)
+ if err != nil {
+ return err
+ }
serviceClient, err := apiClient.NewWorkflowTemplateServiceClient()
if err != nil {
- log.Fatal(err)
+ return err
}
namespace := client.Namespace()
var delWFTmplNames []string
@@ -41,7 +42,7 @@ func apiServerDeleteWorkflowTemplates(ctx context.Context, allWFs bool, wfTmplNa
Namespace: namespace,
})
if err != nil {
- log.Fatal(err)
+ return err
}
for _, wfTmpl := range wftmplList.Items {
delWFTmplNames = append(delWFTmplNames, wfTmpl.Name)
@@ -51,17 +52,21 @@ func apiServerDeleteWorkflowTemplates(ctx context.Context, allWFs bool, wfTmplNa
delWFTmplNames = wfTmplNames
}
for _, wfTmplNames := range delWFTmplNames {
- apiServerDeleteWorkflowTemplate(serviceClient, ctx, namespace, wfTmplNames)
+ if err := apiServerDeleteWorkflowTemplate(serviceClient, ctx, namespace, wfTmplNames); err != nil {
+ return err
+ }
}
+ return nil
}
-func apiServerDeleteWorkflowTemplate(client workflowtemplatepkg.WorkflowTemplateServiceClient, ctx context.Context, namespace, wftmplName string) {
+func apiServerDeleteWorkflowTemplate(client workflowtemplatepkg.WorkflowTemplateServiceClient, ctx context.Context, namespace, wftmplName string) error {
_, err := client.DeleteWorkflowTemplate(ctx, &workflowtemplatepkg.WorkflowTemplateDeleteRequest{
Name: wftmplName,
Namespace: namespace,
})
if err != nil {
- errors.CheckError(err)
+ return err
}
fmt.Printf("WorkflowTemplate '%s' deleted\n", wftmplName)
+ return nil
}
diff --git a/cmd/argo/commands/template/get.go b/cmd/argo/commands/template/get.go
index 49820ead8f78..0e7bc96f8172 100644
--- a/cmd/argo/commands/template/get.go
+++ b/cmd/argo/commands/template/get.go
@@ -1,25 +1,27 @@
package template
import (
- "log"
-
"github.com/spf13/cobra"
"github.com/argoproj/argo-workflows/v3/cmd/argo/commands/client"
+ "github.com/argoproj/argo-workflows/v3/cmd/argo/commands/common"
workflowtemplatepkg "github.com/argoproj/argo-workflows/v3/pkg/apiclient/workflowtemplate"
)
func NewGetCommand() *cobra.Command {
- var output string
+ var output = common.NewPrintWorkflowOutputValue("")
command := &cobra.Command{
Use: "get WORKFLOW_TEMPLATE...",
Short: "display details about a workflow template",
- Run: func(cmd *cobra.Command, args []string) {
- ctx, apiClient := client.NewAPIClient(cmd.Context())
+ RunE: func(cmd *cobra.Command, args []string) error {
+ ctx, apiClient, err := client.NewAPIClient(cmd.Context())
+ if err != nil {
+ return err
+ }
serviceClient, err := apiClient.NewWorkflowTemplateServiceClient()
if err != nil {
- log.Fatal(err)
+ return err
}
namespace := client.Namespace()
for _, name := range args {
@@ -28,13 +30,14 @@ func NewGetCommand() *cobra.Command {
Namespace: namespace,
})
if err != nil {
- log.Fatal(err)
+ return err
}
- printWorkflowTemplate(wftmpl, output)
+ printWorkflowTemplate(wftmpl, output.String())
}
+ return nil
},
}
- command.Flags().StringVarP(&output, "output", "o", "", "Output format. One of: json|yaml|wide")
+ command.Flags().VarP(&output, "output", "o", "Output format. "+output.Usage())
return command
}
diff --git a/cmd/argo/commands/template/lint.go b/cmd/argo/commands/template/lint.go
index c01e427217e0..c516ba8e2499 100644
--- a/cmd/argo/commands/template/lint.go
+++ b/cmd/argo/commands/template/lint.go
@@ -6,6 +6,7 @@ import (
"github.com/spf13/cobra"
"github.com/argoproj/argo-workflows/v3/cmd/argo/commands/client"
+ "github.com/argoproj/argo-workflows/v3/cmd/argo/commands/common"
"github.com/argoproj/argo-workflows/v3/cmd/argo/lint"
wf "github.com/argoproj/argo-workflows/v3/pkg/apis/workflow"
)
@@ -13,29 +14,32 @@ import (
func NewLintCommand() *cobra.Command {
var (
strict bool
- output string
+ output = common.EnumFlagValue{
+ AllowedValues: []string{"pretty", "simple"},
+ Value: "pretty",
+ }
)
command := &cobra.Command{
Use: "lint (DIRECTORY | FILE1 FILE2 FILE3...)",
Short: "validate a file or directory of workflow template manifests",
- Run: func(cmd *cobra.Command, args []string) {
- if len(args) == 0 {
- cmd.HelpFunc()(cmd, args)
- os.Exit(1)
+ Args: cobra.MinimumNArgs(1),
+ RunE: func(cmd *cobra.Command, args []string) error {
+ ctx, apiClient, err := client.NewAPIClient(cmd.Context())
+ if err != nil {
+ return err
}
- ctx, apiClient := client.NewAPIClient(cmd.Context())
opts := lint.LintOptions{
Files: args,
Strict: strict,
DefaultNamespace: client.Namespace(),
Printer: os.Stdout,
}
- lint.RunLint(ctx, apiClient, []string{wf.WorkflowTemplatePlural}, output, false, opts)
+ return lint.RunLint(ctx, apiClient, []string{wf.WorkflowTemplatePlural}, output.String(), false, opts)
},
}
- command.Flags().StringVarP(&output, "output", "o", "pretty", "Linting results output format. One of: pretty|simple")
+ command.Flags().VarP(&output, "output", "o", "Linting results output format. "+output.Usage())
command.Flags().BoolVar(&strict, "strict", true, "perform strict workflow validation")
return command
}
diff --git a/cmd/argo/commands/template/list.go b/cmd/argo/commands/template/list.go
index 166712e650eb..3dad60149e13 100644
--- a/cmd/argo/commands/template/list.go
+++ b/cmd/argo/commands/template/list.go
@@ -2,44 +2,48 @@ package template
import (
"fmt"
- "log"
"os"
"text/tabwriter"
- "github.com/argoproj/pkg/errors"
"github.com/spf13/cobra"
apiv1 "k8s.io/api/core/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/labels"
"github.com/argoproj/argo-workflows/v3/cmd/argo/commands/client"
+ "github.com/argoproj/argo-workflows/v3/cmd/argo/commands/common"
workflowtemplatepkg "github.com/argoproj/argo-workflows/v3/pkg/apiclient/workflowtemplate"
wfv1 "github.com/argoproj/argo-workflows/v3/pkg/apis/workflow/v1alpha1"
)
type listFlags struct {
- allNamespaces bool // --all-namespaces
- output string // --output
- labels string // --selector
+ allNamespaces bool // --all-namespaces
+ output common.EnumFlagValue // --output
+ labels string // --selector
}
func NewListCommand() *cobra.Command {
- var listArgs listFlags
+ var listArgs = listFlags{output: common.EnumFlagValue{AllowedValues: []string{"wide", "name"}}}
command := &cobra.Command{
Use: "list",
Short: "list workflow templates",
- Run: func(cmd *cobra.Command, args []string) {
- ctx, apiClient := client.NewAPIClient(cmd.Context())
+ RunE: func(cmd *cobra.Command, args []string) error {
+ ctx, apiClient, err := client.NewAPIClient(cmd.Context())
+ if err != nil {
+ return err
+ }
serviceClient, err := apiClient.NewWorkflowTemplateServiceClient()
if err != nil {
- log.Fatal(err)
+ return err
}
namespace := client.Namespace()
if listArgs.allNamespaces {
namespace = apiv1.NamespaceAll
}
labelSelector, err := labels.Parse(listArgs.labels)
- errors.CheckError(err)
+ if err != nil {
+ return err
+ }
wftmplList, err := serviceClient.ListWorkflowTemplates(ctx, &workflowtemplatepkg.WorkflowTemplateListRequest{
Namespace: namespace,
@@ -48,9 +52,9 @@ func NewListCommand() *cobra.Command {
},
})
if err != nil {
- log.Fatal(err)
+ return err
}
- switch listArgs.output {
+ switch listArgs.output.String() {
case "", "wide":
printTable(wftmplList.Items, &listArgs)
case "name":
@@ -58,12 +62,13 @@ func NewListCommand() *cobra.Command {
fmt.Println(wftmp.ObjectMeta.Name)
}
default:
- log.Fatalf("Unknown output mode: %s", listArgs.output)
+ return fmt.Errorf("Unknown output mode: %s", listArgs.output)
}
+ return nil
},
}
command.Flags().BoolVarP(&listArgs.allNamespaces, "all-namespaces", "A", false, "Show workflows from all namespaces")
- command.Flags().StringVarP(&listArgs.output, "output", "o", "", "Output format. One of: wide|name")
+ command.Flags().VarP(&listArgs.output, "output", "o", "Output format. "+listArgs.output.Usage())
command.Flags().StringVarP(&listArgs.labels, "selector", "l", "", "Selector (label query) to filter on, supports '=', '==', and '!='.(e.g. -l key1=value1,key2=value2)")
return command
}
diff --git a/cmd/argo/commands/template/root.go b/cmd/argo/commands/template/root.go
index 2706a3b867fa..7f334602060e 100644
--- a/cmd/argo/commands/template/root.go
+++ b/cmd/argo/commands/template/root.go
@@ -8,8 +8,8 @@ func NewTemplateCommand() *cobra.Command {
command := &cobra.Command{
Use: "template",
Short: "manipulate workflow templates",
- Run: func(cmd *cobra.Command, args []string) {
- cmd.HelpFunc()(cmd, args)
+ RunE: func(cmd *cobra.Command, args []string) error {
+ return cmd.Help()
},
}
diff --git a/cmd/argo/commands/template/update.go b/cmd/argo/commands/template/update.go
index 21db4445fc11..4849a4783985 100644
--- a/cmd/argo/commands/template/update.go
+++ b/cmd/argo/commands/template/update.go
@@ -2,22 +2,22 @@ package template
import (
"context"
- "log"
- "os"
+ "fmt"
"github.com/spf13/cobra"
"github.com/argoproj/argo-workflows/v3/cmd/argo/commands/client"
+ "github.com/argoproj/argo-workflows/v3/cmd/argo/commands/common"
workflowtemplatepkg "github.com/argoproj/argo-workflows/v3/pkg/apiclient/workflowtemplate"
)
type cliUpdateOpts struct {
- output string // --output
- strict bool // --strict
+ output common.EnumFlagValue // --output
+ strict bool // --strict
}
func NewUpdateCommand() *cobra.Command {
- var cliUpdateOpts cliUpdateOpts
+ var cliUpdateOpts = cliUpdateOpts{output: common.NewPrintWorkflowOutputValue("")}
command := &cobra.Command{
Use: "update FILE1 FILE2...",
Short: "update a workflow template",
@@ -30,28 +30,27 @@ func NewUpdateCommand() *cobra.Command {
# Update a Workflow Template with relaxed validation:
argo template update FILE1 --strict false
`,
- Run: func(cmd *cobra.Command, args []string) {
- if len(args) == 0 {
- cmd.HelpFunc()(cmd, args)
- os.Exit(1)
- }
-
- updateWorkflowTemplates(cmd.Context(), args, &cliUpdateOpts)
+ Args: cobra.MinimumNArgs(1),
+ RunE: func(cmd *cobra.Command, args []string) error {
+ return updateWorkflowTemplates(cmd.Context(), args, &cliUpdateOpts)
},
}
- command.Flags().StringVarP(&cliUpdateOpts.output, "output", "o", "", "Output format. One of: name|json|yaml|wide")
+ command.Flags().VarP(&cliUpdateOpts.output, "output", "o", "Output format. "+cliUpdateOpts.output.Usage())
command.Flags().BoolVar(&cliUpdateOpts.strict, "strict", true, "perform strict workflow validation")
return command
}
-func updateWorkflowTemplates(ctx context.Context, filePaths []string, cliOpts *cliUpdateOpts) {
+func updateWorkflowTemplates(ctx context.Context, filePaths []string, cliOpts *cliUpdateOpts) error {
if cliOpts == nil {
cliOpts = &cliUpdateOpts{}
}
- ctx, apiClient := client.NewAPIClient(ctx)
+ ctx, apiClient, err := client.NewAPIClient(ctx)
+ if err != nil {
+ return err
+ }
serviceClient, err := apiClient.NewWorkflowTemplateServiceClient()
if err != nil {
- log.Fatal(err)
+ return err
}
workflowTemplates := generateWorkflowTemplates(filePaths, cliOpts.strict)
@@ -65,7 +64,7 @@ func updateWorkflowTemplates(ctx context.Context, filePaths []string, cliOpts *c
Namespace: wftmpl.Namespace,
})
if err != nil {
- log.Fatalf("Failed to get existing workflow template %q to update: %v", wftmpl.Name, err)
+ return fmt.Errorf("Failed to get existing workflow template %q to update: %v", wftmpl.Name, err)
}
wftmpl.ResourceVersion = current.ResourceVersion
updated, err := serviceClient.UpdateWorkflowTemplate(ctx, &workflowtemplatepkg.WorkflowTemplateUpdateRequest{
@@ -73,8 +72,9 @@ func updateWorkflowTemplates(ctx context.Context, filePaths []string, cliOpts *c
Template: &wftmpl,
})
if err != nil {
- log.Fatalf("Failed to update workflow template: %v", err)
+ return fmt.Errorf("Failed to update workflow template: %v", err)
}
- printWorkflowTemplate(updated, cliOpts.output)
+ printWorkflowTemplate(updated, cliOpts.output.String())
}
+ return nil
}
diff --git a/cmd/argo/commands/terminate.go b/cmd/argo/commands/terminate.go
index c10e669bbae2..63ad051b60b9 100644
--- a/cmd/argo/commands/terminate.go
+++ b/cmd/argo/commands/terminate.go
@@ -1,10 +1,9 @@
package commands
import (
+ "errors"
"fmt"
- "os"
- "github.com/argoproj/pkg/errors"
"github.com/spf13/cobra"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
@@ -63,13 +62,17 @@ func NewTerminateCommand() *cobra.Command {
argo terminate --field-selector metadata.namespace=argo
`,
- Run: func(cmd *cobra.Command, args []string) {
+ Args: func(cmd *cobra.Command, args []string) error {
if len(args) == 0 && !t.isList() {
- cmd.HelpFunc()(cmd, args)
- os.Exit(1)
+ return errors.New("requires either selector or workflow")
+ }
+ return nil
+ },
+ RunE: func(cmd *cobra.Command, args []string) error {
+ ctx, apiClient, err := client.NewAPIClient(cmd.Context())
+ if err != nil {
+ return err
}
-
- ctx, apiClient := client.NewAPIClient(cmd.Context())
serviceClient := apiClient.NewWorkflowServiceClient()
t.namespace = client.Namespace()
@@ -81,7 +84,9 @@ func NewTerminateCommand() *cobra.Command {
fields: t.fields,
labels: t.labels,
})
- errors.CheckError(err)
+ if err != nil {
+ return err
+ }
workflows = append(workflows, listed...)
} else {
workflows = t.convertToWorkflows(args)
@@ -97,9 +102,12 @@ func NewTerminateCommand() *cobra.Command {
Name: w.Name,
Namespace: w.Namespace,
})
- errors.CheckError(err)
+ if err != nil {
+ return err
+ }
fmt.Printf("workflow %s terminated\n", wf.Name)
}
+ return nil
},
}
diff --git a/cmd/argo/commands/version.go b/cmd/argo/commands/version.go
index 9e923bf66b38..e40dd528cc24 100644
--- a/cmd/argo/commands/version.go
+++ b/cmd/argo/commands/version.go
@@ -3,7 +3,6 @@ package commands
import (
"os"
- "github.com/argoproj/pkg/errors"
"github.com/spf13/cobra"
"github.com/argoproj/argo-workflows/v3"
@@ -18,16 +17,24 @@ func NewVersionCommand() *cobra.Command {
cmd := cobra.Command{
Use: "version",
Short: "print version information",
- Run: func(cmd *cobra.Command, args []string) {
+ RunE: func(cmd *cobra.Command, args []string) error {
cmdutil.PrintVersion(CLIName, argo.GetVersion(), short)
if _, ok := os.LookupEnv("ARGO_SERVER"); ok {
- ctx, apiClient := client.NewAPIClient(cmd.Context())
+ ctx, apiClient, err := client.NewAPIClient(cmd.Context())
+ if err != nil {
+ return err
+ }
serviceClient, err := apiClient.NewInfoServiceClient()
- errors.CheckError(err)
+ if err != nil {
+ return err
+ }
serverVersion, err := serviceClient.GetVersion(ctx, &infopkg.GetVersionRequest{})
- errors.CheckError(err)
+ if err != nil {
+ return err
+ }
cmdutil.PrintVersion("argo-server", *serverVersion, short)
}
+ return nil
},
}
cmd.Flags().BoolVar(&short, "short", false, "print just the version number")
diff --git a/cmd/argo/commands/wait.go b/cmd/argo/commands/wait.go
index 64238918ab8a..e1bc762346b6 100644
--- a/cmd/argo/commands/wait.go
+++ b/cmd/argo/commands/wait.go
@@ -20,11 +20,15 @@ func NewWaitCommand() *cobra.Command {
argo wait @latest
`,
- Run: func(cmd *cobra.Command, args []string) {
- ctx, apiClient := client.NewAPIClient(cmd.Context())
+ RunE: func(cmd *cobra.Command, args []string) error {
+ ctx, apiClient, err := client.NewAPIClient(cmd.Context())
+ if err != nil {
+ return err
+ }
serviceClient := apiClient.NewWorkflowServiceClient()
namespace := client.Namespace()
common.WaitWorkflows(ctx, serviceClient, namespace, args, ignoreNotFound, false)
+ return nil
},
}
command.Flags().BoolVar(&ignoreNotFound, "ignore-not-found", false, "Ignore the wait if the workflow is not found")
diff --git a/cmd/argo/commands/watch.go b/cmd/argo/commands/watch.go
index 488c3f57530d..23ef1411412c 100644
--- a/cmd/argo/commands/watch.go
+++ b/cmd/argo/commands/watch.go
@@ -1,8 +1,6 @@
package commands
import (
- "os"
-
"github.com/spf13/cobra"
"github.com/argoproj/argo-workflows/v3/cmd/argo/commands/client"
@@ -23,15 +21,15 @@ func NewWatchCommand() *cobra.Command {
argo watch @latest
`,
- Run: func(cmd *cobra.Command, args []string) {
- if len(args) != 1 {
- cmd.HelpFunc()(cmd, args)
- os.Exit(1)
+ Args: cobra.ExactArgs(1),
+ RunE: func(cmd *cobra.Command, args []string) error {
+ ctx, apiClient, err := client.NewAPIClient(cmd.Context())
+ if err != nil {
+ return err
}
- ctx, apiClient := client.NewAPIClient(cmd.Context())
serviceClient := apiClient.NewWorkflowServiceClient()
namespace := client.Namespace()
- common.WatchWorkflow(ctx, serviceClient, namespace, args[0], getArgs)
+ return common.WatchWorkflow(ctx, serviceClient, namespace, args[0], getArgs)
},
}
command.Flags().StringVar(&getArgs.Status, "status", "", "Filter by status (Pending, Running, Succeeded, Skipped, Failed, Error)")
diff --git a/cmd/argo/lint/formatter_pretty_test.go b/cmd/argo/lint/formatter_pretty_test.go
index d30ccecf4f5b..56ea3607657e 100644
--- a/cmd/argo/lint/formatter_pretty_test.go
+++ b/cmd/argo/lint/formatter_pretty_test.go
@@ -1,9 +1,8 @@
-//go:build !windows
-
package lint
import (
"fmt"
+ "runtime"
"testing"
"github.com/TwiN/go-color"
@@ -41,6 +40,9 @@ func TestPrettyFormat(t *testing.T) {
Linted: true,
})
expected := "\x1b[4mtest1\x1b[0m:\n \x1b[31m✖\x1b[0m some error\n \x1b[31m✖\x1b[0m some error2\n\n"
+ if runtime.GOOS == "windows" {
+ expected = "test1:\n ✖ some error\n ✖ some error2\n\n"
+ }
assert.Equal(t, expected, msg)
})
@@ -53,6 +55,9 @@ func TestPrettyFormat(t *testing.T) {
Linted: true,
})
expected := "\x1b[4mtest2\x1b[0m:\n \x1b[31m✖\x1b[0m some error\n\n"
+ if runtime.GOOS == "windows" {
+ expected = "test2:\n ✖ some error\n\n"
+ }
assert.Equal(t, expected, msg)
})
diff --git a/cmd/argo/lint/lint.go b/cmd/argo/lint/lint.go
index 8a749ce6161d..dc7c9c8d9d32 100644
--- a/cmd/argo/lint/lint.go
+++ b/cmd/argo/lint/lint.go
@@ -6,7 +6,6 @@ import (
"io"
"strings"
- "github.com/argoproj/pkg/errors"
log "github.com/sirupsen/logrus"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
@@ -80,19 +79,26 @@ func GetFormatter(fmtr string) (Formatter, error) {
// RunLint lints the specified kinds in the specified files and prints the results to os.Stdout.
// If linting fails it will exit with status code 1.
-func RunLint(ctx context.Context, client apiclient.Client, kinds []string, output string, offline bool, opts LintOptions) {
+func RunLint(ctx context.Context, client apiclient.Client, kinds []string, output string, offline bool, opts LintOptions) error {
fmtr, err := GetFormatter(output)
- errors.CheckError(err)
+ if err != nil {
+ return err
+ }
clients, err := getLintClients(client, kinds)
- errors.CheckError(err)
+ if err != nil {
+ return err
+ }
opts.ServiceClients = clients
opts.Formatter = fmtr
res, err := Lint(ctx, &opts)
- errors.CheckError(err)
+ if err != nil {
+ return err
+ }
if !res.Success {
log.StandardLogger().Exit(1)
}
+ return nil
}
// Lint reads all files, returns linting errors of all of the enitities of the specified kinds.
diff --git a/cmd/argo/main.go b/cmd/argo/main.go
index 81fc7721a211..22e33349fc87 100644
--- a/cmd/argo/main.go
+++ b/cmd/argo/main.go
@@ -1,7 +1,6 @@
package main
import (
- "fmt"
"os"
// load authentication plugin for obtaining credentials from cloud providers.
@@ -12,7 +11,6 @@ import (
func main() {
if err := commands.NewCommand().Execute(); err != nil {
- fmt.Println(err)
os.Exit(1)
}
}
diff --git a/cmd/argoexec/commands/agent.go b/cmd/argoexec/commands/agent.go
index 4b796e91dbf1..88f970f741a7 100644
--- a/cmd/argoexec/commands/agent.go
+++ b/cmd/argoexec/commands/agent.go
@@ -34,20 +34,21 @@ func NewAgentCommand() *cobra.Command {
func NewAgentInitCommand() *cobra.Command {
return &cobra.Command{
Use: "init",
- Run: func(cmd *cobra.Command, args []string) {
+ RunE: func(cmd *cobra.Command, args []string) error {
for _, name := range getPluginNames() {
filename := tokenFilename(name)
log.WithField("plugin", name).
WithField("filename", filename).
Info("creating token file for plugin")
if err := os.Mkdir(filepath.Dir(filename), 0o770); err != nil {
- log.Fatal(err)
+ return err
}
token := rand.String(32) // this could have 26^32 ~= 2 x 10^45 possible values, not guessable in reasonable time
if err := os.WriteFile(filename, []byte(token), 0o440); err != nil {
- log.Fatal(err)
+ return err
}
}
+ return nil
},
}
}
diff --git a/cmd/argoexec/commands/data.go b/cmd/argoexec/commands/data.go
index a01bb70cd173..6e458ba9cfba 100644
--- a/cmd/argoexec/commands/data.go
+++ b/cmd/argoexec/commands/data.go
@@ -2,8 +2,8 @@ package commands
import (
"context"
+ "fmt"
- log "github.com/sirupsen/logrus"
"github.com/spf13/cobra"
)
@@ -11,12 +11,13 @@ func NewDataCommand() *cobra.Command {
command := cobra.Command{
Use: "data",
Short: "Process data",
- Run: func(cmd *cobra.Command, args []string) {
+ RunE: func(cmd *cobra.Command, args []string) error {
ctx := cmd.Context()
err := execData(ctx)
if err != nil {
- log.Fatalf("%+v", err)
+ return fmt.Errorf("%+v", err)
}
+ return nil
},
}
return &command
diff --git a/cmd/argoexec/commands/init.go b/cmd/argoexec/commands/init.go
index 13d642ae2353..c7b9b1f99d7d 100644
--- a/cmd/argoexec/commands/init.go
+++ b/cmd/argoexec/commands/init.go
@@ -2,9 +2,9 @@ package commands
import (
"context"
+ "fmt"
"github.com/argoproj/pkg/stats"
- log "github.com/sirupsen/logrus"
"github.com/spf13/cobra"
)
@@ -12,12 +12,13 @@ func NewInitCommand() *cobra.Command {
command := cobra.Command{
Use: "init",
Short: "Load artifacts",
- Run: func(cmd *cobra.Command, args []string) {
+ RunE: func(cmd *cobra.Command, args []string) error {
ctx := context.Background()
err := loadArtifacts(ctx)
if err != nil {
- log.Fatalf("%+v", err)
+ return fmt.Errorf("%+v", err)
}
+ return nil
},
}
return &command
diff --git a/cmd/argoexec/commands/resource.go b/cmd/argoexec/commands/resource.go
index 68b0583b6378..6bff68bf4bcc 100644
--- a/cmd/argoexec/commands/resource.go
+++ b/cmd/argoexec/commands/resource.go
@@ -3,9 +3,7 @@ package commands
import (
"context"
"fmt"
- "os"
- log "github.com/sirupsen/logrus"
"github.com/spf13/cobra"
"github.com/argoproj/argo-workflows/v3/workflow/common"
@@ -15,17 +13,14 @@ func NewResourceCommand() *cobra.Command {
command := cobra.Command{
Use: "resource (get|create|apply|delete) MANIFEST",
Short: "update a resource and wait for resource conditions",
- Run: func(cmd *cobra.Command, args []string) {
- if len(args) != 1 {
- cmd.HelpFunc()(cmd, args)
- os.Exit(1)
- }
-
+ Args: cobra.ExactArgs(1),
+ RunE: func(cmd *cobra.Command, args []string) error {
ctx := cmd.Context()
err := execResource(ctx, args[0])
if err != nil {
- log.Fatalf("%+v", err)
+ return fmt.Errorf("%+v", err)
}
+ return nil
},
}
return &command
diff --git a/cmd/argoexec/commands/root.go b/cmd/argoexec/commands/root.go
index 168d1cbc9d43..7a49cc7e1fc9 100644
--- a/cmd/argoexec/commands/root.go
+++ b/cmd/argoexec/commands/root.go
@@ -50,8 +50,8 @@ func NewRootCommand() *cobra.Command {
command := cobra.Command{
Use: CLIName,
Short: "argoexec is the executor sidecar to workflow containers",
- Run: func(cmd *cobra.Command, args []string) {
- cmd.HelpFunc()(cmd, args)
+ RunE: func(cmd *cobra.Command, args []string) error {
+ return cmd.Help()
},
PersistentPreRun: func(cmd *cobra.Command, args []string) {
initConfig()
@@ -99,8 +99,13 @@ func initExecutor() *executor.WorkflowExecutor {
}
tmpl := &wfv1.Template{}
- envVarTemplateValue := os.Getenv(common.EnvVarTemplate)
- if envVarTemplateValue == common.EnvVarTemplateOffloaded {
+ envVarTemplateValue, ok := os.LookupEnv(common.EnvVarTemplate)
+ // wait container reads template from the file written by init container, instead of from environment variable.
+ if !ok {
+ data, err := os.ReadFile(varRunArgo + "/template")
+ checkErr(err)
+ envVarTemplateValue = string(data)
+ } else if envVarTemplateValue == common.EnvVarTemplateOffloaded {
data, err := os.ReadFile(filepath.Join(common.EnvConfigMountPath, common.EnvVarTemplate))
checkErr(err)
envVarTemplateValue = string(data)
diff --git a/cmd/argoexec/commands/wait.go b/cmd/argoexec/commands/wait.go
index 76896ea87a5b..2087673621c9 100644
--- a/cmd/argoexec/commands/wait.go
+++ b/cmd/argoexec/commands/wait.go
@@ -2,10 +2,10 @@ package commands
import (
"context"
+ "fmt"
"time"
"github.com/argoproj/pkg/stats"
- log "github.com/sirupsen/logrus"
"github.com/spf13/cobra"
)
@@ -13,12 +13,13 @@ func NewWaitCommand() *cobra.Command {
command := cobra.Command{
Use: "wait",
Short: "wait for main container to finish and save artifacts",
- Run: func(cmd *cobra.Command, args []string) {
+ RunE: func(cmd *cobra.Command, args []string) error {
ctx := cmd.Context()
err := waitContainer(ctx)
if err != nil {
- log.Fatalf("%+v", err)
+ return fmt.Errorf("%+v", err)
}
+ return nil
},
}
return &command
diff --git a/cmd/workflow-controller/main.go b/cmd/workflow-controller/main.go
index a5edb978f374..9b2247c62fd4 100644
--- a/cmd/workflow-controller/main.go
+++ b/cmd/workflow-controller/main.go
@@ -6,10 +6,10 @@ import (
"net/http"
"os"
"strings"
+ "sync"
"time"
"github.com/argoproj/pkg/cli"
- "github.com/argoproj/pkg/errors"
kubecli "github.com/argoproj/pkg/kube/cli"
"github.com/argoproj/pkg/stats"
log "github.com/sirupsen/logrus"
@@ -112,7 +112,9 @@ func NewRootCommand() *cobra.Command {
}
wfController, err := controller.NewWorkflowController(ctx, config, kubeclientset, wfclientset, namespace, managedNamespace, executorImage, executorImagePullPolicy, logFormat, configMap, executorPlugins)
- errors.CheckError(err)
+ if err != nil {
+ return err
+ }
leaderElectionOff := os.Getenv("LEADER_ELECTION_DISABLE")
if leaderElectionOff == "true" {
@@ -133,9 +135,15 @@ func NewRootCommand() *cobra.Command {
}
// for controlling the dummy metrics server
+ var wg sync.WaitGroup
dummyCtx, dummyCancel := context.WithCancel(context.Background())
defer dummyCancel()
- go wfController.RunPrometheusServer(dummyCtx, true)
+
+ wg.Add(1)
+ go func() {
+ wfController.RunPrometheusServer(dummyCtx, true)
+ wg.Done()
+ }()
go leaderelection.RunOrDie(ctx, leaderelection.LeaderElectionConfig{
Lock: &resourcelock.LeaseLock{
@@ -149,12 +157,18 @@ func NewRootCommand() *cobra.Command {
Callbacks: leaderelection.LeaderCallbacks{
OnStartedLeading: func(ctx context.Context) {
dummyCancel()
+ wg.Wait()
go wfController.Run(ctx, workflowWorkers, workflowTTLWorkers, podCleanupWorkers, cronWorkflowWorkers, workflowArchiveWorkers)
- go wfController.RunPrometheusServer(ctx, false)
+ wg.Add(1)
+ go func() {
+ wfController.RunPrometheusServer(ctx, false)
+ wg.Done()
+ }()
},
OnStoppedLeading: func() {
log.WithField("id", nodeID).Info("stopped leading")
cancel()
+ wg.Wait()
go wfController.RunPrometheusServer(dummyCtx, true)
},
OnNewLeader: func(identity string) {
diff --git a/community/sustainability_effort.md b/community/sustainability_effort.md
index 98f79051cfa1..482aaf5d3cb5 100644
--- a/community/sustainability_effort.md
+++ b/community/sustainability_effort.md
@@ -54,10 +54,10 @@ If you'd like to participate, add yourself here in a PR.
| Name | GitHub ID |
|---------------------------|---------------------------------------------------------|
-| Alan Clucas | [`Joibel`](https://github.com/Joibel) |
-| Anton Gilgur | [`agilgur5`](https://github.com/agilgur5) |
-| Isitha Subasinghe | [`isubasinghe`](https://github.com/isubasinghe) |
-| Julie Vogelman | [`juliev0`](https://github.com/juliev0) |
-| Shuangkun Tian | [`shuangkun`](https://github.com/shuangkun) |
-| Tianchu Zhao | [`tczhao`](https://github.com/tczhao) |
-| Yuan Tang | [`terrytangyuan`](https://github.com/terrytangyuan) |
+| Alan Clucas | [`Joibel`](https://github.com/Joibel) |
+| Anton Gilgur | [`agilgur5`](https://github.com/agilgur5) |
+| Isitha Subasinghe | [`isubasinghe`](https://github.com/isubasinghe) |
+| Shuangkun Tian | [`shuangkun`](https://github.com/shuangkun) |
+| Tianchu Zhao | [`tczhao`](https://github.com/tczhao) |
+| Yuan Tang | [`terrytangyuan`](https://github.com/terrytangyuan) |
+| Mason Malone | [`MasonM`](https://github.com/MasonM) |
diff --git a/config/config.go b/config/config.go
index edccd9fa1ba3..8462838b4ca5 100644
--- a/config/config.go
+++ b/config/config.go
@@ -6,6 +6,8 @@ import (
"net/url"
"time"
+ metricsdk "go.opentelemetry.io/otel/sdk/metric"
+ "go.opentelemetry.io/otel/sdk/metric/metricdata"
apiv1 "k8s.io/api/core/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/labels"
@@ -24,6 +26,9 @@ type Config struct {
// NodeEvents configures how node events are emitted
NodeEvents NodeEvents `json:"nodeEvents,omitempty"`
+ // WorkflowEvents configures how workflow events are emitted
+ WorkflowEvents WorkflowEvents `json:"workflowEvents,omitempty"`
+
// Executor holds container customizations for the executor to use when running pods
Executor *apiv1.Container `json:"executor,omitempty"`
@@ -288,13 +293,28 @@ type MetricsConfig struct {
Temporality MetricsTemporality `json:"temporality,omitempty"`
}
-func (mc MetricsConfig) GetSecure(defaultValue bool) bool {
+func (mc *MetricsConfig) GetSecure(defaultValue bool) bool {
if mc.Secure != nil {
return *mc.Secure
}
return defaultValue
}
+func (mc *MetricsConfig) GetTemporality() metricsdk.TemporalitySelector {
+ switch mc.Temporality {
+ case MetricsTemporalityCumulative:
+ return func(metricsdk.InstrumentKind) metricdata.Temporality {
+ return metricdata.CumulativeTemporality
+ }
+ case MetricsTemporalityDelta:
+ return func(metricsdk.InstrumentKind) metricdata.Temporality {
+ return metricdata.DeltaTemporality
+ }
+ default:
+ return metricsdk.DefaultTemporalitySelector
+ }
+}
+
type WorkflowRestrictions struct {
TemplateReferencing TemplateReferencing `json:"templateReferencing,omitempty"`
}
diff --git a/config/node_events_test.go b/config/node_events_test.go
index 93d853acb78a..9d9f25e4c19b 100644
--- a/config/node_events_test.go
+++ b/config/node_events_test.go
@@ -4,11 +4,11 @@ import (
"testing"
"github.com/stretchr/testify/assert"
- "k8s.io/utils/pointer"
+ "k8s.io/utils/ptr"
)
func TestNodeEvents_IsEnabled(t *testing.T) {
assert.True(t, NodeEvents{}.IsEnabled())
- assert.False(t, NodeEvents{Enabled: pointer.Bool(false)}.IsEnabled())
- assert.True(t, NodeEvents{Enabled: pointer.Bool(true)}.IsEnabled())
+ assert.False(t, NodeEvents{Enabled: ptr.To(false)}.IsEnabled())
+ assert.True(t, NodeEvents{Enabled: ptr.To(true)}.IsEnabled())
}
diff --git a/config/workflow_events.go b/config/workflow_events.go
new file mode 100644
index 000000000000..45dfa250f719
--- /dev/null
+++ b/config/workflow_events.go
@@ -0,0 +1,9 @@
+package config
+
+type WorkflowEvents struct {
+ Enabled *bool `json:"enabled,omitempty"`
+}
+
+func (e WorkflowEvents) IsEnabled() bool {
+ return e.Enabled == nil || *e.Enabled
+}
diff --git a/config/workflow_events_test.go b/config/workflow_events_test.go
new file mode 100644
index 000000000000..235400ae67bc
--- /dev/null
+++ b/config/workflow_events_test.go
@@ -0,0 +1,14 @@
+package config
+
+import (
+ "testing"
+
+ "github.com/stretchr/testify/assert"
+ "k8s.io/utils/ptr"
+)
+
+func TestWorkflowEvents_IsEnabled(t *testing.T) {
+ assert.True(t, WorkflowEvents{}.IsEnabled())
+ assert.False(t, WorkflowEvents{Enabled: ptr.To(false)}.IsEnabled())
+ assert.True(t, WorkflowEvents{Enabled: ptr.To(true)}.IsEnabled())
+}
diff --git a/dev/nix/conf.nix b/dev/nix/conf.nix
index 68ca78dff0aa..1850eb2d0f22 100644
--- a/dev/nix/conf.nix
+++ b/dev/nix/conf.nix
@@ -24,6 +24,7 @@ rec {
LOGS = "true"; # same as CTRL - not acted upon
UI = "true"; # same as CTRL
API = "true"; # same as CTRL
+ UI_SECURE = "false";
PLUGINS = "false";
};
controller = {
@@ -50,7 +51,10 @@ rec {
args = "--loglevel ${env.LOG_LEVEL} server --namespaced=${env.NAMESPACED} --auth-mode ${env.AUTH_MODE} --secure=${env.SECURE} --x-frame-options=SAMEORIGIN";
};
ui = {
- env = { };
+ env = {
+ ARGO_UI_SECURE = "${env.UI_SECURE}";
+ ARGO_SECURE = "${env.SECURE}";
+ };
args = "--cwd ui start";
};
}
diff --git a/docs/README.md b/docs/README.md
index 2c51829d0b72..4a6a9bb9b113 100644
--- a/docs/README.md
+++ b/docs/README.md
@@ -139,12 +139,18 @@ Participation in Argo Workflows is governed by the [CNCF Code of Conduct](https:
* [Argo Workflows and Pipelines - CI/CD, Machine Learning, and Other Kubernetes Workflows](https://youtu.be/UMaivwrAyTA)
* [Argo Ansible role: Provisioning Argo Workflows on OpenShift](https://medium.com/@marekermk/provisioning-argo-on-openshift-with-ansible-and-kustomize-340a1fda8b50)
* [Argo Workflows vs Apache Airflow](http://bit.ly/30YNIvT)
+* [Beyond Prototypes: Production-Ready ML Systems with Metaflow and Argo](https://github.com/terrytangyuan/public-talks/tree/main/talks/kubecon-na-2023-metaflow-argo)
* [CI/CD with Argo on Kubernetes](https://medium.com/@bouwe.ceunen/ci-cd-with-argo-on-kubernetes-28c1a99616a9)
* [Define Your CI/CD Pipeline with Argo Workflows](https://haque-zubair.medium.com/define-your-ci-cd-pipeline-with-argo-workflows-25aefb02fa63)
* [Distributed Machine Learning Patterns from Manning Publication](https://github.com/terrytangyuan/distributed-ml-patterns)
+* [Engineering Cloud Native AI Platform](https://github.com/terrytangyuan/public-talks/tree/main/talks/platform-con-2024-engineering-cloud-native-ai-platform)
+* [Managing Thousands of Automatic Machine Learning Experiments with Argo and Katib](https://github.com/terrytangyuan/public-talks/blob/main/talks/argocon-automl-experiments-2022)
+* [Revolutionizing Scientific Simulations with Argo Workflows](https://www.youtube.com/watch?v=BYVf7GhfiRg)
* [Running Argo Workflows Across Multiple Kubernetes Clusters](https://admiralty.io/blog/running-argo-workflows-across-multiple-kubernetes-clusters/)
+* [Scaling Kubernetes: Best Practices for Managing Large-Scale Batch Jobs with Spark and Argo Workflow](https://www.youtube.com/watch?v=KqEKRPjy4aE)
* [Open Source Model Management Roundup: Polyaxon, Argo, and Seldon](https://www.anaconda.com/blog/developer-blog/open-source-model-management-roundup-polyaxon-argo-and-seldon/)
* [Producing 200 OpenStreetMap extracts in 35 minutes using a scalable data workflow](https://www.interline.io/blog/scaling-openstreetmap-data-workflows/)
+* [Production-Ready AI Platform on Kubernetes](https://github.com/terrytangyuan/public-talks/tree/main/talks/kubecon-europe-2024-production-ai-platform-on-k8s)
* [Argo integration review](http://dev.matt.hillsdon.net/2018/03/24/argo-integration-review.html)
* TGI Kubernetes with Joe Beda: [Argo workflow system](https://www.youtube.com/watch?v=M_rxPPLG8pU&start=859)
diff --git a/docs/cli/argo_archive_delete.md b/docs/cli/argo_archive_delete.md
index 9ea605dece80..0f3c7c8aaab2 100644
--- a/docs/cli/argo_archive_delete.md
+++ b/docs/cli/argo_archive_delete.md
@@ -6,6 +6,14 @@ delete a workflow in the archive
argo archive delete UID... [flags]
```
+### Examples
+
+```
+# Delete an archived workflow by its UID:
+ argo archive delete abc123-def456-ghi789-jkl012
+
+```
+
### Options
```
diff --git a/docs/cli/argo_archive_get.md b/docs/cli/argo_archive_get.md
index 25019af793fe..e017ec671b22 100644
--- a/docs/cli/argo_archive_get.md
+++ b/docs/cli/argo_archive_get.md
@@ -6,6 +6,17 @@ get a workflow in the archive
argo archive get UID [flags]
```
+### Examples
+
+```
+# Get information about an archived workflow by its UID:
+ argo archive get abc123-def456-ghi789-jkl012
+
+# Get information about an archived workflow in YAML format:
+ argo archive get abc123-def456-ghi789-jkl012 -o yaml
+
+```
+
### Options
```
diff --git a/docs/cli/argo_archive_list.md b/docs/cli/argo_archive_list.md
index 13de7b0df279..72f710582d72 100644
--- a/docs/cli/argo_archive_list.md
+++ b/docs/cli/argo_archive_list.md
@@ -6,12 +6,29 @@ list workflows in the archive
argo archive list [flags]
```
+### Examples
+
+```
+# List all archived workflows:
+ argo archive list
+
+# List all archived workflows fetched in chunks of 100:
+ argo archive list --chunk-size 100
+
+# List all archived workflows in YAML format:
+ argo archive list -o yaml
+
+# List archived workflows that have both labels:
+ argo archive list -l key1=value1,key2=value2
+
+```
+
### Options
```
--chunk-size int Return large lists in chunks rather than all at once. Pass 0 to disable.
-h, --help help for list
- -o, --output string Output format. One of: json|yaml|wide (default "wide")
+ -o, --output string Output format. One of: name|json|yaml|wide (default "wide")
-l, --selector string Selector (label query) to filter on, not including uninitialized ones, supports '=', '==', and '!='.(e.g. -l key1=value1,key2=value2)
```
diff --git a/docs/cli/argo_cluster-template_get.md b/docs/cli/argo_cluster-template_get.md
index 883efc666340..93168ddc1ac2 100644
--- a/docs/cli/argo_cluster-template_get.md
+++ b/docs/cli/argo_cluster-template_get.md
@@ -10,7 +10,7 @@ argo cluster-template get CLUSTER WORKFLOW_TEMPLATE... [flags]
```
-h, --help help for get
- -o, --output string Output format. One of: json|yaml|wide
+ -o, --output string Output format. One of: name|json|yaml|wide
```
### Options inherited from parent commands
diff --git a/docs/cli/argo_cron_get.md b/docs/cli/argo_cron_get.md
index ce50ab0aca4b..e61141040612 100644
--- a/docs/cli/argo_cron_get.md
+++ b/docs/cli/argo_cron_get.md
@@ -10,7 +10,7 @@ argo cron get CRON_WORKFLOW... [flags]
```
-h, --help help for get
- -o, --output string Output format. One of: json|yaml|wide
+ -o, --output string Output format. One of: name|json|yaml|wide
```
### Options inherited from parent commands
diff --git a/docs/cli/argo_get.md b/docs/cli/argo_get.md
index 3f3ffdcfede4..f72d8db767d8 100644
--- a/docs/cli/argo_get.md
+++ b/docs/cli/argo_get.md
@@ -25,7 +25,7 @@ argo get WORKFLOW... [flags]
--no-color Disable colorized output
--no-utf8 Use plain 7-bits ascii characters
--node-field-selector string selector of node to display, eg: --node-field-selector phase=abc
- -o, --output string Output format. One of: json|yaml|short|wide
+ -o, --output string Output format. One of: name|json|yaml|short|wide
--status string Filter by status (Pending, Running, Succeeded, Skipped, Failed, Error)
```
diff --git a/docs/cli/argo_list.md b/docs/cli/argo_list.md
index 05ae34c77c5a..55b47de123ea 100644
--- a/docs/cli/argo_list.md
+++ b/docs/cli/argo_list.md
@@ -48,7 +48,7 @@ argo list [flags]
-h, --help help for list
--no-headers Don't print headers (default print headers).
--older string List completed workflows finished before the specified duration (e.g. 10m, 3h, 1d)
- -o, --output string Output format. One of: name|wide|yaml|json
+ -o, --output string Output format. One of: name|json|yaml|wide
--prefix string Filter workflows by prefix
--resubmitted Show resubmitted workflows
--running Show running workflows. Mutually exclusive with --completed.
diff --git a/docs/cli/argo_template_get.md b/docs/cli/argo_template_get.md
index 054abb1cba3d..2d539988ec05 100644
--- a/docs/cli/argo_template_get.md
+++ b/docs/cli/argo_template_get.md
@@ -10,7 +10,7 @@ argo template get WORKFLOW_TEMPLATE... [flags]
```
-h, --help help for get
- -o, --output string Output format. One of: json|yaml|wide
+ -o, --output string Output format. One of: name|json|yaml|wide
```
### Options inherited from parent commands
diff --git a/docs/client-libraries.md b/docs/client-libraries.md
index 451c381495cf..c8fb03cbdc5a 100644
--- a/docs/client-libraries.md
+++ b/docs/client-libraries.md
@@ -12,11 +12,11 @@ Client libraries often handle common tasks such as authentication for you.
The following client libraries are auto-generated using [OpenAPI Generator](https://github.com/OpenAPITools/openapi-generator-cli).
Please expect very minimal support from the Argo team.
-| Language | Client Library | Examples/Docs |
-|----------|-----------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------|
-| Golang | [`apiclient.go`](https://github.com/argoproj/argo-workflows/blob/main/pkg/apiclient/apiclient.go) | [Example](https://github.com/argoproj/argo-workflows/blob/main/cmd/argo/commands/submit.go) |
-| Java | [Java](https://github.com/argoproj/argo-workflows/blob/main/sdks/java) | |
-| Python | [Python](https://github.com/argoproj/argo-workflows/blob/main/sdks/python) | |
+| Language | Client Library | Examples/Docs |
+|----------|---------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------|
+| Golang | [`apiclient.go`](https://github.com/argoproj/argo-workflows/blob/main/pkg/apiclient/apiclient.go) | [Example](https://github.com/argoproj/argo-workflows/blob/main/cmd/argo/commands/submit.go) |
+| Java | [Java](https://github.com/argoproj/argo-workflows/blob/main/sdks/java) | |
+| Python | ⚠️ deprecated [Python](https://github.com/argoproj/argo-workflows/blob/main/sdks/python) | Use one of the [community-maintained](#community-maintained-client-libraries) instead. Will be removed in version 3.7 |
## Community-maintained client libraries
@@ -24,5 +24,5 @@ The following client libraries are provided and maintained by their authors, not
| Language | Client Library | Examples/Docs |
|----------|---------------------------------------------------------|--------------------------------------------------------------------------|
-| Python | [Couler](https://github.com/couler-proj/couler) | Multi-workflow engine support Python SDK |
| Python | [Hera](https://github.com/argoproj-labs/hera-workflows) | Easy and accessible Argo workflows construction and submission in Python |
+| Python | [Couler](https://github.com/couler-proj/couler) | Multi-workflow engine support Python SDK. May be unmaintained. |
diff --git a/docs/configure-artifact-repository.md b/docs/configure-artifact-repository.md
index 0f565ddab559..44ef704a3a41 100644
--- a/docs/configure-artifact-repository.md
+++ b/docs/configure-artifact-repository.md
@@ -75,16 +75,20 @@ artifacts:
## Configuring AWS S3
-Create your bucket and access keys for the bucket. AWS access keys have the same
-permissions as the user they are associated with. In particular, you cannot
-create access keys with reduced scope. If you want to limit the permissions for
-an access key, you will need to create a user with just the permissions you want
-to associate with the access key. Otherwise, you can just create an access key
-using your existing user account.
+First, create a bucket:
```bash
-$ export mybucket=bucket249
-$ cat > policy.json < policy.json < policy.json < access-key.json
```
-If you do not have Artifact Garbage Collection configured, you should remove `s3:DeleteObject` from the list of Actions above.
+If you do not have [Artifact Garbage Collection](walk-through/artifacts.md#artifact-garbage-collection) configured, you should remove `s3:DeleteObject` from the list of Actions above.
-NOTE: if you want argo to figure out which region your buckets belong in, you
-must additionally set the following statement policy. Otherwise, you must
-specify a bucket region in your workflow configuration.
+
-```json
- {
- "Effect":"Allow",
- "Action":[
- "s3:GetBucketLocation"
- ],
- "Resource":"arn:aws:s3:::*"
- }
- ...
-```
+!!! Note "Region discovery"
+
+ Argo can discover the region of your buckets with the additional policy below.
+ Without this, you must specify the region in your artifact configuration.
+
+ ```json
+ {
+ "Effect":"Allow",
+ "Action":[
+ "s3:GetBucketLocation"
+ ],
+ "Resource":"arn:aws:s3:::*"
+ }
+ ...
+ ```
+
+
-### AWS S3 IRSA
+#### AWS S3 IRSA
+
+IAM Roles for Service Accounts (IRSA) is the recommended Kubernetes native mechanism to authenticate to S3.
+If you are using EKS, follow [the IRSA setup guide](https://docs.aws.amazon.com/eks/latest/userguide/iam-roles-for-service-accounts.html).
+If not, follow the [Pod Identity Webhook self-hosted setup guide](https://github.com/aws/amazon-eks-pod-identity-webhook/blob/master/SELF_HOSTED_SETUP.md).
+
+With the bucket and policy as described above, create an IAM role and add the policy:
+
+```bash
+aws iam create-role --role-name $mybucket-role
+aws iam put-role-policy --role-name $mybucket-user --policy-name $mybucket-policy --policy-document file://policy.json
+```
-If you wish to use S3 IRSA instead of passing in an `accessKey` and `secretKey`, you need to annotate the service account of both the running workflow (in order to save logs/artifacts) and the argo-server pod (in order to retrieve the logs/artifacts).
+Attach this IAM role to a service account with an annotation:
```yaml
apiVersion: v1
kind: ServiceAccount
metadata:
annotations:
- eks.amazonaws.com/role-arn: arn:aws:iam::012345678901:role/mybucket
+ eks.amazonaws.com/role-arn: arn:aws:iam::012345678901:role/mybucket-role
name: myserviceaccount
namespace: mynamespace
```
+Use the service account in a workflow:
+
+```yaml
+apiVersion: argoproj.io/v1alpha1
+kind: Workflow
+spec:
+ serviceAccountName: myserviceaccount
+```
+
+#### AWS S3 with IAM Access Keys
+
+!!! Note "Least privilege user"
+ To reduce the privileges of an access key, create a user with only the necessary permissions and no more.
+
+With the bucket and policy described above, create an IAM user and add the policy:
+
+```bash
+aws iam create-user --user-name $mybucket-user
+aws iam put-user-policy --user-name $mybucket-user --policy-name $mybucket-policy --policy-document file://policy.json
+aws iam create-access-key --user-name $mybucket-user > access-key.json
+```
+
+Configure an artifact with the access keys:
+
+```yaml
+artifacts:
+ - name: my-output-artifact
+ path: /my-output-artifact
+ s3:
+ endpoint: s3.amazonaws.com
+ bucket: my-s3-bucket
+ key: path/in/bucket/my-output-artifact.tgz
+ # The following fields are secret selectors.
+ # They reference the k8s secret named 'my-s3-credentials'.
+ # This secret is expected to have the keys 'accessKey' and 'secretKey',
+ # containing the base64 encoded credentials to the bucket.
+ accessKeySecret:
+ name: my-s3-credentials
+ key: accessKey
+ secretKeySecret:
+ name: my-s3-credentials
+ key: secretKey
+```
+
+#### AWS S3 with IAM Assume Role
+
+> v3.6 and after
+
+You can use an [IAM role](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html) for temporary access.
+
+With the bucket and policy described above, create an IAM role and add the policy:
+
+```bash
+aws iam create-role --role-name $mybucket-role
+aws iam put-role-policy --role-name $mybucket-user --policy-name $mybucket-policy --policy-document file://policy.json
+```
+
+Retrieve the role credentials:
+
+```bash
+aws sts assume-role --role-arn arn:aws:iam::012345678901:role/$mybucket-role
+```
+
+Configure an artifact with the credentials:
+
+```yaml
+artifacts:
+ - name: my-output-artifact
+ path: /my-output-artifact
+ s3:
+ endpoint: s3.amazonaws.com
+ bucket: my-s3-bucket
+ key: path/in/bucket/my-output-artifact.tgz
+ # The following fields are secret selectors.
+ # They reference the k8s secret named 'my-s3-credentials'.
+ # This secret is expected to have the keys 'accessKey', 'secretKey', and 'sessionToken',
+ # containing the base64 encoded credentials to the bucket.
+ accessKeySecret:
+ name: my-s3-credentials
+ key: accessKey
+ secretKeySecret:
+ name: my-s3-credentials
+ key: secretKey
+ sessionTokenSecret:
+ name: my-s3-credentials
+ key: sessionToken
+```
+
+!!! Note "Temporary"
+ IAM role credentials are temporary, so you must refresh them periodically via an external mechanism.
+
+### AWS S3 with S3 Access Grants
+
+> v3.6 and after
+
+You can use [S3 Access Grants](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-grants.html) for temporary, reduced scope access.
+Follow the [AWS guide](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-grants-get-started.html) to set this up in your AWS account and retrieve access grant credentials.
+
+Configure an artifact with the access grant credentials:
+
+```yaml
+artifacts:
+ - name: my-output-artifact
+ path: /my-output-artifact
+ s3:
+ endpoint: s3.amazonaws.com
+ bucket: my-s3-bucket
+ key: path/in/bucket/my-output-artifact.tgz
+ # The following fields are secret selectors.
+ # They reference the k8s secret named 'my-s3-credentials'.
+ # This secret is expected to have the keys 'accessKey', 'secretKey', and 'sessionToken',
+ # containing the base64 encoded credentials to the bucket.
+ accessKeySecret:
+ name: my-s3-credentials
+ key: accessKey
+ secretKeySecret:
+ name: my-s3-credentials
+ key: secretKey
+ sessionTokenSecret:
+ name: my-s3-credentials
+ key: sessionToken
+```
+
+!!! Note "Temporary"
+ S3 Access Grants are temporary, so you must refresh them periodically via an external mechanism.
+
## Configuring GCS (Google Cloud Storage)
Create a bucket from the GCP Console
diff --git a/docs/cron-workflows.md b/docs/cron-workflows.md
index 6bdbbca09876..cdc7b440420c 100644
--- a/docs/cron-workflows.md
+++ b/docs/cron-workflows.md
@@ -43,14 +43,16 @@ You can use `CronWorkflow.spec.workflowMetadata` to add `labels` and `annotation
| Option Name | Default Value | Description |
|:----------------------------:|:----------------------:|-------------|
-| `schedule` | None, must be provided | [Cron schedule](#cron-schedule-syntax) to run `Workflows`. Example: `5 4 * * *` |
+| `schedule` | None | [Cron schedule](#cron-schedule-syntax) to run `Workflows`. Example: `5 4 * * *`. Deprecated, use `schedules`. |
+| `schedules` | None | v3.6 and after: List of [Cron schedules](#cron-schedule-syntax) to run `Workflows`. Example: `5 4 * * *`, `0 1 * * *`. Either `schedule` or `schedules` must be provided. |
| `timezone` | Machine timezone | [IANA Timezone](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones) to run `Workflows`. Example: `America/Los_Angeles` |
| `suspend` | `false` | If `true` Workflow scheduling will not occur. Can be set from the CLI, GitOps, or directly |
| `concurrencyPolicy` | `Allow` | What to do if multiple `Workflows` are scheduled at the same time. `Allow`: allow all, `Replace`: remove all old before scheduling new, `Forbid`: do not allow any new while there are old |
| `startingDeadlineSeconds` | `0` | Seconds after [the last scheduled time](#crash-recovery) during which a missed `Workflow` will still be run. |
| `successfulJobsHistoryLimit` | `3` | Number of successful `Workflows` to persist |
| `failedJobsHistoryLimit` | `1` | Number of failed `Workflows` to persist |
-| `stopStrategy` | `nil` | v3.6 and after: defines if the CronWorkflow should stop scheduling based on a condition |
+| `stopStrategy.expression` | `nil` | v3.6 and after: defines if the CronWorkflow should stop scheduling based on an expression, which if present must evaluate to false for the workflow to be created |
+| `when` | None | v3.6 and after: An optional [expression](walk-through/conditionals.md) which will be evaluated on each cron schedule hit and the workflow will only run if it evaluates to `true` |
### Cron Schedule Syntax
@@ -108,35 +110,70 @@ For example, with `timezone: America/Los_Angeles`:
| | 2 | 2020-11-02 02:01:00 -0800 PST |
| | 3 | 2020-11-03 02:01:00 -0800 PST |
+#### Skip forward (missing schedule)
+
+You can use `when` to schedule once per day, even if the time you want is in a daylight saving skip forward period where it would otherwise be scheduled twice.
+
+An example 02:30:00 schedule
+
+```yaml
+schedules:
+ - 30 2 * * *
+ - 0 3 * * *
+when: "{{= cronworkflow.lastScheduledTime == nil || (now() - cronworkflow.lastScheduledTime).Seconds() > 3600 }}"
+```
+
+The 3:00 run of the schedule will not be scheduled every day of the year except on the day when the clock leaps forward over 2:30.
+The `when` expression prevents this workflow from running more than once an hour.
+In that case the 3:00 run will run, as 2:30 was skipped over.
+
+!!! Warning "Can run at 3:00"
+ If you create this CronWorkflow between the desired time and 3:00 it will run at 3:00 as it has never run before.
+
+#### Skip backwards (duplication)
+
+You can use `when` to schedule once per day, even if the time you want is in a daylight saving skip backwards period where it would otherwise not be scheduled.
+
+An example 01:30:00 schedule
+
+```yaml
+schedules:
+ - 30 1 * * *
+when: "{{= cronworkflow.lastScheduledTime == nil || (now() - cronworkflow.lastScheduledTime).Seconds() > 7200 }}"
+```
+
+This will schedule at the first 01:30 on a skip backwards change.
+The second will not run because of the `when` expression, which prevents this workflow running more often than once every 2 hours..
+
### Automatically Stopping a `CronWorkflow`
> v3.6 and after
You can configure a `CronWorkflow` to automatically stop based on an [expression](variables.md#expression) with `stopStrategy.condition`.
-You can use the [variables](variables.md#stopstrategy) `failed` and `succeeded`.
+You can use the [variables](variables.md#cronworkflows) `cronworkflow.failed` and `cronworkflow.succeede2d`.
For example, if you want to stop scheduling new workflows after one success:
```yaml
stopStrategy:
- condition: "succeeded >= 1"
+ expression: "cronworkflow.succeeded >= 1"
```
You can also stop scheduling new workflows after three failures with:
```yaml
stopStrategy:
- condition: "failed >= 3"
+ expression: "cronworkflow.failed >= 3"
```
!!! Warning "Scheduling vs. Completions"
Depending on the time it takes to schedule and run a workflow, the number of completions can exceed the configured maximum.
- For example, if you configure the `CronWorkflow` to schedule every minute (`* * * * *`) and stop after one success (`succeeded >= 1`).
+ For example, if you configure the `CronWorkflow` to schedule every minute (`* * * * *`) and stop after one success (`cronworkflow.succeeded >= 1`).
If the `Workflow` takes 90 seconds to run, the `CronWorkflow` will actually stop after two completions.
This is because when the stopping condition is achieved, there is _already_ another `Workflow` running.
- For that reason, prefer conditions like `succeeded >= 1` over `succeeded == 1`.
+ For that reason, prefer conditions like `cronworkflow.succeeded >= 1` over `cronworkflow.succeeded == 1`.
## Managing `CronWorkflow`
@@ -150,26 +187,26 @@ $ argo cron create cron.yaml
Name: test-cron-wf
Namespace: argo
Created: Mon Nov 18 10:17:06 -0800 (now)
-Schedule: * * * * *
+Schedules: * * * * *
Suspended: false
StartingDeadlineSeconds: 0
ConcurrencyPolicy: Forbid
$ argo cron list
-NAME AGE LAST RUN SCHEDULE SUSPENDED
+NAME AGE LAST RUN SCHEDULES SUSPENDED
test-cron-wf 49s N/A * * * * * false
# some time passes
$ argo cron list
-NAME AGE LAST RUN SCHEDULE SUSPENDED
+NAME AGE LAST RUN SCHEDULES SUSPENDED
test-cron-wf 56s 2s * * * * * false
$ argo cron get test-cron-wf
Name: test-cron-wf
Namespace: argo
Created: Wed Oct 28 07:19:02 -0600 (23 hours ago)
-Schedule: * * * * *
+Schedules: * * * * *
Suspended: false
StartingDeadlineSeconds: 0
ConcurrencyPolicy: Replace
diff --git a/docs/deprecations.md b/docs/deprecations.md
new file mode 100644
index 000000000000..b830701e6794
--- /dev/null
+++ b/docs/deprecations.md
@@ -0,0 +1,75 @@
+# Deprecations
+
+Sometimes a feature of Argo Workflows is deprecated.
+You should stop using a deprecated feature as it may be removed in a future minor or major release of Argo Workflows.
+
+To determine if you are using a deprecated feature the [`deprecated_feature`](metrics.md#deprecated_feature) metric can help.
+This metric will go up for each use of a deprecated feature by the workflow controller.
+This means it may go up once or many times for a single event.
+If the number is going up the feature is still in use by your system.
+If the metric is not present or no longer increasing are no longer using the monitored deprecated features.
+
+## `cronworkflow schedule`
+
+The spec field `schedule` which takes a single value is replaced by `schedules` which takes a list.
+To update this replace the `schedule` with `schedules` as in the following example
+
+```yaml
+spec:
+ schedule: "30 1 * * *"
+```
+
+is replaced with
+
+```yaml
+spec:
+ schedules:
+ - "30 1 * * *"
+```
+
+## `synchronization mutex`
+
+The synchronization field `mutex` which takes a single value is replaced by `mutexes` which takes a list.
+To update this replace `mutex` with `mutexes` as in the following example
+
+```yaml
+synchronization:
+ mutex:
+ name: foobar
+```
+
+is replaced with
+
+```yaml
+synchronization:
+ mutexes:
+ - name: foobar
+```
+
+## `synchronization semaphore`
+
+The synchronization field `semaphore` which takes a single value is replaced by `semaphores` which takes a list.
+To update this replace `semaphore` with `semaphores` as in the following example
+
+```yaml
+synchronization:
+ semaphore:
+ configMapKeyRef:
+ name: my-config
+ key: workflow
+```
+
+is replaced with
+
+```yaml
+synchronization:
+ semaphores:
+ - configMapKeyRef:
+ name: my-config
+ key: workflow
+```
+
+## `workflow podpriority`
+
+The Workflow spec field `podPriority` which takes a numeric value is deprecated and `podPriorityClassName` should be used instead.
+To update this you will need a [PriorityClass](https://kubernetes.io/docs/concepts/scheduling-eviction/pod-priority-preemption/#priorityclass) in your cluster and refer to that using `podPriorityClassName`.
diff --git a/docs/environment-variables.md b/docs/environment-variables.md
index 66f0145724e5..bcb2d409e604 100644
--- a/docs/environment-variables.md
+++ b/docs/environment-variables.md
@@ -45,7 +45,7 @@ This document outlines environment variables that can be used to customize behav
| `OPERATION_DURATION_METRIC_BUCKET_COUNT` | `int` | `6` | The number of buckets to collect the metric for the operation duration. |
| `POD_NAMES` | `string` | `v2` | Whether to have pod names contain the template name (v2) or be the node id (v1) - should be set the same for Argo Server. |
| `RECENTLY_STARTED_POD_DURATION` | `time.Duration` | `10s` | The duration of a pod before the pod is considered to be recently started. |
-| `RECENTLY_DELETED_POD_DURATION` | `time.Duration` | `10s` | The duration of a pod before the pod is considered to be recently deleted. |
+| `RECENTLY_DELETED_POD_DURATION` | `time.Duration` | `2m` | The duration of a pod before the pod is considered to be recently deleted. |
| `RETRY_BACKOFF_DURATION` | `time.Duration` | `10ms` | The retry back-off duration when retrying API calls. |
| `RETRY_BACKOFF_FACTOR` | `float` | `2.0` | The retry back-off factor when retrying API calls. |
| `RETRY_BACKOFF_STEPS` | `int` | `5` | The retry back-off steps when retrying API calls. |
@@ -55,6 +55,7 @@ This document outlines environment variables that can be used to customize behav
| `WORKFLOW_GC_PERIOD` | `time.Duration` | `5m` | The periodicity for GC of workflows. |
| `SEMAPHORE_NOTIFY_DELAY` | `time.Duration` | `1s` | Tuning Delay when notifying semaphore waiters about availability in the semaphore |
| `WATCH_CONTROLLER_SEMAPHORE_CONFIGMAPS` | `bool` | `true` | Whether to watch the Controller's ConfigMap and semaphore ConfigMaps for run-time changes. When disabled, the Controller will only read these ConfigMaps once and will have to be manually restarted to pick up new changes. |
+| `SKIP_WORKFLOW_DURATION_ESTIMATION` | `bool` | `false` | Whether to lookup resource usage from prior workflows to estimate usage for new workflows. |
CLI parameters of the Controller can be specified as environment variables with the `ARGO_` prefix.
For example:
diff --git a/docs/executor_swagger.md b/docs/executor_swagger.md
index fa9a7a291d6e..622463a7300e 100644
--- a/docs/executor_swagger.md
+++ b/docs/executor_swagger.md
@@ -130,6 +130,39 @@ It will marshall back to string - marshalling is not symmetric.
+### AppArmorProfile
+
+
+> +union
+
+
+
+
+
+
+**Properties**
+
+| Name | Type | Go type | Required | Default | Description | Example |
+|------|------|---------|:--------:| ------- |-------------|---------|
+| localhostProfile | string| `string` | | | localhostProfile indicates a profile loaded on the node that should be used.The profile must be preconfigured on the node to work.Must match the loaded name of the profile.Must be set if and only if type is "Localhost".+optional | |
+| type | [AppArmorProfileType](#app-armor-profile-type)| `AppArmorProfileType` | | | | |
+
+
+
+### AppArmorProfileType
+
+
+> +enum
+
+
+
+
+| Name | Type | Go type | Default | Description | Example |
+|------|------|---------| ------- |-------------|---------|
+| AppArmorProfileType | string| string | | +enum | |
+
+
+
### ArchiveStrategy
@@ -511,8 +544,8 @@ of a single workflow step, which the executor will use as a default location to
| Name | Type | Go type | Required | Default | Description | Example |
|------|------|---------|:--------:| ------- |-------------|---------|
-| add | [][Capability](#capability)| `[]Capability` | | | Added capabilities+optional | |
-| drop | [][Capability](#capability)| `[]Capability` | | | Removed capabilities+optional | |
+| add | [][Capability](#capability)| `[]Capability` | | | Added capabilities+optional+listType=atomic | |
+| drop | [][Capability](#capability)| `[]Capability` | | | Removed capabilities+optional+listType=atomic | |
@@ -545,7 +578,7 @@ Cephfs volumes do not support ownership management or SELinux relabeling.
| Name | Type | Go type | Required | Default | Description | Example |
|------|------|---------|:--------:| ------- |-------------|---------|
-| monitors | []string| `[]string` | | | monitors is Required: Monitors is a collection of Ceph monitorsMore info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it | |
+| monitors | []string| `[]string` | | | monitors is Required: Monitors is a collection of Ceph monitorsMore info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it+listType=atomic | |
| path | string| `string` | | | path is Optional: Used as the mounted root, rather than the full Ceph tree, default is /+optional | |
| readOnly | boolean| `bool` | | | readOnly is Optional: Defaults to false (read/write). ReadOnly here will forcethe ReadOnly setting in VolumeMounts.More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it+optional | |
| secretFile | string| `string` | | | secretFile is Optional: SecretFile is the path to key ring for User, default is /etc/ceph/user.secretMore info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it+optional | |
@@ -596,6 +629,30 @@ Cinder volumes support ownership management and SELinux relabeling.
+### ClusterTrustBundleProjection
+
+
+> ClusterTrustBundleProjection describes how to select a set of
+ClusterTrustBundle objects and project their contents into the pod
+filesystem.
+
+
+
+
+
+
+**Properties**
+
+| Name | Type | Go type | Required | Default | Description | Example |
+|------|------|---------|:--------:| ------- |-------------|---------|
+| labelSelector | [LabelSelector](#label-selector)| `LabelSelector` | | | | |
+| name | string| `string` | | | Select a single ClusterTrustBundle by object name. Mutually-exclusivewith signerName and labelSelector.+optional | |
+| optional | boolean| `bool` | | | If true, don't block pod startup if the referenced ClusterTrustBundle(s)aren't available. If using name, then the named ClusterTrustBundle isallowed not to exist. If using signerName, then the combination ofsignerName and labelSelector is allowed to match zeroClusterTrustBundles.+optional | |
+| path | string| `string` | | | Relative path from the volume root to write the bundle. | |
+| signerName | string| `string` | | | Select all ClusterTrustBundles that match this signer name.Mutually-exclusive with name. The contents of all selectedClusterTrustBundles will be unified and deduplicated.+optional | |
+
+
+
### ConfigMapEnvSource
@@ -611,7 +668,7 @@ key-value pairs as environment variables.
| Name | Type | Go type | Required | Default | Description | Example |
|------|------|---------|:--------:| ------- |-------------|---------|
-| name | string| `string` | | | Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?+optional | |
+| name | string| `string` | | | Name of the referent.This field is effectively required, but due to backwards compatibility isallowed to be empty. Instances of this type with an empty value here arealmost certainly wrong.TODO: Add other useful fields. apiVersion, kind, uid?More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names+optional+default=""+kubebuilder:default=""TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896. | |
| optional | boolean| `bool` | | | Specify whether the ConfigMap must be defined+optional | |
@@ -631,7 +688,7 @@ key-value pairs as environment variables.
| Name | Type | Go type | Required | Default | Description | Example |
|------|------|---------|:--------:| ------- |-------------|---------|
| key | string| `string` | | | The key to select. | |
-| name | string| `string` | | | Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?+optional | |
+| name | string| `string` | | | Name of the referent.This field is effectively required, but due to backwards compatibility isallowed to be empty. Instances of this type with an empty value here arealmost certainly wrong.TODO: Add other useful fields. apiVersion, kind, uid?More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names+optional+default=""+kubebuilder:default=""TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896. | |
| optional | boolean| `bool` | | | Specify whether the ConfigMap or its key must be defined+optional | |
@@ -654,8 +711,8 @@ mode.
| Name | Type | Go type | Required | Default | Description | Example |
|------|------|---------|:--------:| ------- |-------------|---------|
-| items | [][KeyToPath](#key-to-path)| `[]*KeyToPath` | | | items if unspecified, each key-value pair in the Data field of the referencedConfigMap will be projected into the volume as a file whose name is thekey and content is the value. If specified, the listed keys will beprojected into the specified paths, and unlisted keys will not bepresent. If a key is specified which is not present in the ConfigMap,the volume setup will error unless it is marked optional. Paths must berelative and may not contain the '..' path or start with '..'.+optional | |
-| name | string| `string` | | | Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?+optional | |
+| items | [][KeyToPath](#key-to-path)| `[]*KeyToPath` | | | items if unspecified, each key-value pair in the Data field of the referencedConfigMap will be projected into the volume as a file whose name is thekey and content is the value. If specified, the listed keys will beprojected into the specified paths, and unlisted keys will not bepresent. If a key is specified which is not present in the ConfigMap,the volume setup will error unless it is marked optional. Paths must berelative and may not contain the '..' path or start with '..'.+optional+listType=atomic | |
+| name | string| `string` | | | Name of the referent.This field is effectively required, but due to backwards compatibility isallowed to be empty. Instances of this type with an empty value here arealmost certainly wrong.TODO: Add other useful fields. apiVersion, kind, uid?More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names+optional+default=""+kubebuilder:default=""TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896. | |
| optional | boolean| `bool` | | | optional specify whether the ConfigMap or its keys must be defined+optional | |
@@ -678,8 +735,8 @@ ConfigMap volumes support ownership management and SELinux relabeling.
| Name | Type | Go type | Required | Default | Description | Example |
|------|------|---------|:--------:| ------- |-------------|---------|
| defaultMode | int32 (formatted integer)| `int32` | | | defaultMode is optional: mode bits used to set permissions on created files by default.Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511.YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.Defaults to 0644.Directories within the path are not affected by this setting.This might be in conflict with other options that affect the filemode, like fsGroup, and the result can be other mode bits set.+optional | |
-| items | [][KeyToPath](#key-to-path)| `[]*KeyToPath` | | | items if unspecified, each key-value pair in the Data field of the referencedConfigMap will be projected into the volume as a file whose name is thekey and content is the value. If specified, the listed keys will beprojected into the specified paths, and unlisted keys will not bepresent. If a key is specified which is not present in the ConfigMap,the volume setup will error unless it is marked optional. Paths must berelative and may not contain the '..' path or start with '..'.+optional | |
-| name | string| `string` | | | Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?+optional | |
+| items | [][KeyToPath](#key-to-path)| `[]*KeyToPath` | | | items if unspecified, each key-value pair in the Data field of the referencedConfigMap will be projected into the volume as a file whose name is thekey and content is the value. If specified, the listed keys will beprojected into the specified paths, and unlisted keys will not bepresent. If a key is specified which is not present in the ConfigMap,the volume setup will error unless it is marked optional. Paths must berelative and may not contain the '..' path or start with '..'.+optional+listType=atomic | |
+| name | string| `string` | | | Name of the referent.This field is effectively required, but due to backwards compatibility isallowed to be empty. Instances of this type with an empty value here arealmost certainly wrong.TODO: Add other useful fields. apiVersion, kind, uid?More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names+optional+default=""+kubebuilder:default=""TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896. | |
| optional | boolean| `bool` | | | optional specify whether the ConfigMap or its keys must be defined+optional | |
@@ -695,10 +752,10 @@ ConfigMap volumes support ownership management and SELinux relabeling.
| Name | Type | Go type | Required | Default | Description | Example |
|------|------|---------|:--------:| ------- |-------------|---------|
-| args | []string| `[]string` | | | Arguments to the entrypoint.The container image's CMD is used if this is not provided.Variable references $(VAR_NAME) are expanded using the container's environment. If a variablecannot be resolved, the reference in the input string will be unchanged. Double $$ are reducedto a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" willproduce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardlessof whether the variable exists or not. Cannot be updated.More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell+optional | |
-| command | []string| `[]string` | | | Entrypoint array. Not executed within a shell.The container image's ENTRYPOINT is used if this is not provided.Variable references $(VAR_NAME) are expanded using the container's environment. If a variablecannot be resolved, the reference in the input string will be unchanged. Double $$ are reducedto a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" willproduce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardlessof whether the variable exists or not. Cannot be updated.More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell+optional | |
-| env | [][EnvVar](#env-var)| `[]*EnvVar` | | | List of environment variables to set in the container.Cannot be updated.+optional+patchMergeKey=name+patchStrategy=merge | |
-| envFrom | [][EnvFromSource](#env-from-source)| `[]*EnvFromSource` | | | List of sources to populate environment variables in the container.The keys defined within a source must be a C_IDENTIFIER. All invalid keyswill be reported as an event when the container is starting. When a key exists in multiplesources, the value associated with the last source will take precedence.Values defined by an Env with a duplicate key will take precedence.Cannot be updated.+optional | |
+| args | []string| `[]string` | | | Arguments to the entrypoint.The container image's CMD is used if this is not provided.Variable references $(VAR_NAME) are expanded using the container's environment. If a variablecannot be resolved, the reference in the input string will be unchanged. Double $$ are reducedto a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" willproduce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardlessof whether the variable exists or not. Cannot be updated.More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell+optional+listType=atomic | |
+| command | []string| `[]string` | | | Entrypoint array. Not executed within a shell.The container image's ENTRYPOINT is used if this is not provided.Variable references $(VAR_NAME) are expanded using the container's environment. If a variablecannot be resolved, the reference in the input string will be unchanged. Double $$ are reducedto a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" willproduce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardlessof whether the variable exists or not. Cannot be updated.More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell+optional+listType=atomic | |
+| env | [][EnvVar](#env-var)| `[]*EnvVar` | | | List of environment variables to set in the container.Cannot be updated.+optional+patchMergeKey=name+patchStrategy=merge+listType=map+listMapKey=name | |
+| envFrom | [][EnvFromSource](#env-from-source)| `[]*EnvFromSource` | | | List of sources to populate environment variables in the container.The keys defined within a source must be a C_IDENTIFIER. All invalid keyswill be reported as an event when the container is starting. When a key exists in multiplesources, the value associated with the last source will take precedence.Values defined by an Env with a duplicate key will take precedence.Cannot be updated.+optional+listType=atomic | |
| image | string| `string` | | | Container image name.More info: https://kubernetes.io/docs/concepts/containers/imagesThis field is optional to allow higher level config management to default or overridecontainer images in workload controllers like Deployments and StatefulSets.+optional | |
| imagePullPolicy | [PullPolicy](#pull-policy)| `PullPolicy` | | | | |
| lifecycle | [Lifecycle](#lifecycle)| `Lifecycle` | | | | |
@@ -706,7 +763,9 @@ ConfigMap volumes support ownership management and SELinux relabeling.
| name | string| `string` | | | Name of the container specified as a DNS_LABEL.Each container in a pod must have a unique name (DNS_LABEL).Cannot be updated. | |
| ports | [][ContainerPort](#container-port)| `[]*ContainerPort` | | | List of ports to expose from the container. Not specifying a port hereDOES NOT prevent that port from being exposed. Any port which islistening on the default "0.0.0.0" address inside a container will beaccessible from the network.Modifying this array with strategic merge patch may corrupt the data.For more information See https://github.com/kubernetes/kubernetes/issues/108255.Cannot be updated.+optional+patchMergeKey=containerPort+patchStrategy=merge+listType=map+listMapKey=containerPort+listMapKey=protocol | |
| readinessProbe | [Probe](#probe)| `Probe` | | | | |
+| resizePolicy | [][ContainerResizePolicy](#container-resize-policy)| `[]*ContainerResizePolicy` | | | Resources resize policy for the container.+featureGate=InPlacePodVerticalScaling+optional+listType=atomic | |
| resources | [ResourceRequirements](#resource-requirements)| `ResourceRequirements` | | | | |
+| restartPolicy | [ContainerRestartPolicy](#container-restart-policy)| `ContainerRestartPolicy` | | | | |
| securityContext | [SecurityContext](#security-context)| `SecurityContext` | | | | |
| startupProbe | [Probe](#probe)| `Probe` | | | | |
| stdin | boolean| `bool` | | | Whether this container should allocate a buffer for stdin in the container runtime. If thisis not set, reads from stdin in the container will always result in EOF.Default is false.+optional | |
@@ -714,8 +773,8 @@ ConfigMap volumes support ownership management and SELinux relabeling.
| terminationMessagePath | string| `string` | | | Optional: Path at which the file to which the container's termination messagewill be written is mounted into the container's filesystem.Message written is intended to be brief final status, such as an assertion failure message.Will be truncated by the node if greater than 4096 bytes. The total message length acrossall containers will be limited to 12kb.Defaults to /dev/termination-log.Cannot be updated.+optional | |
| terminationMessagePolicy | [TerminationMessagePolicy](#termination-message-policy)| `TerminationMessagePolicy` | | | | |
| tty | boolean| `bool` | | | Whether this container should allocate a TTY for itself, also requires 'stdin' to be true.Default is false.+optional | |
-| volumeDevices | [][VolumeDevice](#volume-device)| `[]*VolumeDevice` | | | volumeDevices is the list of block devices to be used by the container.+patchMergeKey=devicePath+patchStrategy=merge+optional | |
-| volumeMounts | [][VolumeMount](#volume-mount)| `[]*VolumeMount` | | | Pod volumes to mount into the container's filesystem.Cannot be updated.+optional+patchMergeKey=mountPath+patchStrategy=merge | |
+| volumeDevices | [][VolumeDevice](#volume-device)| `[]*VolumeDevice` | | | volumeDevices is the list of block devices to be used by the container.+patchMergeKey=devicePath+patchStrategy=merge+listType=map+listMapKey=devicePath+optional | |
+| volumeMounts | [][VolumeMount](#volume-mount)| `[]*VolumeMount` | | | Pod volumes to mount into the container's filesystem.Cannot be updated.+optional+patchMergeKey=mountPath+patchStrategy=merge+listType=map+listMapKey=mountPath | |
| workingDir | string| `string` | | | Container's working directory.If not specified, the container runtime's default will be used, whichmight be configured in the container image.Cannot be updated.+optional | |
@@ -731,11 +790,11 @@ ConfigMap volumes support ownership management and SELinux relabeling.
| Name | Type | Go type | Required | Default | Description | Example |
|------|------|---------|:--------:| ------- |-------------|---------|
-| args | []string| `[]string` | | | Arguments to the entrypoint.The container image's CMD is used if this is not provided.Variable references $(VAR_NAME) are expanded using the container's environment. If a variablecannot be resolved, the reference in the input string will be unchanged. Double $$ are reducedto a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" willproduce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardlessof whether the variable exists or not. Cannot be updated.More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell+optional | |
-| command | []string| `[]string` | | | Entrypoint array. Not executed within a shell.The container image's ENTRYPOINT is used if this is not provided.Variable references $(VAR_NAME) are expanded using the container's environment. If a variablecannot be resolved, the reference in the input string will be unchanged. Double $$ are reducedto a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" willproduce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardlessof whether the variable exists or not. Cannot be updated.More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell+optional | |
+| args | []string| `[]string` | | | Arguments to the entrypoint.The container image's CMD is used if this is not provided.Variable references $(VAR_NAME) are expanded using the container's environment. If a variablecannot be resolved, the reference in the input string will be unchanged. Double $$ are reducedto a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" willproduce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardlessof whether the variable exists or not. Cannot be updated.More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell+optional+listType=atomic | |
+| command | []string| `[]string` | | | Entrypoint array. Not executed within a shell.The container image's ENTRYPOINT is used if this is not provided.Variable references $(VAR_NAME) are expanded using the container's environment. If a variablecannot be resolved, the reference in the input string will be unchanged. Double $$ are reducedto a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" willproduce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardlessof whether the variable exists or not. Cannot be updated.More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell+optional+listType=atomic | |
| dependencies | []string| `[]string` | | | | |
-| env | [][EnvVar](#env-var)| `[]*EnvVar` | | | List of environment variables to set in the container.Cannot be updated.+optional+patchMergeKey=name+patchStrategy=merge | |
-| envFrom | [][EnvFromSource](#env-from-source)| `[]*EnvFromSource` | | | List of sources to populate environment variables in the container.The keys defined within a source must be a C_IDENTIFIER. All invalid keyswill be reported as an event when the container is starting. When a key exists in multiplesources, the value associated with the last source will take precedence.Values defined by an Env with a duplicate key will take precedence.Cannot be updated.+optional | |
+| env | [][EnvVar](#env-var)| `[]*EnvVar` | | | List of environment variables to set in the container.Cannot be updated.+optional+patchMergeKey=name+patchStrategy=merge+listType=map+listMapKey=name | |
+| envFrom | [][EnvFromSource](#env-from-source)| `[]*EnvFromSource` | | | List of sources to populate environment variables in the container.The keys defined within a source must be a C_IDENTIFIER. All invalid keyswill be reported as an event when the container is starting. When a key exists in multiplesources, the value associated with the last source will take precedence.Values defined by an Env with a duplicate key will take precedence.Cannot be updated.+optional+listType=atomic | |
| image | string| `string` | | | Container image name.More info: https://kubernetes.io/docs/concepts/containers/imagesThis field is optional to allow higher level config management to default or overridecontainer images in workload controllers like Deployments and StatefulSets.+optional | |
| imagePullPolicy | [PullPolicy](#pull-policy)| `PullPolicy` | | | | |
| lifecycle | [Lifecycle](#lifecycle)| `Lifecycle` | | | | |
@@ -743,7 +802,9 @@ ConfigMap volumes support ownership management and SELinux relabeling.
| name | string| `string` | | | Name of the container specified as a DNS_LABEL.Each container in a pod must have a unique name (DNS_LABEL).Cannot be updated. | |
| ports | [][ContainerPort](#container-port)| `[]*ContainerPort` | | | List of ports to expose from the container. Not specifying a port hereDOES NOT prevent that port from being exposed. Any port which islistening on the default "0.0.0.0" address inside a container will beaccessible from the network.Modifying this array with strategic merge patch may corrupt the data.For more information See https://github.com/kubernetes/kubernetes/issues/108255.Cannot be updated.+optional+patchMergeKey=containerPort+patchStrategy=merge+listType=map+listMapKey=containerPort+listMapKey=protocol | |
| readinessProbe | [Probe](#probe)| `Probe` | | | | |
+| resizePolicy | [][ContainerResizePolicy](#container-resize-policy)| `[]*ContainerResizePolicy` | | | Resources resize policy for the container.+featureGate=InPlacePodVerticalScaling+optional+listType=atomic | |
| resources | [ResourceRequirements](#resource-requirements)| `ResourceRequirements` | | | | |
+| restartPolicy | [ContainerRestartPolicy](#container-restart-policy)| `ContainerRestartPolicy` | | | | |
| securityContext | [SecurityContext](#security-context)| `SecurityContext` | | | | |
| startupProbe | [Probe](#probe)| `Probe` | | | | |
| stdin | boolean| `bool` | | | Whether this container should allocate a buffer for stdin in the container runtime. If thisis not set, reads from stdin in the container will always result in EOF.Default is false.+optional | |
@@ -751,8 +812,8 @@ ConfigMap volumes support ownership management and SELinux relabeling.
| terminationMessagePath | string| `string` | | | Optional: Path at which the file to which the container's termination messagewill be written is mounted into the container's filesystem.Message written is intended to be brief final status, such as an assertion failure message.Will be truncated by the node if greater than 4096 bytes. The total message length acrossall containers will be limited to 12kb.Defaults to /dev/termination-log.Cannot be updated.+optional | |
| terminationMessagePolicy | [TerminationMessagePolicy](#termination-message-policy)| `TerminationMessagePolicy` | | | | |
| tty | boolean| `bool` | | | Whether this container should allocate a TTY for itself, also requires 'stdin' to be true.Default is false.+optional | |
-| volumeDevices | [][VolumeDevice](#volume-device)| `[]*VolumeDevice` | | | volumeDevices is the list of block devices to be used by the container.+patchMergeKey=devicePath+patchStrategy=merge+optional | |
-| volumeMounts | [][VolumeMount](#volume-mount)| `[]*VolumeMount` | | | Pod volumes to mount into the container's filesystem.Cannot be updated.+optional+patchMergeKey=mountPath+patchStrategy=merge | |
+| volumeDevices | [][VolumeDevice](#volume-device)| `[]*VolumeDevice` | | | volumeDevices is the list of block devices to be used by the container.+patchMergeKey=devicePath+patchStrategy=merge+listType=map+listMapKey=devicePath+optional | |
+| volumeMounts | [][VolumeMount](#volume-mount)| `[]*VolumeMount` | | | Pod volumes to mount into the container's filesystem.Cannot be updated.+optional+patchMergeKey=mountPath+patchStrategy=merge+listType=map+listMapKey=mountPath | |
| workingDir | string| `string` | | | Container's working directory.If not specified, the container runtime's default will be used, whichmight be configured in the container image.Cannot be updated.+optional | |
@@ -776,6 +837,36 @@ ConfigMap volumes support ownership management and SELinux relabeling.
+### ContainerResizePolicy
+
+
+
+
+
+
+**Properties**
+
+| Name | Type | Go type | Required | Default | Description | Example |
+|------|------|---------|:--------:| ------- |-------------|---------|
+| resourceName | [ResourceName](#resource-name)| `ResourceName` | | | | |
+| restartPolicy | [ResourceResizeRestartPolicy](#resource-resize-restart-policy)| `ResourceResizeRestartPolicy` | | | | |
+
+
+
+### ContainerRestartPolicy
+
+
+> This may only be set for init containers and only allowed value is "Always".
+
+
+
+
+| Name | Type | Go type | Default | Description | Example |
+|------|------|---------| ------- |-------------|---------|
+| ContainerRestartPolicy | string| string | | This may only be set for init containers and only allowed value is "Always". | |
+
+
+
### ContainerSetRetryStrategy
@@ -970,7 +1061,7 @@ mode.
| Name | Type | Go type | Required | Default | Description | Example |
|------|------|---------|:--------:| ------- |-------------|---------|
-| items | [][DownwardAPIVolumeFile](#downward-api-volume-file)| `[]*DownwardAPIVolumeFile` | | | Items is a list of DownwardAPIVolume file+optional | |
+| items | [][DownwardAPIVolumeFile](#downward-api-volume-file)| `[]*DownwardAPIVolumeFile` | | | Items is a list of DownwardAPIVolume file+optional+listType=atomic | |
@@ -1010,7 +1101,7 @@ mode.
| Name | Type | Go type | Required | Default | Description | Example |
|------|------|---------|:--------:| ------- |-------------|---------|
| defaultMode | int32 (formatted integer)| `int32` | | | Optional: mode bits to use on created files by default. Must be aOptional: mode bits used to set permissions on created files by default.Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511.YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.Defaults to 0644.Directories within the path are not affected by this setting.This might be in conflict with other options that affect the filemode, like fsGroup, and the result can be other mode bits set.+optional | |
-| items | [][DownwardAPIVolumeFile](#downward-api-volume-file)| `[]*DownwardAPIVolumeFile` | | | Items is a list of downward API volume file+optional | |
+| items | [][DownwardAPIVolumeFile](#downward-api-volume-file)| `[]*DownwardAPIVolumeFile` | | | Items is a list of downward API volume file+optional+listType=atomic | |
@@ -1126,7 +1217,7 @@ can be used as map keys in json.
| Name | Type | Go type | Required | Default | Description | Example |
|------|------|---------|:--------:| ------- |-------------|---------|
-| command | []string| `[]string` | | | Command is the command line to execute inside the container, the working directory for thecommand is root ('/') in the container's filesystem. The command is simply exec'd, it isnot run inside a shell, so traditional shell instructions ('|', etc) won't work. To usea shell, you need to explicitly call out to that shell.Exit status of 0 is treated as live/healthy and non-zero is unhealthy.+optional | |
+| command | []string| `[]string` | | | Command is the command line to execute inside the container, the working directory for thecommand is root ('/') in the container's filesystem. The command is simply exec'd, it isnot run inside a shell, so traditional shell instructions ('|', etc) won't work. To usea shell, you need to explicitly call out to that shell.Exit status of 0 is treated as live/healthy and non-zero is unhealthy.+optional+listType=atomic | |
@@ -1195,8 +1286,8 @@ Fibre Channel volumes support ownership management and SELinux relabeling.
| fsType | string| `string` | | | fsType is the filesystem type to mount.Must be a filesystem type supported by the host operating system.Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.TODO: how do we prevent errors in the filesystem from compromising the machine+optional | |
| lun | int32 (formatted integer)| `int32` | | | lun is Optional: FC target lun number+optional | |
| readOnly | boolean| `bool` | | | readOnly is Optional: Defaults to false (read/write). ReadOnly here will forcethe ReadOnly setting in VolumeMounts.+optional | |
-| targetWWNs | []string| `[]string` | | | targetWWNs is Optional: FC target worldwide names (WWNs)+optional | |
-| wwids | []string| `[]string` | | | wwids Optional: FC volume world wide identifiers (wwids)Either wwids or combination of targetWWNs and lun must be set, but not both simultaneously.+optional | |
+| targetWWNs | []string| `[]string` | | | targetWWNs is Optional: FC target worldwide names (WWNs)+optional+listType=atomic | |
+| wwids | []string| `[]string` | | | wwids Optional: FC volume world wide identifiers (wwids)Either wwids or combination of targetWWNs and lun must be set, but not both simultaneously.+optional+listType=atomic | |
@@ -1372,6 +1463,7 @@ PDs support ownership management and SELinux relabeling.
| disableSubmodules | boolean| `bool` | | | DisableSubmodules disables submodules during git clone | |
| fetch | []string| `[]string` | | | Fetch specifies a number of refs that should be fetched before checkout | |
| insecureIgnoreHostKey | boolean| `bool` | | | InsecureIgnoreHostKey disables SSH strict host key checking during git clone | |
+| insecureSkipTLS | boolean| `bool` | | | InsecureSkipTLS disables server certificate verification resulting in insecure HTTPS connections | |
| passwordSecret | [SecretKeySelector](#secret-key-selector)| `SecretKeySelector` | | | | |
| repo | string| `string` | | | Repo is the git repository | |
| revision | string| `string` | | | Revision is the git commit, tag, branch to checkout | |
@@ -1537,7 +1629,7 @@ into the Pod's container.
| Name | Type | Go type | Required | Default | Description | Example |
|------|------|---------|:--------:| ------- |-------------|---------|
| host | string| `string` | | | Host name to connect to, defaults to the pod IP. You probably want to set"Host" in httpHeaders instead.+optional | |
-| httpHeaders | [][HTTPHeader](#http-header)| `[]*HTTPHeader` | | | Custom headers to set in the request. HTTP allows repeated headers.+optional | |
+| httpHeaders | [][HTTPHeader](#http-header)| `[]*HTTPHeader` | | | Custom headers to set in the request. HTTP allows repeated headers.+optional+listType=atomic | |
| path | string| `string` | | | Path to access on the HTTP server.+optional | |
| port | [IntOrString](#int-or-string)| `IntOrString` | | | | |
| scheme | [URIScheme](#uri-scheme)| `URIScheme` | | | | |
@@ -1636,8 +1728,8 @@ pod's hosts file.
| Name | Type | Go type | Required | Default | Description | Example |
|------|------|---------|:--------:| ------- |-------------|---------|
-| hostnames | []string| `[]string` | | | Hostnames for the above IP address. | |
-| ip | string| `string` | | | IP address of the host file entry. | |
+| hostnames | []string| `[]string` | | | Hostnames for the above IP address.+listType=atomic | |
+| ip | string| `string` | | | IP address of the host file entry.+required | |
@@ -1696,7 +1788,7 @@ ISCSI volumes support ownership management and SELinux relabeling.
| iqn | string| `string` | | | iqn is the target iSCSI Qualified Name. | |
| iscsiInterface | string| `string` | | | iscsiInterface is the interface Name that uses an iSCSI transport.Defaults to 'default' (tcp).+optional | |
| lun | int32 (formatted integer)| `int32` | | | lun represents iSCSI Target Lun number. | |
-| portals | []string| `[]string` | | | portals is the iSCSI Target Portal List. The portal is either an IP or ip_addr:port if the portis other than default (typically TCP ports 860 and 3260).+optional | |
+| portals | []string| `[]string` | | | portals is the iSCSI Target Portal List. The portal is either an IP or ip_addr:port if the portis other than default (typically TCP ports 860 and 3260).+optional+listType=atomic | |
| readOnly | boolean| `bool` | | | readOnly here will force the ReadOnly setting in VolumeMounts.Defaults to false.+optional | |
| secretRef | [LocalObjectReference](#local-object-reference)| `LocalObjectReference` | | | | |
| targetPortal | string| `string` | | | targetPortal is iSCSI Target Portal. The Portal is either an IP or ip_addr:port if the portis other than default (typically TCP ports 860 and 3260). | |
@@ -1789,7 +1881,7 @@ label selector matches no objects.
| Name | Type | Go type | Required | Default | Description | Example |
|------|------|---------|:--------:| ------- |-------------|---------|
-| matchExpressions | [][LabelSelectorRequirement](#label-selector-requirement)| `[]*LabelSelectorRequirement` | | | matchExpressions is a list of label selector requirements. The requirements are ANDed.+optional | |
+| matchExpressions | [][LabelSelectorRequirement](#label-selector-requirement)| `[]*LabelSelectorRequirement` | | | matchExpressions is a list of label selector requirements. The requirements are ANDed.+optional+listType=atomic | |
| matchLabels | map of string| `map[string]string` | | | matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabelsmap is equivalent to an element of matchExpressions, whose key field is "key", theoperator is "In", and the values array contains only "value". The requirements are ANDed.+optional | |
@@ -1820,9 +1912,9 @@ relates the key and values.
| Name | Type | Go type | Required | Default | Description | Example |
|------|------|---------|:--------:| ------- |-------------|---------|
-| key | string| `string` | | | key is the label key that the selector applies to.+patchMergeKey=key+patchStrategy=merge | |
+| key | string| `string` | | | key is the label key that the selector applies to. | |
| operator | [LabelSelectorOperator](#label-selector-operator)| `LabelSelectorOperator` | | | | |
-| values | []string| `[]string` | | | values is an array of string values. If the operator is In or NotIn,the values array must be non-empty. If the operator is Exists or DoesNotExist,the values array must be empty. This array is replaced during a strategicmerge patch.+optional | |
+| values | []string| `[]string` | | | values is an array of string values. If the operator is In or NotIn,the values array must be non-empty. If the operator is Exists or DoesNotExist,the values array must be empty. This array is replaced during a strategicmerge patch.+optional+listType=atomic | |
@@ -1864,6 +1956,7 @@ hook. One and only one of the fields, except TCPSocket must be specified.
|------|------|---------|:--------:| ------- |-------------|---------|
| exec | [ExecAction](#exec-action)| `ExecAction` | | | | |
| httpGet | [HTTPGetAction](#http-get-action)| `HTTPGetAction` | | | | |
+| sleep | [SleepAction](#sleep-action)| `SleepAction` | | | | |
| tcpSocket | [TCPSocketAction](#tcp-socket-action)| `TCPSocketAction` | | | | |
@@ -1909,7 +2002,7 @@ referenced object inside the same namespace.
| Name | Type | Go type | Required | Default | Description | Example |
|------|------|---------|:--------:| ------- |-------------|---------|
-| name | string| `string` | | | Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?+optional | |
+| name | string| `string` | | | Name of the referent.This field is effectively required, but due to backwards compatibility isallowed to be empty. Instances of this type with an empty value here arealmost certainly wrong.TODO: Add other useful fields. apiVersion, kind, uid?More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names+optional+default=""+kubebuilder:default=""TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896. | |
@@ -2104,7 +2197,7 @@ that the fieldset applies to.
| Name | Type | Go type | Required | Default | Description | Example |
|------|------|---------|:--------:| ------- |-------------|---------|
-| preferredDuringSchedulingIgnoredDuringExecution | [][PreferredSchedulingTerm](#preferred-scheduling-term)| `[]*PreferredSchedulingTerm` | | | The scheduler will prefer to schedule pods to nodes that satisfythe affinity expressions specified by this field, but it may choosea node that violates one or more of the expressions. The node that ismost preferred is the one with the greatest sum of weights, i.e.for each node that meets all of the scheduling requirements (resourcerequest, requiredDuringScheduling affinity expressions, etc.),compute a sum by iterating through the elements of this field and adding"weight" to the sum if the node matches the corresponding matchExpressions; thenode(s) with the highest sum are the most preferred.+optional | |
+| preferredDuringSchedulingIgnoredDuringExecution | [][PreferredSchedulingTerm](#preferred-scheduling-term)| `[]*PreferredSchedulingTerm` | | | The scheduler will prefer to schedule pods to nodes that satisfythe affinity expressions specified by this field, but it may choosea node that violates one or more of the expressions. The node that ismost preferred is the one with the greatest sum of weights, i.e.for each node that meets all of the scheduling requirements (resourcerequest, requiredDuringScheduling affinity expressions, etc.),compute a sum by iterating through the elements of this field and adding"weight" to the sum if the node matches the corresponding matchExpressions; thenode(s) with the highest sum are the most preferred.+optional+listType=atomic | |
| requiredDuringSchedulingIgnoredDuringExecution | [NodeSelector](#node-selector)| `NodeSelector` | | | | |
@@ -2155,7 +2248,7 @@ by the node selector terms.
| Name | Type | Go type | Required | Default | Description | Example |
|------|------|---------|:--------:| ------- |-------------|---------|
-| nodeSelectorTerms | [][NodeSelectorTerm](#node-selector-term)| `[]*NodeSelectorTerm` | | | Required. A list of node selector terms. The terms are ORed. | |
+| nodeSelectorTerms | [][NodeSelectorTerm](#node-selector-term)| `[]*NodeSelectorTerm` | | | Required. A list of node selector terms. The terms are ORed.+listType=atomic | |
@@ -2192,7 +2285,7 @@ that relates the key and values.
|------|------|---------|:--------:| ------- |-------------|---------|
| key | string| `string` | | | The label key that the selector applies to. | |
| operator | [NodeSelectorOperator](#node-selector-operator)| `NodeSelectorOperator` | | | | |
-| values | []string| `[]string` | | | An array of string values. If the operator is In or NotIn,the values array must be non-empty. If the operator is Exists or DoesNotExist,the values array must be empty. If the operator is Gt or Lt, the valuesarray must have a single element, which will be interpreted as an integer.This array is replaced during a strategic merge patch.+optional | |
+| values | []string| `[]string` | | | An array of string values. If the operator is In or NotIn,the values array must be non-empty. If the operator is Exists or DoesNotExist,the values array must be empty. If the operator is Gt or Lt, the valuesarray must have a single element, which will be interpreted as an integer.This array is replaced during a strategic merge patch.+optional+listType=atomic | |
@@ -2213,8 +2306,8 @@ The TopologySelectorTerm type implements a subset of the NodeSelectorTerm.
| Name | Type | Go type | Required | Default | Description | Example |
|------|------|---------|:--------:| ------- |-------------|---------|
-| matchExpressions | [][NodeSelectorRequirement](#node-selector-requirement)| `[]*NodeSelectorRequirement` | | | A list of node selector requirements by node's labels.+optional | |
-| matchFields | [][NodeSelectorRequirement](#node-selector-requirement)| `[]*NodeSelectorRequirement` | | | A list of node selector requirements by node's fields.+optional | |
+| matchExpressions | [][NodeSelectorRequirement](#node-selector-requirement)| `[]*NodeSelectorRequirement` | | | A list of node selector requirements by node's labels.+optional+listType=atomic | |
+| matchFields | [][NodeSelectorRequirement](#node-selector-requirement)| `[]*NodeSelectorRequirement` | | | A list of node selector requirements by node's fields.+optional+listType=atomic | |
@@ -2394,7 +2487,7 @@ be cluster-scoped, so there is no namespace field.
| blockOwnerDeletion | boolean| `bool` | | | If true, AND if the owner has the "foregroundDeletion" finalizer, thenthe owner cannot be deleted from the key-value store until thisreference is removed.See https://kubernetes.io/docs/concepts/architecture/garbage-collection/#foreground-deletionfor how the garbage collector interacts with this field and enforces the foreground deletion.Defaults to false.To set this field, a user needs "delete" permission of the owner,otherwise 422 (Unprocessable Entity) will be returned.+optional | |
| controller | boolean| `bool` | | | If true, this reference points to the managing controller.+optional | |
| kind | string| `string` | | | Kind of the referent.More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds | |
-| name | string| `string` | | | Name of the referent.More info: http://kubernetes.io/docs/user-guide/identifiers#names | |
+| name | string| `string` | | | Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#names | |
| uid | [UID](#uid)| `UID` | | | | |
@@ -2462,12 +2555,13 @@ and allows a Source for provider-specific attributes
| Name | Type | Go type | Required | Default | Description | Example |
|------|------|---------|:--------:| ------- |-------------|---------|
-| accessModes | [][PersistentVolumeAccessMode](#persistent-volume-access-mode)| `[]PersistentVolumeAccessMode` | | | accessModes contains the desired access modes the volume should have.More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1+optional | |
+| accessModes | [][PersistentVolumeAccessMode](#persistent-volume-access-mode)| `[]PersistentVolumeAccessMode` | | | accessModes contains the desired access modes the volume should have.More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1+optional+listType=atomic | |
| dataSource | [TypedLocalObjectReference](#typed-local-object-reference)| `TypedLocalObjectReference` | | | | |
| dataSourceRef | [TypedObjectReference](#typed-object-reference)| `TypedObjectReference` | | | | |
-| resources | [ResourceRequirements](#resource-requirements)| `ResourceRequirements` | | | | |
+| resources | [VolumeResourceRequirements](#volume-resource-requirements)| `VolumeResourceRequirements` | | | | |
| selector | [LabelSelector](#label-selector)| `LabelSelector` | | | | |
| storageClassName | string| `string` | | | storageClassName is the name of the StorageClass required by the claim.More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1+optional | |
+| volumeAttributesClassName | string| `string` | | | volumeAttributesClassName may be used to set the VolumeAttributesClass used by this claim.If specified, the CSI driver will create or update the volume with the attributes definedin the corresponding VolumeAttributesClass. This has a different purpose than storageClassName,it can be changed after the claim is created. An empty string value means that no VolumeAttributesClasswill be applied to the claim but it's not allowed to reset this field to empty string once it is set.If unspecified and the PersistentVolumeClaim is unbound, the default VolumeAttributesClasswill be set by the persistentvolume controller if it exists.If the resource referred to by volumeAttributesClass does not exist, this PersistentVolumeClaim will beset to a Pending state, as reflected by the modifyVolumeStatus field, until such as a resourceexists.More info: https://kubernetes.io/docs/concepts/storage/volume-attributes-classes/(Alpha) Using this field requires the VolumeAttributesClass feature gate to be enabled.+featureGate=VolumeAttributesClass+optional | |
| volumeMode | [PersistentVolumeMode](#persistent-volume-mode)| `PersistentVolumeMode` | | | | |
| volumeName | string| `string` | | | volumeName is the binding reference to the PersistentVolume backing this claim.+optional | |
@@ -2488,18 +2582,18 @@ PersistentVolumeClaim objects as part of an EphemeralVolumeSource.
| Name | Type | Go type | Required | Default | Description | Example |
|------|------|---------|:--------:| ------- |-------------|---------|
-| annotations | map of string| `map[string]string` | | | Annotations is an unstructured key value map stored with a resource that may beset by external tools to store and retrieve arbitrary metadata. They are notqueryable and should be preserved when modifying objects.More info: http://kubernetes.io/docs/user-guide/annotations+optional | |
+| annotations | map of string| `map[string]string` | | | Annotations is an unstructured key value map stored with a resource that may beset by external tools to store and retrieve arbitrary metadata. They are notqueryable and should be preserved when modifying objects.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations+optional | |
| creationTimestamp | string| `string` | | | CreationTimestamp is a timestamp representing the server time when this object wascreated. It is not guaranteed to be set in happens-before order across separate operations.Clients may not set this value. It is represented in RFC3339 form and is in UTC.Populated by the system.Read-only.Null for lists.More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata+optional | |
| deletionGracePeriodSeconds | int64 (formatted integer)| `int64` | | | Number of seconds allowed for this object to gracefully terminate beforeit will be removed from the system. Only set when deletionTimestamp is also set.May only be shortened.Read-only.+optional | |
| deletionTimestamp | string| `string` | | | DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted. Thisfield is set by the server when a graceful deletion is requested by the user, and is notdirectly settable by a client. The resource is expected to be deleted (no longer visiblefrom resource lists, and not reachable by name) after the time in this field, once thefinalizers list is empty. As long as the finalizers list contains items, deletion is blocked.Once the deletionTimestamp is set, this value may not be unset or be set further into thefuture, although it may be shortened or the resource may be deleted prior to this time.For example, a user may request that a pod is deleted in 30 seconds. The Kubelet will reactby sending a graceful termination signal to the containers in the pod. After that 30 seconds,the Kubelet will send a hard termination signal (SIGKILL) to the container and after cleanup,remove the pod from the API. In the presence of network partitions, this object may stillexist after this timestamp, until an administrator or automated process can determine theresource is fully terminated.If not set, graceful deletion of the object has not been requested.Populated by the system when a graceful deletion is requested.Read-only.More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata+optional | |
-| finalizers | []string| `[]string` | | | Must be empty before the object is deleted from the registry. Each entryis an identifier for the responsible component that will remove the entryfrom the list. If the deletionTimestamp of the object is non-nil, entriesin this list can only be removed.Finalizers may be processed and removed in any order. Order is NOT enforcedbecause it introduces significant risk of stuck finalizers.finalizers is a shared field, any actor with permission can reorder it.If the finalizer list is processed in order, then this can lead to a situationin which the component responsible for the first finalizer in the list iswaiting for a signal (field value, external system, or other) produced by acomponent responsible for a finalizer later in the list, resulting in a deadlock.Without enforced ordering finalizers are free to order amongst themselves andare not vulnerable to ordering changes in the list.+optional+patchStrategy=merge | |
+| finalizers | []string| `[]string` | | | Must be empty before the object is deleted from the registry. Each entryis an identifier for the responsible component that will remove the entryfrom the list. If the deletionTimestamp of the object is non-nil, entriesin this list can only be removed.Finalizers may be processed and removed in any order. Order is NOT enforcedbecause it introduces significant risk of stuck finalizers.finalizers is a shared field, any actor with permission can reorder it.If the finalizer list is processed in order, then this can lead to a situationin which the component responsible for the first finalizer in the list iswaiting for a signal (field value, external system, or other) produced by acomponent responsible for a finalizer later in the list, resulting in a deadlock.Without enforced ordering finalizers are free to order amongst themselves andare not vulnerable to ordering changes in the list.+optional+patchStrategy=merge+listType=set | |
| generateName | string| `string` | | | GenerateName is an optional prefix, used by the server, to generate a uniquename ONLY IF the Name field has not been provided.If this field is used, the name returned to the client will be differentthan the name passed. This value will also be combined with a unique suffix.The provided value has the same validation rules as the Name field,and may be truncated by the length of the suffix required to make the valueunique on the server.If this field is specified and the generated name exists, the server will return a 409.Applied only if Name is not specified.More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#idempotency+optional | |
| generation | int64 (formatted integer)| `int64` | | | A sequence number representing a specific generation of the desired state.Populated by the system. Read-only.+optional | |
-| labels | map of string| `map[string]string` | | | Map of string keys and values that can be used to organize and categorize(scope and select) objects. May match selectors of replication controllersand services.More info: http://kubernetes.io/docs/user-guide/labels+optional | |
-| managedFields | [][ManagedFieldsEntry](#managed-fields-entry)| `[]*ManagedFieldsEntry` | | | ManagedFields maps workflow-id and version to the set of fieldsthat are managed by that workflow. This is mostly for internalhousekeeping, and users typically shouldn't need to set orunderstand this field. A workflow can be the user's name, acontroller's name, or the name of a specific apply path like"ci-cd". The set of fields is always in the version that theworkflow used when modifying the object.+optional | |
-| name | string| `string` | | | Name must be unique within a namespace. Is required when creating resources, althoughsome resources may allow a client to request the generation of an appropriate nameautomatically. Name is primarily intended for creation idempotence and configurationdefinition.Cannot be updated.More info: http://kubernetes.io/docs/user-guide/identifiers#names+optional | |
-| namespace | string| `string` | | | Namespace defines the space within which each name must be unique. An empty namespace isequivalent to the "default" namespace, but "default" is the canonical representation.Not all objects are required to be scoped to a namespace - the value of this field forthose objects will be empty.Must be a DNS_LABEL.Cannot be updated.More info: http://kubernetes.io/docs/user-guide/namespaces+optional | |
-| ownerReferences | [][OwnerReference](#owner-reference)| `[]*OwnerReference` | | | List of objects depended by this object. If ALL objects in the list havebeen deleted, this object will be garbage collected. If this object is managed by a controller,then an entry in this list will point to this controller, with the controller field set to true.There cannot be more than one managing controller.+optional+patchMergeKey=uid+patchStrategy=merge | |
+| labels | map of string| `map[string]string` | | | Map of string keys and values that can be used to organize and categorize(scope and select) objects. May match selectors of replication controllersand services.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels+optional | |
+| managedFields | [][ManagedFieldsEntry](#managed-fields-entry)| `[]*ManagedFieldsEntry` | | | ManagedFields maps workflow-id and version to the set of fieldsthat are managed by that workflow. This is mostly for internalhousekeeping, and users typically shouldn't need to set orunderstand this field. A workflow can be the user's name, acontroller's name, or the name of a specific apply path like"ci-cd". The set of fields is always in the version that theworkflow used when modifying the object.+optional+listType=atomic | |
+| name | string| `string` | | | Name must be unique within a namespace. Is required when creating resources, althoughsome resources may allow a client to request the generation of an appropriate nameautomatically. Name is primarily intended for creation idempotence and configurationdefinition.Cannot be updated.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#names+optional | |
+| namespace | string| `string` | | | Namespace defines the space within which each name must be unique. An empty namespace isequivalent to the "default" namespace, but "default" is the canonical representation.Not all objects are required to be scoped to a namespace - the value of this field forthose objects will be empty.Must be a DNS_LABEL.Cannot be updated.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces+optional | |
+| ownerReferences | [][OwnerReference](#owner-reference)| `[]*OwnerReference` | | | List of objects depended by this object. If ALL objects in the list havebeen deleted, this object will be garbage collected. If this object is managed by a controller,then an entry in this list will point to this controller, with the controller field set to true.There cannot be more than one managing controller.+optional+patchMergeKey=uid+patchStrategy=merge+listType=map+listMapKey=uid | |
| resourceVersion | string| `string` | | | An opaque value that represents the internal version of this object that canbe used by clients to determine when objects have changed. May be used for optimisticconcurrency, change detection, and the watch operation on a resource or set of resources.Clients must treat these values as opaque and passed unmodified back to the server.They may only be valid for a particular resource or set of resources.Populated by the system.Read-only.Value must be treated as opaque by clients and .More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency+optional | |
| selfLink | string| `string` | | | Deprecated: selfLink is a legacy read-only field that is no longer populated by the system.+optional | |
| spec | [PersistentVolumeClaimSpec](#persistent-volume-claim-spec)| `PersistentVolumeClaimSpec` | | | | |
@@ -2579,8 +2673,8 @@ type of volume that is owned by someone else (the system).
| Name | Type | Go type | Required | Default | Description | Example |
|------|------|---------|:--------:| ------- |-------------|---------|
-| preferredDuringSchedulingIgnoredDuringExecution | [][WeightedPodAffinityTerm](#weighted-pod-affinity-term)| `[]*WeightedPodAffinityTerm` | | | The scheduler will prefer to schedule pods to nodes that satisfythe affinity expressions specified by this field, but it may choosea node that violates one or more of the expressions. The node that ismost preferred is the one with the greatest sum of weights, i.e.for each node that meets all of the scheduling requirements (resourcerequest, requiredDuringScheduling affinity expressions, etc.),compute a sum by iterating through the elements of this field and adding"weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; thenode(s) with the highest sum are the most preferred.+optional | |
-| requiredDuringSchedulingIgnoredDuringExecution | [][PodAffinityTerm](#pod-affinity-term)| `[]*PodAffinityTerm` | | | If the affinity requirements specified by this field are not met atscheduling time, the pod will not be scheduled onto the node.If the affinity requirements specified by this field cease to be metat some point during pod execution (e.g. due to a pod label update), thesystem may or may not try to eventually evict the pod from its node.When there are multiple elements, the lists of nodes corresponding to eachpodAffinityTerm are intersected, i.e. all terms must be satisfied.+optional | |
+| preferredDuringSchedulingIgnoredDuringExecution | [][WeightedPodAffinityTerm](#weighted-pod-affinity-term)| `[]*WeightedPodAffinityTerm` | | | The scheduler will prefer to schedule pods to nodes that satisfythe affinity expressions specified by this field, but it may choosea node that violates one or more of the expressions. The node that ismost preferred is the one with the greatest sum of weights, i.e.for each node that meets all of the scheduling requirements (resourcerequest, requiredDuringScheduling affinity expressions, etc.),compute a sum by iterating through the elements of this field and adding"weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; thenode(s) with the highest sum are the most preferred.+optional+listType=atomic | |
+| requiredDuringSchedulingIgnoredDuringExecution | [][PodAffinityTerm](#pod-affinity-term)| `[]*PodAffinityTerm` | | | If the affinity requirements specified by this field are not met atscheduling time, the pod will not be scheduled onto the node.If the affinity requirements specified by this field cease to be metat some point during pod execution (e.g. due to a pod label update), thesystem may or may not try to eventually evict the pod from its node.When there are multiple elements, the lists of nodes corresponding to eachpodAffinityTerm are intersected, i.e. all terms must be satisfied.+optional+listType=atomic | |
@@ -2604,8 +2698,10 @@ a pod of the set of pods is running
| Name | Type | Go type | Required | Default | Description | Example |
|------|------|---------|:--------:| ------- |-------------|---------|
| labelSelector | [LabelSelector](#label-selector)| `LabelSelector` | | | | |
+| matchLabelKeys | []string| `[]string` | | | MatchLabelKeys is a set of pod label keys to select which pods willbe taken into consideration. The keys are used to lookup values from theincoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`to select the group of existing pods which pods will be taken into considerationfor the incoming pod's pod (anti) affinity. Keys that don't exist in the incomingpod labels will be ignored. The default value is empty.The same key is forbidden to exist in both matchLabelKeys and labelSelector.Also, matchLabelKeys cannot be set when labelSelector isn't set.This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.+listType=atomic+optional | |
+| mismatchLabelKeys | []string| `[]string` | | | MismatchLabelKeys is a set of pod label keys to select which pods willbe taken into consideration. The keys are used to lookup values from theincoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`to select the group of existing pods which pods will be taken into considerationfor the incoming pod's pod (anti) affinity. Keys that don't exist in the incomingpod labels will be ignored. The default value is empty.The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.Also, mismatchLabelKeys cannot be set when labelSelector isn't set.This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.+listType=atomic+optional | |
| namespaceSelector | [LabelSelector](#label-selector)| `LabelSelector` | | | | |
-| namespaces | []string| `[]string` | | | namespaces specifies a static list of namespace names that the term applies to.The term is applied to the union of the namespaces listed in this fieldand the ones selected by namespaceSelector.null or empty namespaces list and null namespaceSelector means "this pod's namespace".+optional | |
+| namespaces | []string| `[]string` | | | namespaces specifies a static list of namespace names that the term applies to.The term is applied to the union of the namespaces listed in this fieldand the ones selected by namespaceSelector.null or empty namespaces list and null namespaceSelector means "this pod's namespace".+optional+listType=atomic | |
| topologyKey | string| `string` | | | This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matchingthe labelSelector in the specified namespaces, where co-located is defined as running on a nodewhose value of the label with key topologyKey matches that of any node on which any of theselected pods is running.Empty topologyKey is not allowed. | |
@@ -2621,8 +2717,8 @@ a pod of the set of pods is running
| Name | Type | Go type | Required | Default | Description | Example |
|------|------|---------|:--------:| ------- |-------------|---------|
-| preferredDuringSchedulingIgnoredDuringExecution | [][WeightedPodAffinityTerm](#weighted-pod-affinity-term)| `[]*WeightedPodAffinityTerm` | | | The scheduler will prefer to schedule pods to nodes that satisfythe anti-affinity expressions specified by this field, but it may choosea node that violates one or more of the expressions. The node that ismost preferred is the one with the greatest sum of weights, i.e.for each node that meets all of the scheduling requirements (resourcerequest, requiredDuringScheduling anti-affinity expressions, etc.),compute a sum by iterating through the elements of this field and adding"weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; thenode(s) with the highest sum are the most preferred.+optional | |
-| requiredDuringSchedulingIgnoredDuringExecution | [][PodAffinityTerm](#pod-affinity-term)| `[]*PodAffinityTerm` | | | If the anti-affinity requirements specified by this field are not met atscheduling time, the pod will not be scheduled onto the node.If the anti-affinity requirements specified by this field cease to be metat some point during pod execution (e.g. due to a pod label update), thesystem may or may not try to eventually evict the pod from its node.When there are multiple elements, the lists of nodes corresponding to eachpodAffinityTerm are intersected, i.e. all terms must be satisfied.+optional | |
+| preferredDuringSchedulingIgnoredDuringExecution | [][WeightedPodAffinityTerm](#weighted-pod-affinity-term)| `[]*WeightedPodAffinityTerm` | | | The scheduler will prefer to schedule pods to nodes that satisfythe anti-affinity expressions specified by this field, but it may choosea node that violates one or more of the expressions. The node that ismost preferred is the one with the greatest sum of weights, i.e.for each node that meets all of the scheduling requirements (resourcerequest, requiredDuringScheduling anti-affinity expressions, etc.),compute a sum by iterating through the elements of this field and adding"weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; thenode(s) with the highest sum are the most preferred.+optional+listType=atomic | |
+| requiredDuringSchedulingIgnoredDuringExecution | [][PodAffinityTerm](#pod-affinity-term)| `[]*PodAffinityTerm` | | | If the anti-affinity requirements specified by this field are not met atscheduling time, the pod will not be scheduled onto the node.If the anti-affinity requirements specified by this field cease to be metat some point during pod execution (e.g. due to a pod label update), thesystem may or may not try to eventually evict the pod from its node.When there are multiple elements, the lists of nodes corresponding to eachpodAffinityTerm are intersected, i.e. all terms must be satisfied.+optional+listType=atomic | |
@@ -2657,6 +2753,7 @@ container.securityContext take precedence over field values of PodSecurityContex
| Name | Type | Go type | Required | Default | Description | Example |
|------|------|---------|:--------:| ------- |-------------|---------|
+| appArmorProfile | [AppArmorProfile](#app-armor-profile)| `AppArmorProfile` | | | | |
| fsGroup | int64 (formatted integer)| `int64` | | | A special supplemental group that applies to all containers in a pod.Some volume types allow the Kubelet to change the ownership of that volumeto be owned by the pod:1. The owning GID will be the FSGroup2. The setgid bit is set (new files created in the volume will be owned by FSGroup)3. The permission bits are OR'd with rw-rw----If unset, the Kubelet will not modify the ownership and permissions of any volume.Note that this field cannot be set when spec.os.name is windows.+optional | |
| fsGroupChangePolicy | [PodFSGroupChangePolicy](#pod-f-s-group-change-policy)| `PodFSGroupChangePolicy` | | | | |
| runAsGroup | int64 (formatted integer)| `int64` | | | The GID to run the entrypoint of the container process.Uses runtime default if unset.May also be set in SecurityContext. If set in both SecurityContext andPodSecurityContext, the value specified in SecurityContext takes precedencefor that container.Note that this field cannot be set when spec.os.name is windows.+optional | |
@@ -2664,8 +2761,8 @@ container.securityContext take precedence over field values of PodSecurityContex
| runAsUser | int64 (formatted integer)| `int64` | | | The UID to run the entrypoint of the container process.Defaults to user specified in image metadata if unspecified.May also be set in SecurityContext. If set in both SecurityContext andPodSecurityContext, the value specified in SecurityContext takes precedencefor that container.Note that this field cannot be set when spec.os.name is windows.+optional | |
| seLinuxOptions | [SELinuxOptions](#s-e-linux-options)| `SELinuxOptions` | | | | |
| seccompProfile | [SeccompProfile](#seccomp-profile)| `SeccompProfile` | | | | |
-| supplementalGroups | []int64 (formatted integer)| `[]int64` | | | A list of groups applied to the first process run in each container, in additionto the container's primary GID, the fsGroup (if specified), and group membershipsdefined in the container image for the uid of the container process. If unspecified,no additional groups are added to any container. Note that group membershipsdefined in the container image for the uid of the container process are still effective,even if they are not included in this list.Note that this field cannot be set when spec.os.name is windows.+optional | |
-| sysctls | [][Sysctl](#sysctl)| `[]*Sysctl` | | | Sysctls hold a list of namespaced sysctls used for the pod. Pods with unsupportedsysctls (by the container runtime) might fail to launch.Note that this field cannot be set when spec.os.name is windows.+optional | |
+| supplementalGroups | []int64 (formatted integer)| `[]int64` | | | A list of groups applied to the first process run in each container, in additionto the container's primary GID, the fsGroup (if specified), and group membershipsdefined in the container image for the uid of the container process. If unspecified,no additional groups are added to any container. Note that group membershipsdefined in the container image for the uid of the container process are still effective,even if they are not included in this list.Note that this field cannot be set when spec.os.name is windows.+optional+listType=atomic | |
+| sysctls | [][Sysctl](#sysctl)| `[]*Sysctl` | | | Sysctls hold a list of namespaced sysctls used for the pod. Pods with unsupportedsysctls (by the container runtime) might fail to launch.Note that this field cannot be set when spec.os.name is windows.+optional+listType=atomic | |
| windowsOptions | [WindowsSecurityContextOptions](#windows-security-context-options)| `WindowsSecurityContextOptions` | | | | |
@@ -2775,7 +2872,7 @@ alive or ready to receive traffic.
| Name | Type | Go type | Required | Default | Description | Example |
|------|------|---------|:--------:| ------- |-------------|---------|
| defaultMode | int32 (formatted integer)| `int32` | | | defaultMode are the mode bits used to set permissions on created files by default.Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511.YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.Directories within the path are not affected by this setting.This might be in conflict with other options that affect the filemode, like fsGroup, and the result can be other mode bits set.+optional | |
-| sources | [][VolumeProjection](#volume-projection)| `[]*VolumeProjection` | | | sources is the list of volume projections+optional | |
+| sources | [][VolumeProjection](#volume-projection)| `[]*VolumeProjection` | | | sources is the list of volume projections+optional+listType=atomic | |
@@ -2946,7 +3043,7 @@ cause implementors to also use a fixed point implementation.
| fsType | string| `string` | | | fsType is the filesystem type of the volume that you want to mount.Tip: Ensure that the filesystem type is supported by the host operating system.Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.More info: https://kubernetes.io/docs/concepts/storage/volumes#rbdTODO: how do we prevent errors in the filesystem from compromising the machine+optional | |
| image | string| `string` | | | image is the rados image name.More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it | |
| keyring | string| `string` | | | keyring is the path to key ring for RBDUser.Default is /etc/ceph/keyring.More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it+optional | |
-| monitors | []string| `[]string` | | | monitors is a collection of Ceph monitors.More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it | |
+| monitors | []string| `[]string` | | | monitors is a collection of Ceph monitors.More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it+listType=atomic | |
| pool | string| `string` | | | pool is the rados pool name.Default is rbd.More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it+optional | |
| readOnly | boolean| `bool` | | | readOnly here will force the ReadOnly setting in VolumeMounts.Defaults to false.More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it+optional | |
| secretRef | [LocalObjectReference](#local-object-reference)| `LocalObjectReference` | | | | |
@@ -2972,6 +3069,17 @@ cause implementors to also use a fixed point implementation.
+### RecursiveReadOnlyMode
+
+
+
+
+| Name | Type | Go type | Default | Description | Example |
+|------|------|---------| ------- |-------------|---------|
+| RecursiveReadOnlyMode | string| string | | | |
+
+
+
### ResourceClaim
@@ -3015,6 +3123,17 @@ cause implementors to also use a fixed point implementation.
[ResourceList](#resource-list)
+### ResourceName
+
+
+
+
+| Name | Type | Go type | Default | Description | Example |
+|------|------|---------| ------- |-------------|---------|
+| ResourceName | string| string | | | |
+
+
+
### ResourceRequirements
@@ -3032,6 +3151,17 @@ cause implementors to also use a fixed point implementation.
+### ResourceResizeRestartPolicy
+
+
+
+
+| Name | Type | Go type | Default | Description | Example |
+|------|------|---------| ------- |-------------|---------|
+| ResourceResizeRestartPolicy | string| string | | | |
+
+
+
### ResourceTemplate
@@ -3140,6 +3270,7 @@ cause implementors to also use a fixed point implementation.
| region | string| `string` | | | Region contains the optional bucket region | |
| roleARN | string| `string` | | | RoleARN is the Amazon Resource Name (ARN) of the role to assume. | |
| secretKeySecret | [SecretKeySelector](#secret-key-selector)| `SecretKeySelector` | | | | |
+| sessionTokenSecret | [SecretKeySelector](#secret-key-selector)| `SecretKeySelector` | | | | |
| useSDKCreds | boolean| `bool` | | | UseSDKCreds tells the driver to figure out credentials based on sdk defaults. | |
@@ -3227,10 +3358,10 @@ cause implementors to also use a fixed point implementation.
| Name | Type | Go type | Required | Default | Description | Example |
|------|------|---------|:--------:| ------- |-------------|---------|
-| args | []string| `[]string` | | | Arguments to the entrypoint.The container image's CMD is used if this is not provided.Variable references $(VAR_NAME) are expanded using the container's environment. If a variablecannot be resolved, the reference in the input string will be unchanged. Double $$ are reducedto a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" willproduce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardlessof whether the variable exists or not. Cannot be updated.More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell+optional | |
-| command | []string| `[]string` | | | Entrypoint array. Not executed within a shell.The container image's ENTRYPOINT is used if this is not provided.Variable references $(VAR_NAME) are expanded using the container's environment. If a variablecannot be resolved, the reference in the input string will be unchanged. Double $$ are reducedto a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" willproduce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardlessof whether the variable exists or not. Cannot be updated.More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell+optional | |
-| env | [][EnvVar](#env-var)| `[]*EnvVar` | | | List of environment variables to set in the container.Cannot be updated.+optional+patchMergeKey=name+patchStrategy=merge | |
-| envFrom | [][EnvFromSource](#env-from-source)| `[]*EnvFromSource` | | | List of sources to populate environment variables in the container.The keys defined within a source must be a C_IDENTIFIER. All invalid keyswill be reported as an event when the container is starting. When a key exists in multiplesources, the value associated with the last source will take precedence.Values defined by an Env with a duplicate key will take precedence.Cannot be updated.+optional | |
+| args | []string| `[]string` | | | Arguments to the entrypoint.The container image's CMD is used if this is not provided.Variable references $(VAR_NAME) are expanded using the container's environment. If a variablecannot be resolved, the reference in the input string will be unchanged. Double $$ are reducedto a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" willproduce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardlessof whether the variable exists or not. Cannot be updated.More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell+optional+listType=atomic | |
+| command | []string| `[]string` | | | Entrypoint array. Not executed within a shell.The container image's ENTRYPOINT is used if this is not provided.Variable references $(VAR_NAME) are expanded using the container's environment. If a variablecannot be resolved, the reference in the input string will be unchanged. Double $$ are reducedto a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" willproduce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardlessof whether the variable exists or not. Cannot be updated.More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell+optional+listType=atomic | |
+| env | [][EnvVar](#env-var)| `[]*EnvVar` | | | List of environment variables to set in the container.Cannot be updated.+optional+patchMergeKey=name+patchStrategy=merge+listType=map+listMapKey=name | |
+| envFrom | [][EnvFromSource](#env-from-source)| `[]*EnvFromSource` | | | List of sources to populate environment variables in the container.The keys defined within a source must be a C_IDENTIFIER. All invalid keyswill be reported as an event when the container is starting. When a key exists in multiplesources, the value associated with the last source will take precedence.Values defined by an Env with a duplicate key will take precedence.Cannot be updated.+optional+listType=atomic | |
| image | string| `string` | | | Container image name.More info: https://kubernetes.io/docs/concepts/containers/imagesThis field is optional to allow higher level config management to default or overridecontainer images in workload controllers like Deployments and StatefulSets.+optional | |
| imagePullPolicy | [PullPolicy](#pull-policy)| `PullPolicy` | | | | |
| lifecycle | [Lifecycle](#lifecycle)| `Lifecycle` | | | | |
@@ -3238,7 +3369,9 @@ cause implementors to also use a fixed point implementation.
| name | string| `string` | | | Name of the container specified as a DNS_LABEL.Each container in a pod must have a unique name (DNS_LABEL).Cannot be updated. | |
| ports | [][ContainerPort](#container-port)| `[]*ContainerPort` | | | List of ports to expose from the container. Not specifying a port hereDOES NOT prevent that port from being exposed. Any port which islistening on the default "0.0.0.0" address inside a container will beaccessible from the network.Modifying this array with strategic merge patch may corrupt the data.For more information See https://github.com/kubernetes/kubernetes/issues/108255.Cannot be updated.+optional+patchMergeKey=containerPort+patchStrategy=merge+listType=map+listMapKey=containerPort+listMapKey=protocol | |
| readinessProbe | [Probe](#probe)| `Probe` | | | | |
+| resizePolicy | [][ContainerResizePolicy](#container-resize-policy)| `[]*ContainerResizePolicy` | | | Resources resize policy for the container.+featureGate=InPlacePodVerticalScaling+optional+listType=atomic | |
| resources | [ResourceRequirements](#resource-requirements)| `ResourceRequirements` | | | | |
+| restartPolicy | [ContainerRestartPolicy](#container-restart-policy)| `ContainerRestartPolicy` | | | | |
| securityContext | [SecurityContext](#security-context)| `SecurityContext` | | | | |
| source | string| `string` | | | Source contains the source code of the script to execute | |
| startupProbe | [Probe](#probe)| `Probe` | | | | |
@@ -3247,8 +3380,8 @@ cause implementors to also use a fixed point implementation.
| terminationMessagePath | string| `string` | | | Optional: Path at which the file to which the container's termination messagewill be written is mounted into the container's filesystem.Message written is intended to be brief final status, such as an assertion failure message.Will be truncated by the node if greater than 4096 bytes. The total message length acrossall containers will be limited to 12kb.Defaults to /dev/termination-log.Cannot be updated.+optional | |
| terminationMessagePolicy | [TerminationMessagePolicy](#termination-message-policy)| `TerminationMessagePolicy` | | | | |
| tty | boolean| `bool` | | | Whether this container should allocate a TTY for itself, also requires 'stdin' to be true.Default is false.+optional | |
-| volumeDevices | [][VolumeDevice](#volume-device)| `[]*VolumeDevice` | | | volumeDevices is the list of block devices to be used by the container.+patchMergeKey=devicePath+patchStrategy=merge+optional | |
-| volumeMounts | [][VolumeMount](#volume-mount)| `[]*VolumeMount` | | | Pod volumes to mount into the container's filesystem.Cannot be updated.+optional+patchMergeKey=mountPath+patchStrategy=merge | |
+| volumeDevices | [][VolumeDevice](#volume-device)| `[]*VolumeDevice` | | | volumeDevices is the list of block devices to be used by the container.+patchMergeKey=devicePath+patchStrategy=merge+listType=map+listMapKey=devicePath+optional | |
+| volumeMounts | [][VolumeMount](#volume-mount)| `[]*VolumeMount` | | | Pod volumes to mount into the container's filesystem.Cannot be updated.+optional+patchMergeKey=mountPath+patchStrategy=merge+listType=map+listMapKey=mountPath | |
| workingDir | string| `string` | | | Container's working directory.If not specified, the container runtime's default will be used, whichmight be configured in the container image.Cannot be updated.+optional | |
@@ -3268,7 +3401,7 @@ cause implementors to also use a fixed point implementation.
| Name | Type | Go type | Required | Default | Description | Example |
|------|------|---------|:--------:| ------- |-------------|---------|
-| localhostProfile | string| `string` | | | localhostProfile indicates a profile defined in a file on the node should be used.The profile must be preconfigured on the node to work.Must be a descending path, relative to the kubelet's configured seccomp profile location.Must only be set if type is "Localhost".+optional | |
+| localhostProfile | string| `string` | | | localhostProfile indicates a profile defined in a file on the node should be used.The profile must be preconfigured on the node to work.Must be a descending path, relative to the kubelet's configured seccomp profile location.Must be set if type is "Localhost". Must NOT be set for any other type.+optional | |
| type | [SeccompProfileType](#seccomp-profile-type)| `SeccompProfileType` | | | | |
@@ -3302,7 +3435,7 @@ key-value pairs as environment variables.
| Name | Type | Go type | Required | Default | Description | Example |
|------|------|---------|:--------:| ------- |-------------|---------|
-| name | string| `string` | | | Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?+optional | |
+| name | string| `string` | | | Name of the referent.This field is effectively required, but due to backwards compatibility isallowed to be empty. Instances of this type with an empty value here arealmost certainly wrong.TODO: Add other useful fields. apiVersion, kind, uid?More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names+optional+default=""+kubebuilder:default=""TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896. | |
| optional | boolean| `bool` | | | Specify whether the Secret must be defined+optional | |
@@ -3322,7 +3455,7 @@ key-value pairs as environment variables.
| Name | Type | Go type | Required | Default | Description | Example |
|------|------|---------|:--------:| ------- |-------------|---------|
| key | string| `string` | | | The key of the secret to select from. Must be a valid secret key. | |
-| name | string| `string` | | | Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?+optional | |
+| name | string| `string` | | | Name of the referent.This field is effectively required, but due to backwards compatibility isallowed to be empty. Instances of this type with an empty value here arealmost certainly wrong.TODO: Add other useful fields. apiVersion, kind, uid?More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names+optional+default=""+kubebuilder:default=""TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896. | |
| optional | boolean| `bool` | | | Specify whether the Secret or its key must be defined+optional | |
@@ -3344,8 +3477,8 @@ mode.
| Name | Type | Go type | Required | Default | Description | Example |
|------|------|---------|:--------:| ------- |-------------|---------|
-| items | [][KeyToPath](#key-to-path)| `[]*KeyToPath` | | | items if unspecified, each key-value pair in the Data field of the referencedSecret will be projected into the volume as a file whose name is thekey and content is the value. If specified, the listed keys will beprojected into the specified paths, and unlisted keys will not bepresent. If a key is specified which is not present in the Secret,the volume setup will error unless it is marked optional. Paths must berelative and may not contain the '..' path or start with '..'.+optional | |
-| name | string| `string` | | | Name of the referent.More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#namesTODO: Add other useful fields. apiVersion, kind, uid?+optional | |
+| items | [][KeyToPath](#key-to-path)| `[]*KeyToPath` | | | items if unspecified, each key-value pair in the Data field of the referencedSecret will be projected into the volume as a file whose name is thekey and content is the value. If specified, the listed keys will beprojected into the specified paths, and unlisted keys will not bepresent. If a key is specified which is not present in the Secret,the volume setup will error unless it is marked optional. Paths must berelative and may not contain the '..' path or start with '..'.+optional+listType=atomic | |
+| name | string| `string` | | | Name of the referent.This field is effectively required, but due to backwards compatibility isallowed to be empty. Instances of this type with an empty value here arealmost certainly wrong.TODO: Add other useful fields. apiVersion, kind, uid?More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names+optional+default=""+kubebuilder:default=""TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896. | |
| optional | boolean| `bool` | | | optional field specify whether the Secret or its key must be defined+optional | |
@@ -3367,7 +3500,7 @@ Secret volumes support ownership management and SELinux relabeling.
| Name | Type | Go type | Required | Default | Description | Example |
|------|------|---------|:--------:| ------- |-------------|---------|
| defaultMode | int32 (formatted integer)| `int32` | | | defaultMode is Optional: mode bits used to set permissions on created files by default.Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511.YAML accepts both octal and decimal values, JSON requires decimal valuesfor mode bits. Defaults to 0644.Directories within the path are not affected by this setting.This might be in conflict with other options that affect the filemode, like fsGroup, and the result can be other mode bits set.+optional | |
-| items | [][KeyToPath](#key-to-path)| `[]*KeyToPath` | | | items If unspecified, each key-value pair in the Data field of the referencedSecret will be projected into the volume as a file whose name is thekey and content is the value. If specified, the listed keys will beprojected into the specified paths, and unlisted keys will not bepresent. If a key is specified which is not present in the Secret,the volume setup will error unless it is marked optional. Paths must berelative and may not contain the '..' path or start with '..'.+optional | |
+| items | [][KeyToPath](#key-to-path)| `[]*KeyToPath` | | | items If unspecified, each key-value pair in the Data field of the referencedSecret will be projected into the volume as a file whose name is thekey and content is the value. If specified, the listed keys will beprojected into the specified paths, and unlisted keys will not bepresent. If a key is specified which is not present in the Secret,the volume setup will error unless it is marked optional. Paths must berelative and may not contain the '..' path or start with '..'.+optional+listType=atomic | |
| optional | boolean| `bool` | | | optional field specify whether the Secret or its keys must be defined+optional | |
| secretName | string| `string` | | | secretName is the name of the secret in the pod's namespace to use.More info: https://kubernetes.io/docs/concepts/storage/volumes#secret+optional | |
@@ -3389,6 +3522,7 @@ are set, the values in SecurityContext take precedence.
| Name | Type | Go type | Required | Default | Description | Example |
|------|------|---------|:--------:| ------- |-------------|---------|
| allowPrivilegeEscalation | boolean| `bool` | | | AllowPrivilegeEscalation controls whether a process can gain moreprivileges than its parent process. This bool directly controls ifthe no_new_privs flag will be set on the container process.AllowPrivilegeEscalation is true always when the container is:1) run as Privileged2) has CAP_SYS_ADMINNote that this field cannot be set when spec.os.name is windows.+optional | |
+| appArmorProfile | [AppArmorProfile](#app-armor-profile)| `AppArmorProfile` | | | | |
| capabilities | [Capabilities](#capabilities)| `Capabilities` | | | | |
| privileged | boolean| `bool` | | | Run container in privileged mode.Processes in privileged containers are essentially equivalent to root on the host.Defaults to false.Note that this field cannot be set when spec.os.name is windows.+optional | |
| procMount | [ProcMountType](#proc-mount-type)| `ProcMountType` | | | | |
@@ -3465,6 +3599,21 @@ otherwise).
+### SleepAction
+
+
+
+
+
+
+**Properties**
+
+| Name | Type | Go type | Required | Default | Description | Example |
+|------|------|---------|:--------:| ------- |-------------|---------|
+| seconds | int64 (formatted integer)| `int64` | | | Seconds is the number of seconds to sleep. | |
+
+
+
### StorageMedium
@@ -3535,7 +3684,9 @@ otherwise).
| Name | Type | Go type | Required | Default | Description | Example |
|------|------|---------|:--------:| ------- |-------------|---------|
| mutex | [Mutex](#mutex)| `Mutex` | | | | |
+| mutexes | [][Mutex](#mutex)| `[]*Mutex` | | | v3.6 and after: Mutexes holds the list of Mutex lock details | |
| semaphore | [SemaphoreRef](#semaphore-ref)| `SemaphoreRef` | | | | |
+| semaphores | [][SemaphoreRef](#semaphore-ref)| `[]*SemaphoreRef` | | | v3.6 and after: Semaphores holds the list of Semaphores configuration | |
@@ -3848,10 +3999,10 @@ intent and helps make sure that UIDs and names do not get conflated.
| Name | Type | Go type | Required | Default | Description | Example |
|------|------|---------|:--------:| ------- |-------------|---------|
-| args | []string| `[]string` | | | Arguments to the entrypoint.The container image's CMD is used if this is not provided.Variable references $(VAR_NAME) are expanded using the container's environment. If a variablecannot be resolved, the reference in the input string will be unchanged. Double $$ are reducedto a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" willproduce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardlessof whether the variable exists or not. Cannot be updated.More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell+optional | |
-| command | []string| `[]string` | | | Entrypoint array. Not executed within a shell.The container image's ENTRYPOINT is used if this is not provided.Variable references $(VAR_NAME) are expanded using the container's environment. If a variablecannot be resolved, the reference in the input string will be unchanged. Double $$ are reducedto a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" willproduce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardlessof whether the variable exists or not. Cannot be updated.More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell+optional | |
-| env | [][EnvVar](#env-var)| `[]*EnvVar` | | | List of environment variables to set in the container.Cannot be updated.+optional+patchMergeKey=name+patchStrategy=merge | |
-| envFrom | [][EnvFromSource](#env-from-source)| `[]*EnvFromSource` | | | List of sources to populate environment variables in the container.The keys defined within a source must be a C_IDENTIFIER. All invalid keyswill be reported as an event when the container is starting. When a key exists in multiplesources, the value associated with the last source will take precedence.Values defined by an Env with a duplicate key will take precedence.Cannot be updated.+optional | |
+| args | []string| `[]string` | | | Arguments to the entrypoint.The container image's CMD is used if this is not provided.Variable references $(VAR_NAME) are expanded using the container's environment. If a variablecannot be resolved, the reference in the input string will be unchanged. Double $$ are reducedto a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" willproduce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardlessof whether the variable exists or not. Cannot be updated.More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell+optional+listType=atomic | |
+| command | []string| `[]string` | | | Entrypoint array. Not executed within a shell.The container image's ENTRYPOINT is used if this is not provided.Variable references $(VAR_NAME) are expanded using the container's environment. If a variablecannot be resolved, the reference in the input string will be unchanged. Double $$ are reducedto a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" willproduce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardlessof whether the variable exists or not. Cannot be updated.More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell+optional+listType=atomic | |
+| env | [][EnvVar](#env-var)| `[]*EnvVar` | | | List of environment variables to set in the container.Cannot be updated.+optional+patchMergeKey=name+patchStrategy=merge+listType=map+listMapKey=name | |
+| envFrom | [][EnvFromSource](#env-from-source)| `[]*EnvFromSource` | | | List of sources to populate environment variables in the container.The keys defined within a source must be a C_IDENTIFIER. All invalid keyswill be reported as an event when the container is starting. When a key exists in multiplesources, the value associated with the last source will take precedence.Values defined by an Env with a duplicate key will take precedence.Cannot be updated.+optional+listType=atomic | |
| image | string| `string` | | | Container image name.More info: https://kubernetes.io/docs/concepts/containers/imagesThis field is optional to allow higher level config management to default or overridecontainer images in workload controllers like Deployments and StatefulSets.+optional | |
| imagePullPolicy | [PullPolicy](#pull-policy)| `PullPolicy` | | | | |
| lifecycle | [Lifecycle](#lifecycle)| `Lifecycle` | | | | |
@@ -3860,7 +4011,9 @@ intent and helps make sure that UIDs and names do not get conflated.
| name | string| `string` | | | Name of the container specified as a DNS_LABEL.Each container in a pod must have a unique name (DNS_LABEL).Cannot be updated. | |
| ports | [][ContainerPort](#container-port)| `[]*ContainerPort` | | | List of ports to expose from the container. Not specifying a port hereDOES NOT prevent that port from being exposed. Any port which islistening on the default "0.0.0.0" address inside a container will beaccessible from the network.Modifying this array with strategic merge patch may corrupt the data.For more information See https://github.com/kubernetes/kubernetes/issues/108255.Cannot be updated.+optional+patchMergeKey=containerPort+patchStrategy=merge+listType=map+listMapKey=containerPort+listMapKey=protocol | |
| readinessProbe | [Probe](#probe)| `Probe` | | | | |
+| resizePolicy | [][ContainerResizePolicy](#container-resize-policy)| `[]*ContainerResizePolicy` | | | Resources resize policy for the container.+featureGate=InPlacePodVerticalScaling+optional+listType=atomic | |
| resources | [ResourceRequirements](#resource-requirements)| `ResourceRequirements` | | | | |
+| restartPolicy | [ContainerRestartPolicy](#container-restart-policy)| `ContainerRestartPolicy` | | | | |
| securityContext | [SecurityContext](#security-context)| `SecurityContext` | | | | |
| startupProbe | [Probe](#probe)| `Probe` | | | | |
| stdin | boolean| `bool` | | | Whether this container should allocate a buffer for stdin in the container runtime. If thisis not set, reads from stdin in the container will always result in EOF.Default is false.+optional | |
@@ -3868,8 +4021,8 @@ intent and helps make sure that UIDs and names do not get conflated.
| terminationMessagePath | string| `string` | | | Optional: Path at which the file to which the container's termination messagewill be written is mounted into the container's filesystem.Message written is intended to be brief final status, such as an assertion failure message.Will be truncated by the node if greater than 4096 bytes. The total message length acrossall containers will be limited to 12kb.Defaults to /dev/termination-log.Cannot be updated.+optional | |
| terminationMessagePolicy | [TerminationMessagePolicy](#termination-message-policy)| `TerminationMessagePolicy` | | | | |
| tty | boolean| `bool` | | | Whether this container should allocate a TTY for itself, also requires 'stdin' to be true.Default is false.+optional | |
-| volumeDevices | [][VolumeDevice](#volume-device)| `[]*VolumeDevice` | | | volumeDevices is the list of block devices to be used by the container.+patchMergeKey=devicePath+patchStrategy=merge+optional | |
-| volumeMounts | [][VolumeMount](#volume-mount)| `[]*VolumeMount` | | | Pod volumes to mount into the container's filesystem.Cannot be updated.+optional+patchMergeKey=mountPath+patchStrategy=merge | |
+| volumeDevices | [][VolumeDevice](#volume-device)| `[]*VolumeDevice` | | | volumeDevices is the list of block devices to be used by the container.+patchMergeKey=devicePath+patchStrategy=merge+listType=map+listMapKey=devicePath+optional | |
+| volumeMounts | [][VolumeMount](#volume-mount)| `[]*VolumeMount` | | | Pod volumes to mount into the container's filesystem.Cannot be updated.+optional+patchMergeKey=mountPath+patchStrategy=merge+listType=map+listMapKey=mountPath | |
| workingDir | string| `string` | | | Container's working directory.If not specified, the container runtime's default will be used, whichmight be configured in the container image.Cannot be updated.+optional | |
@@ -3975,6 +4128,7 @@ intent and helps make sure that UIDs and names do not get conflated.
| mountPropagation | [MountPropagationMode](#mount-propagation-mode)| `MountPropagationMode` | | | | |
| name | string| `string` | | | This must match the Name of a Volume. | |
| readOnly | boolean| `bool` | | | Mounted read-only if true, read-write otherwise (false or unspecified).Defaults to false.+optional | |
+| recursiveReadOnly | [RecursiveReadOnlyMode](#recursive-read-only-mode)| `RecursiveReadOnlyMode` | | | | |
| subPath | string| `string` | | | Path within the volume from which the container's volume should be mounted.Defaults to "" (volume's root).+optional | |
| subPathExpr | string| `string` | | | Expanded path within the volume from which the container's volume should be mounted.Behaves similarly to SubPath but environment variable references $(VAR_NAME) are expanded using the container's environment.Defaults to "" (volume's root).SubPathExpr and SubPath are mutually exclusive.+optional | |
@@ -3994,6 +4148,7 @@ intent and helps make sure that UIDs and names do not get conflated.
| Name | Type | Go type | Required | Default | Description | Example |
|------|------|---------|:--------:| ------- |-------------|---------|
+| clusterTrustBundle | [ClusterTrustBundleProjection](#cluster-trust-bundle-projection)| `ClusterTrustBundleProjection` | | | | |
| configMap | [ConfigMapProjection](#config-map-projection)| `ConfigMapProjection` | | | | |
| downwardAPI | [DownwardAPIProjection](#downward-api-projection)| `DownwardAPIProjection` | | | | |
| secret | [SecretProjection](#secret-projection)| `SecretProjection` | | | | |
@@ -4001,6 +4156,22 @@ intent and helps make sure that UIDs and names do not get conflated.
+### VolumeResourceRequirements
+
+
+
+
+
+
+**Properties**
+
+| Name | Type | Go type | Required | Default | Description | Example |
+|------|------|---------|:--------:| ------- |-------------|---------|
+| limits | [ResourceList](#resource-list)| `ResourceList` | | | | |
+| requests | [ResourceList](#resource-list)| `ResourceList` | | | | |
+
+
+
### VsphereVirtualDiskVolumeSource
@@ -4051,7 +4222,7 @@ intent and helps make sure that UIDs and names do not get conflated.
|------|------|---------|:--------:| ------- |-------------|---------|
| gmsaCredentialSpec | string| `string` | | | GMSACredentialSpec is where the GMSA admission webhook(https://github.com/kubernetes-sigs/windows-gmsa) inlines the contents of theGMSA credential spec named by the GMSACredentialSpecName field.+optional | |
| gmsaCredentialSpecName | string| `string` | | | GMSACredentialSpecName is the name of the GMSA credential spec to use.+optional | |
-| hostProcess | boolean| `bool` | | | HostProcess determines if a container should be run as a 'Host Process' container.This field is alpha-level and will only be honored by components that enable theWindowsHostProcessContainers feature flag. Setting this field without the featureflag will result in errors when validating the Pod. All of a Pod's containers musthave the same effective HostProcess value (it is not allowed to have a mix of HostProcesscontainers and non-HostProcess containers). In addition, if HostProcess is truethen HostNetwork must also be set to true.+optional | |
+| hostProcess | boolean| `bool` | | | HostProcess determines if a container should be run as a 'Host Process' container.All of a Pod's containers must have the same effective HostProcess value(it is not allowed to have a mix of HostProcess containers and non-HostProcess containers).In addition, if HostProcess is true then HostNetwork must also be set to true.+optional | |
| runAsUserName | string| `string` | | | The UserName in Windows to run the entrypoint of the container process.Defaults to the user specified in image metadata if unspecified.May also be set in PodSecurityContext. If set in both SecurityContext andPodSecurityContext, the value specified in SecurityContext takes precedence.+optional | |
diff --git a/docs/fields.md b/docs/fields.md
index 1eec88d2f505..fce94b502d96 100644
--- a/docs/fields.md
+++ b/docs/fields.md
@@ -323,8 +323,12 @@ Workflow is the definition of a workflow resource
- [`suspend-template.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/suspend-template.yaml)
+- [`synchronization-mutex-tmpl-level-legacy.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/synchronization-mutex-tmpl-level-legacy.yaml)
+
- [`synchronization-mutex-tmpl-level.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/synchronization-mutex-tmpl-level.yaml)
+- [`synchronization-mutex-wf-level-legacy.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/synchronization-mutex-wf-level-legacy.yaml)
+
- [`synchronization-mutex-wf-level.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/synchronization-mutex-wf-level.yaml)
- [`template-defaults.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/template-defaults.yaml)
@@ -384,6 +388,10 @@ CronWorkflow is the definition of a scheduled workflow resource
- [`cron-backfill.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/cron-backfill.yaml)
+- [`cron-when.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/cron-when.yaml)
+
+- [`cron-workflow-multiple-schedules.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/cron-workflow-multiple-schedules.yaml)
+
- [`cron-workflow.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/cron-workflow.yaml)
- [`dag-inline-cronworkflow.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/dag-inline-cronworkflow.yaml)
@@ -428,6 +436,24 @@ WorkflowTemplate is the definition of a workflow template resource
|`metadata`|[`ObjectMeta`](#objectmeta)|_No description available_|
|`spec`|[`WorkflowSpec`](#workflowspec)|_No description available_|
+## WorkflowEventBinding
+
+WorkflowEventBinding is the definition of an event resource
+
+
+Examples (click to open)
+
+- [`event-consumer-workfloweventbinding.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/workflow-event-binding/event-consumer-workfloweventbinding.yaml)
+
+
+### Fields
+| Field Name | Field Type | Description |
+|:----------:|:----------:|---------------|
+|`apiVersion`|`string`|APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.io.k8s.community/contributors/devel/sig-architecture/api-conventions.md#resources|
+|`kind`|`string`|Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.io.k8s.community/contributors/devel/sig-architecture/api-conventions.md#types-kinds|
+|`metadata`|[`ObjectMeta`](#objectmeta)|_No description available_|
+|`spec`|[`WorkflowEventBindingSpec`](#workfloweventbindingspec)|_No description available_|
+
## WorkflowSpec
WorkflowSpec is the specification of a Workflow.
@@ -505,6 +531,10 @@ WorkflowSpec is the specification of a Workflow.
- [`cron-backfill.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/cron-backfill.yaml)
+- [`cron-when.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/cron-when.yaml)
+
+- [`cron-workflow-multiple-schedules.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/cron-workflow-multiple-schedules.yaml)
+
- [`cron-workflow.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/cron-workflow.yaml)
- [`custom-metrics.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/custom-metrics.yaml)
@@ -751,8 +781,12 @@ WorkflowSpec is the specification of a Workflow.
- [`suspend-template.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/suspend-template.yaml)
+- [`synchronization-mutex-tmpl-level-legacy.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/synchronization-mutex-tmpl-level-legacy.yaml)
+
- [`synchronization-mutex-tmpl-level.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/synchronization-mutex-tmpl-level.yaml)
+- [`synchronization-mutex-wf-level-legacy.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/synchronization-mutex-wf-level-legacy.yaml)
+
- [`synchronization-mutex-wf-level.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/synchronization-mutex-wf-level.yaml)
- [`template-defaults.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/template-defaults.yaml)
@@ -777,6 +811,8 @@ WorkflowSpec is the specification of a Workflow.
- [`work-avoidance.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/work-avoidance.yaml)
+- [`event-consumer-workfloweventbinding.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/workflow-event-binding/event-consumer-workfloweventbinding.yaml)
+
- [`event-consumer-workflowtemplate.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/workflow-event-binding/event-consumer-workflowtemplate.yaml)
- [`workflow-of-workflows.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/workflow-of-workflows.yaml)
@@ -948,6 +984,10 @@ CronWorkflowSpec is the specification of a CronWorkflow
- [`cron-backfill.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/cron-backfill.yaml)
+- [`cron-when.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/cron-when.yaml)
+
+- [`cron-workflow-multiple-schedules.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/cron-workflow-multiple-schedules.yaml)
+
- [`cron-workflow.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/cron-workflow.yaml)
- [`custom-metrics.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/custom-metrics.yaml)
@@ -1194,8 +1234,12 @@ CronWorkflowSpec is the specification of a CronWorkflow
- [`suspend-template.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/suspend-template.yaml)
+- [`synchronization-mutex-tmpl-level-legacy.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/synchronization-mutex-tmpl-level-legacy.yaml)
+
- [`synchronization-mutex-tmpl-level.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/synchronization-mutex-tmpl-level.yaml)
+- [`synchronization-mutex-wf-level-legacy.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/synchronization-mutex-wf-level-legacy.yaml)
+
- [`synchronization-mutex-wf-level.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/synchronization-mutex-wf-level.yaml)
- [`template-defaults.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/template-defaults.yaml)
@@ -1220,6 +1264,8 @@ CronWorkflowSpec is the specification of a CronWorkflow
- [`work-avoidance.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/work-avoidance.yaml)
+- [`event-consumer-workfloweventbinding.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/workflow-event-binding/event-consumer-workfloweventbinding.yaml)
+
- [`event-consumer-workflowtemplate.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/workflow-event-binding/event-consumer-workflowtemplate.yaml)
- [`workflow-of-workflows.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/workflow-of-workflows.yaml)
@@ -1246,13 +1292,14 @@ CronWorkflowSpec is the specification of a CronWorkflow
|:----------:|:----------:|---------------|
|`concurrencyPolicy`|`string`|ConcurrencyPolicy is the K8s-style concurrency policy that will be used|
|`failedJobsHistoryLimit`|`integer`|FailedJobsHistoryLimit is the number of failed jobs to be kept at a time|
-|`schedule`|`string`|Schedule is a schedule to run the Workflow in Cron format|
-|`schedules`|`Array< string >`|Schedules is a list of schedules to run the Workflow in Cron format|
+|`schedule`|`string`|Schedule is a schedule to run the Workflow in Cron format. Deprecated, use Schedules|
+|`schedules`|`Array< string >`|v3.6 and after: Schedules is a list of schedules to run the Workflow in Cron format|
|`startingDeadlineSeconds`|`integer`|StartingDeadlineSeconds is the K8s-style deadline that will limit the time a CronWorkflow will be run after its original scheduled time if it is missed.|
|`stopStrategy`|[`StopStrategy`](#stopstrategy)|v3.6 and after: StopStrategy defines if the CronWorkflow should stop scheduling based on a condition|
|`successfulJobsHistoryLimit`|`integer`|SuccessfulJobsHistoryLimit is the number of successful jobs to be kept at a time|
|`suspend`|`boolean`|Suspend is a flag that will stop new CronWorkflows from running if set to true|
|`timezone`|`string`|Timezone is the timezone against which the cron schedule will be calculated, e.g. "Asia/Tokyo". Default is machine's local time.|
+|`when`|`string`|v3.6 and after: When is an expression that determines if a run should be scheduled.|
|`workflowMetadata`|[`ObjectMeta`](#objectmeta)|WorkflowMetadata contains some metadata of the workflow to be run|
|`workflowSpec`|[`WorkflowSpec`](#workflowspec)|WorkflowSpec is the spec of the workflow to be run|
@@ -1270,6 +1317,16 @@ CronWorkflowStatus is the status of a CronWorkflow
|`phase`|`string`|v3.6 and after: Phase is an enum of Active or Stopped. It changes to Stopped when stopStrategy.condition is true|
|`succeeded`|`integer`|v3.6 and after: Succeeded counts how many times child workflows succeeded|
+## WorkflowEventBindingSpec
+
+_No description available_
+
+### Fields
+| Field Name | Field Type | Description |
+|:----------:|:----------:|---------------|
+|`event`|[`Event`](#event)|Event is the event to bind to|
+|`submit`|[`Submit`](#submit)|Submit is the workflow template to submit|
+
## Arguments
Arguments to a template
@@ -1439,10 +1496,14 @@ Arguments to a template
- [`suspend-template-outputs.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/suspend-template-outputs.yaml)
+- [`synchronization-mutex-tmpl-level-legacy.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/synchronization-mutex-tmpl-level-legacy.yaml)
+
- [`synchronization-mutex-tmpl-level.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/synchronization-mutex-tmpl-level.yaml)
- [`work-avoidance.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/work-avoidance.yaml)
+- [`event-consumer-workfloweventbinding.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/workflow-event-binding/event-consumer-workfloweventbinding.yaml)
+
- [`event-consumer-workflowtemplate.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/workflow-event-binding/event-consumer-workflowtemplate.yaml)
- [`workflow-of-workflows.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/workflow-of-workflows.yaml)
@@ -1630,16 +1691,22 @@ Synchronization holds synchronization lock configuration
Examples with this field (click to open)
+- [`synchronization-mutex-tmpl-level-legacy.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/synchronization-mutex-tmpl-level-legacy.yaml)
+
- [`synchronization-mutex-tmpl-level.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/synchronization-mutex-tmpl-level.yaml)
+- [`synchronization-mutex-wf-level-legacy.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/synchronization-mutex-wf-level-legacy.yaml)
+
- [`synchronization-mutex-wf-level.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/synchronization-mutex-wf-level.yaml)
### Fields
| Field Name | Field Type | Description |
|:----------:|:----------:|---------------|
-|`mutex`|[`Mutex`](#mutex)|Mutex holds the Mutex lock details|
-|`semaphore`|[`SemaphoreRef`](#semaphoreref)|Semaphore holds the Semaphore configuration|
+|`mutex`|[`Mutex`](#mutex)|Mutex holds the Mutex lock details - deprecated, use mutexes instead|
+|`mutexes`|`Array<`[`Mutex`](#mutex)`>`|v3.6 and after: Mutexes holds the list of Mutex lock details|
+|`semaphore`|[`SemaphoreRef`](#semaphoreref)|Semaphore holds the Semaphore configuration - deprecated, use semaphores instead|
+|`semaphores`|`Array<`[`SemaphoreRef`](#semaphoreref)`>`|v3.6 and after: Semaphores holds the list of Semaphores configuration|
## Template
@@ -1752,6 +1819,8 @@ WorkflowTemplateRef is a reference to a WorkflowTemplate resource.
- [`dag-inline-cronworkflow.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/dag-inline-cronworkflow.yaml)
+- [`event-consumer-workfloweventbinding.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/workflow-event-binding/event-consumer-workfloweventbinding.yaml)
+
- [`workflow-of-workflows.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/workflow-of-workflows.yaml)
- [`workflow-template-ref-with-entrypoint-arg-passing.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/workflow-template/workflow-template-ref-with-entrypoint-arg-passing.yaml)
@@ -1944,8 +2013,12 @@ SynchronizationStatus stores the status of semaphore and mutex.
Examples with this field (click to open)
+- [`synchronization-mutex-tmpl-level-legacy.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/synchronization-mutex-tmpl-level-legacy.yaml)
+
- [`synchronization-mutex-tmpl-level.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/synchronization-mutex-tmpl-level.yaml)
+- [`synchronization-mutex-wf-level-legacy.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/synchronization-mutex-wf-level-legacy.yaml)
+
- [`synchronization-mutex-wf-level.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/synchronization-mutex-wf-level.yaml)
@@ -1957,12 +2030,44 @@ SynchronizationStatus stores the status of semaphore and mutex.
## StopStrategy
-v3.6 and after: StopStrategy defines if the CronWorkflow should stop scheduling based on a condition
+StopStrategy defines if the CronWorkflow should stop scheduling based on an expression. v3.6 and after
+
+### Fields
+| Field Name | Field Type | Description |
+|:----------:|:----------:|---------------|
+|`expression`|`string`|v3.6 and after: Expression is an expression that stops scheduling workflows when true. Use the variables `cronworkflow`.`failed` or `cronworkflow`.`succeeded` to access the number of failed or successful child workflows.|
+
+## Event
+
+_No description available_
+
+
+Examples with this field (click to open)
+
+- [`event-consumer-workfloweventbinding.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/workflow-event-binding/event-consumer-workfloweventbinding.yaml)
+
+
+### Fields
+| Field Name | Field Type | Description |
+|:----------:|:----------:|---------------|
+|`selector`|`string`|Selector (https://github.com/expr-lang/expr) that we must must match the io.argoproj.workflow.v1alpha1. E.g. `payload.message == "test"`|
+
+## Submit
+
+_No description available_
+
+
+Examples with this field (click to open)
+
+- [`event-consumer-workfloweventbinding.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/workflow-event-binding/event-consumer-workfloweventbinding.yaml)
+
### Fields
| Field Name | Field Type | Description |
|:----------:|:----------:|---------------|
-|`condition`|`string`|v3.6 and after: Condition is an expression that stops scheduling workflows when true. Use the variables `failed` or `succeeded` to access the number of failed or successful child workflows.|
+|`arguments`|[`Arguments`](#arguments)|Arguments extracted from the event and then set as arguments to the workflow created.|
+|`metadata`|[`ObjectMeta`](#objectmeta)|Metadata optional means to customize select fields of the workflow metadata|
+|`workflowTemplateRef`|[`WorkflowTemplateRef`](#workflowtemplateref)|WorkflowTemplateRef the workflow template to submit|
## Artifact
@@ -2239,10 +2344,14 @@ Parameter indicate a passed string parameter to a service template with an optio
- [`suspend-template-outputs.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/suspend-template-outputs.yaml)
+- [`synchronization-mutex-tmpl-level-legacy.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/synchronization-mutex-tmpl-level-legacy.yaml)
+
- [`synchronization-mutex-tmpl-level.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/synchronization-mutex-tmpl-level.yaml)
- [`work-avoidance.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/work-avoidance.yaml)
+- [`event-consumer-workfloweventbinding.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/workflow-event-binding/event-consumer-workfloweventbinding.yaml)
+
- [`event-consumer-workflowtemplate.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/workflow-event-binding/event-consumer-workflowtemplate.yaml)
- [`workflow-of-workflows.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/workflow-of-workflows.yaml)
@@ -2358,8 +2467,12 @@ Mutex holds Mutex configuration
Examples with this field (click to open)
+- [`synchronization-mutex-tmpl-level-legacy.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/synchronization-mutex-tmpl-level-legacy.yaml)
+
- [`synchronization-mutex-tmpl-level.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/synchronization-mutex-tmpl-level.yaml)
+- [`synchronization-mutex-wf-level-legacy.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/synchronization-mutex-wf-level-legacy.yaml)
+
- [`synchronization-mutex-wf-level.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/synchronization-mutex-wf-level.yaml)
@@ -2608,7 +2721,9 @@ UserContainer is a container specified by a user.
|`name`|`string`|Name of the container specified as a DNS_LABEL. Each container in a pod must have a unique name (DNS_LABEL). Cannot be updated.|
|`ports`|`Array<`[`ContainerPort`](#containerport)`>`|List of ports to expose from the container. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default "0.0.0.0" address inside a container will be accessible from the network. Modifying this array with strategic merge patch may corrupt the data. For more information See https://github.com/kubernetes/kubernetes/issues/108255. Cannot be updated.|
|`readinessProbe`|[`Probe`](#probe)|Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes|
+|`resizePolicy`|`Array<`[`ContainerResizePolicy`](#containerresizepolicy)`>`|Resources resize policy for the container.|
|`resources`|[`ResourceRequirements`](#resourcerequirements)|Compute Resources required by this container. Cannot be updated. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/|
+|`restartPolicy`|`string`|RestartPolicy defines the restart behavior of individual containers in a pod. This field may only be set for init containers, and the only allowed value is "Always". For non-init containers or when this field is not specified, the restart behavior is defined by the Pod's restart policy and the container type. Setting the RestartPolicy as "Always" for the init container will have the following effect: this init container will be continually restarted on exit until all regular containers have terminated. Once all regular containers have completed, all init containers with restartPolicy "Always" will be shut down. This lifecycle differs from normal init containers and is often referred to as a "sidecar" container. Although this init container still starts in the init container sequence, it does not wait for the container to complete before proceeding to the next init container. Instead, the next init container starts immediately after this init container is started, or after any startupProbe has successfully completed.|
|`securityContext`|[`SecurityContext`](#securitycontext)|SecurityContext defines the security options the container should be run with. If set, the fields of SecurityContext override the equivalent fields of PodSecurityContext. More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/|
|`startupProbe`|[`Probe`](#probe)|StartupProbe indicates that the Pod has successfully initialized. If specified, no other probes are executed until this completes successfully. If this probe fails, the Pod will be restarted, just as if the livenessProbe failed. This can be used to provide different probe parameters at the beginning of a Pod's lifecycle, when it might take a long time to load data or warm a cache, than during steady-state operation. This cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes|
|`stdin`|`boolean`|Whether this container should allocate a buffer for stdin in the container runtime. If this is not set, reads from stdin in the container will always result in EOF. Default is false.|
@@ -2947,7 +3062,9 @@ ScriptTemplate is a template subtype to enable scripting through code steps
|`name`|`string`|Name of the container specified as a DNS_LABEL. Each container in a pod must have a unique name (DNS_LABEL). Cannot be updated.|
|`ports`|`Array<`[`ContainerPort`](#containerport)`>`|List of ports to expose from the container. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default "0.0.0.0" address inside a container will be accessible from the network. Modifying this array with strategic merge patch may corrupt the data. For more information See https://github.com/kubernetes/kubernetes/issues/108255. Cannot be updated.|
|`readinessProbe`|[`Probe`](#probe)|Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes|
+|`resizePolicy`|`Array<`[`ContainerResizePolicy`](#containerresizepolicy)`>`|Resources resize policy for the container.|
|`resources`|[`ResourceRequirements`](#resourcerequirements)|Compute Resources required by this container. Cannot be updated. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/|
+|`restartPolicy`|`string`|RestartPolicy defines the restart behavior of individual containers in a pod. This field may only be set for init containers, and the only allowed value is "Always". For non-init containers or when this field is not specified, the restart behavior is defined by the Pod's restart policy and the container type. Setting the RestartPolicy as "Always" for the init container will have the following effect: this init container will be continually restarted on exit until all regular containers have terminated. Once all regular containers have completed, all init containers with restartPolicy "Always" will be shut down. This lifecycle differs from normal init containers and is often referred to as a "sidecar" container. Although this init container still starts in the init container sequence, it does not wait for the container to complete before proceeding to the next init container. Instead, the next init container starts immediately after this init container is started, or after any startupProbe has successfully completed.|
|`securityContext`|[`SecurityContext`](#securitycontext)|SecurityContext defines the security options the container should be run with. If set, the fields of SecurityContext override the equivalent fields of PodSecurityContext. More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/|
|`source`|`string`|Source contains the source code of the script to execute|
|`startupProbe`|[`Probe`](#probe)|StartupProbe indicates that the Pod has successfully initialized. If specified, no other probes are executed until this completes successfully. If this probe fails, the Pod will be restarted, just as if the livenessProbe failed. This can be used to provide different probe parameters at the beginning of a Pod's lifecycle, when it might take a long time to load data or warm a cache, than during steady-state operation. This cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes|
@@ -3109,6 +3226,8 @@ WorkflowStep is a reference to a template to execute in a series of step
- [`suspend-template.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/suspend-template.yaml)
+- [`synchronization-mutex-tmpl-level-legacy.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/synchronization-mutex-tmpl-level-legacy.yaml)
+
- [`synchronization-mutex-tmpl-level.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/synchronization-mutex-tmpl-level.yaml)
- [`template-defaults.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/template-defaults.yaml)
@@ -3161,6 +3280,8 @@ SuspendTemplate is a template subtype to suspend a workflow at a predetermined p
Examples with this field (click to open)
+- [`cron-workflow-multiple-schedules.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/cron-workflow-multiple-schedules.yaml)
+
- [`cron-workflow.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/cron-workflow.yaml)
- [`intermediate-parameters.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/intermediate-parameters.yaml)
@@ -3242,8 +3363,12 @@ MutexStatus contains which objects hold mutex locks, and which objects this work
Examples with this field (click to open)
+- [`synchronization-mutex-tmpl-level-legacy.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/synchronization-mutex-tmpl-level-legacy.yaml)
+
- [`synchronization-mutex-tmpl-level.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/synchronization-mutex-tmpl-level.yaml)
+- [`synchronization-mutex-wf-level-legacy.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/synchronization-mutex-wf-level-legacy.yaml)
+
- [`synchronization-mutex-wf-level.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/synchronization-mutex-wf-level.yaml)
@@ -3390,6 +3515,7 @@ GitArtifact is the location of an git artifact
|`disableSubmodules`|`boolean`|DisableSubmodules disables submodules during git clone|
|`fetch`|`Array< string >`|Fetch specifies a number of refs that should be fetched before checkout|
|`insecureIgnoreHostKey`|`boolean`|InsecureIgnoreHostKey disables SSH strict host key checking during git clone|
+|`insecureSkipTLS`|`boolean`|InsecureSkipTLS disables server certificate verification resulting in insecure HTTPS connections|
|`passwordSecret`|[`SecretKeySelector`](#secretkeyselector)|PasswordSecret is the secret selector to the repository password|
|`repo`|`string`|Repo is the git repository|
|`revision`|`string`|Revision is the git commit, tag, branch to checkout|
@@ -3527,6 +3653,7 @@ S3Artifact is the location of an S3 artifact
|`region`|`string`|Region contains the optional bucket region|
|`roleARN`|`string`|RoleARN is the Amazon Resource Name (ARN) of the role to assume.|
|`secretKeySecret`|[`SecretKeySelector`](#secretkeyselector)|SecretKeySecret is the secret selector to the bucket's secret key|
+|`sessionTokenSecret`|[`SecretKeySelector`](#secretkeyselector)|SessionTokenSecret is used for ephemeral credentials like an IAM assume role or S3 access grant|
|`useSDKCreds`|`boolean`|UseSDKCreds tells the driver to figure out credentials based on sdk defaults.|
## ValueFrom
@@ -3579,6 +3706,8 @@ ValueFrom describes a location in which to obtain the value to a parameter
- [`secrets.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/secrets.yaml)
- [`suspend-template-outputs.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/suspend-template-outputs.yaml)
+
+- [`event-consumer-workfloweventbinding.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/workflow-event-binding/event-consumer-workfloweventbinding.yaml)
### Fields
@@ -3759,7 +3888,9 @@ _No description available_
|`name`|`string`|Name of the container specified as a DNS_LABEL. Each container in a pod must have a unique name (DNS_LABEL). Cannot be updated.|
|`ports`|`Array<`[`ContainerPort`](#containerport)`>`|List of ports to expose from the container. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default "0.0.0.0" address inside a container will be accessible from the network. Modifying this array with strategic merge patch may corrupt the data. For more information See https://github.com/kubernetes/kubernetes/issues/108255. Cannot be updated.|
|`readinessProbe`|[`Probe`](#probe)|Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes|
+|`resizePolicy`|`Array<`[`ContainerResizePolicy`](#containerresizepolicy)`>`|Resources resize policy for the container.|
|`resources`|[`ResourceRequirements`](#resourcerequirements)|Compute Resources required by this container. Cannot be updated. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/|
+|`restartPolicy`|`string`|RestartPolicy defines the restart behavior of individual containers in a pod. This field may only be set for init containers, and the only allowed value is "Always". For non-init containers or when this field is not specified, the restart behavior is defined by the Pod's restart policy and the container type. Setting the RestartPolicy as "Always" for the init container will have the following effect: this init container will be continually restarted on exit until all regular containers have terminated. Once all regular containers have completed, all init containers with restartPolicy "Always" will be shut down. This lifecycle differs from normal init containers and is often referred to as a "sidecar" container. Although this init container still starts in the init container sequence, it does not wait for the container to complete before proceeding to the next init container. Instead, the next init container starts immediately after this init container is started, or after any startupProbe has successfully completed.|
|`securityContext`|[`SecurityContext`](#securitycontext)|SecurityContext defines the security options the container should be run with. If set, the fields of SecurityContext override the equivalent fields of PodSecurityContext. More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/|
|`startupProbe`|[`Probe`](#probe)|StartupProbe indicates that the Pod has successfully initialized. If specified, no other probes are executed until this completes successfully. If this probe fails, the Pod will be restarted, just as if the livenessProbe failed. This can be used to provide different probe parameters at the beginning of a Pod's lifecycle, when it might take a long time to load data or warm a cache, than during steady-state operation. This cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes|
|`stdin`|`boolean`|Whether this container should allocate a buffer for stdin in the container runtime. If this is not set, reads from stdin in the container will always result in EOF. Default is false.|
@@ -4248,6 +4379,7 @@ S3ArtifactRepository defines the controller configuration for an S3 artifact rep
|`region`|`string`|Region contains the optional bucket region|
|`roleARN`|`string`|RoleARN is the Amazon Resource Name (ARN) of the role to assume.|
|`secretKeySecret`|[`SecretKeySelector`](#secretkeyselector)|SecretKeySecret is the secret selector to the bucket's secret key|
+|`sessionTokenSecret`|[`SecretKeySelector`](#secretkeyselector)|SessionTokenSecret is used for ephemeral credentials like an IAM assume role or S3 access grant|
|`useSDKCreds`|`boolean`|UseSDKCreds tells the driver to figure out credentials based on sdk defaults.|
## MutexHolding
@@ -4481,6 +4613,8 @@ _No description available_
- [`secrets.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/secrets.yaml)
- [`suspend-template-outputs.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/suspend-template-outputs.yaml)
+
+- [`event-consumer-workfloweventbinding.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/workflow-event-binding/event-consumer-workfloweventbinding.yaml)
### Fields
@@ -4623,6 +4757,10 @@ ObjectMeta is metadata that all persisted resources must have, which includes al
- [`cron-backfill.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/cron-backfill.yaml)
+- [`cron-when.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/cron-when.yaml)
+
+- [`cron-workflow-multiple-schedules.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/cron-workflow-multiple-schedules.yaml)
+
- [`cron-workflow.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/cron-workflow.yaml)
- [`custom-metrics.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/custom-metrics.yaml)
@@ -4869,8 +5007,12 @@ ObjectMeta is metadata that all persisted resources must have, which includes al
- [`suspend-template.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/suspend-template.yaml)
+- [`synchronization-mutex-tmpl-level-legacy.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/synchronization-mutex-tmpl-level-legacy.yaml)
+
- [`synchronization-mutex-tmpl-level.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/synchronization-mutex-tmpl-level.yaml)
+- [`synchronization-mutex-wf-level-legacy.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/synchronization-mutex-wf-level-legacy.yaml)
+
- [`synchronization-mutex-wf-level.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/synchronization-mutex-wf-level.yaml)
- [`template-defaults.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/template-defaults.yaml)
@@ -4895,6 +5037,8 @@ ObjectMeta is metadata that all persisted resources must have, which includes al
- [`work-avoidance.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/work-avoidance.yaml)
+- [`event-consumer-workfloweventbinding.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/workflow-event-binding/event-consumer-workfloweventbinding.yaml)
+
- [`event-consumer-workflowtemplate.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/workflow-event-binding/event-consumer-workflowtemplate.yaml)
- [`workflow-of-workflows.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/workflow-of-workflows.yaml)
@@ -4919,22 +5063,21 @@ ObjectMeta is metadata that all persisted resources must have, which includes al
### Fields
| Field Name | Field Type | Description |
|:----------:|:----------:|---------------|
-|`annotations`|`Map< string , string >`|Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations|
-|`clusterName`|`string`|The name of the cluster which the object belongs to. This is used to distinguish resources with same name and namespace in different clusters. This field is not set anywhere right now and apiserver is going to ignore it if set in create or update request.|
+|`annotations`|`Map< string , string >`|Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations|
|`creationTimestamp`|[`Time`](#time)|CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC. Populated by the system. Read-only. Null for lists. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata|
|`deletionGracePeriodSeconds`|`integer`|Number of seconds allowed for this object to gracefully terminate before it will be removed from the system. Only set when deletionTimestamp is also set. May only be shortened. Read-only.|
|`deletionTimestamp`|[`Time`](#time)|DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted. This field is set by the server when a graceful deletion is requested by the user, and is not directly settable by a client. The resource is expected to be deleted (no longer visible from resource lists, and not reachable by name) after the time in this field, once the finalizers list is empty. As long as the finalizers list contains items, deletion is blocked. Once the deletionTimestamp is set, this value may not be unset or be set further into the future, although it may be shortened or the resource may be deleted prior to this time. For example, a user may request that a pod is deleted in 30 seconds. The Kubelet will react by sending a graceful termination signal to the containers in the pod. After that 30 seconds, the Kubelet will send a hard termination signal (SIGKILL) to the container and after cleanup, remove the pod from the API. In the presence of network partitions, this object may still exist after this timestamp, until an administrator or automated process can determine the resource is fully terminated. If not set, graceful deletion of the object has not been requested. Populated by the system when a graceful deletion is requested. Read-only. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata|
|`finalizers`|`Array< string >`|Must be empty before the object is deleted from the registry. Each entry is an identifier for the responsible component that will remove the entry from the list. If the deletionTimestamp of the object is non-nil, entries in this list can only be removed. Finalizers may be processed and removed in any order. Order is NOT enforced because it introduces significant risk of stuck finalizers. finalizers is a shared field, any actor with permission can reorder it. If the finalizer list is processed in order, then this can lead to a situation in which the component responsible for the first finalizer in the list is waiting for a signal (field value, external system, or other) produced by a component responsible for a finalizer later in the list, resulting in a deadlock. Without enforced ordering finalizers are free to order amongst themselves and are not vulnerable to ordering changes in the list.|
-|`generateName`|`string`|GenerateName is an optional prefix, used by the server, to generate a unique name ONLY IF the Name field has not been provided. If this field is used, the name returned to the client will be different than the name passed. This value will also be combined with a unique suffix. The provided value has the same validation rules as the Name field, and may be truncated by the length of the suffix required to make the value unique on the server. If this field is specified and the generated name exists, the server will NOT return a 409 - instead, it will either return 201 Created or 500 with Reason ServerTimeout indicating a unique name could not be found in the time allotted, and the client should retry (optionally after the time indicated in the Retry-After header). Applied only if Name is not specified. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#idempotency|
+|`generateName`|`string`|GenerateName is an optional prefix, used by the server, to generate a unique name ONLY IF the Name field has not been provided. If this field is used, the name returned to the client will be different than the name passed. This value will also be combined with a unique suffix. The provided value has the same validation rules as the Name field, and may be truncated by the length of the suffix required to make the value unique on the server. If this field is specified and the generated name exists, the server will return a 409. Applied only if Name is not specified. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#idempotency|
|`generation`|`integer`|A sequence number representing a specific generation of the desired state. Populated by the system. Read-only.|
-|`labels`|`Map< string , string >`|Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels|
+|`labels`|`Map< string , string >`|Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels|
|`managedFields`|`Array<`[`ManagedFieldsEntry`](#managedfieldsentry)`>`|ManagedFields maps workflow-id and version to the set of fields that are managed by that workflow. This is mostly for internal housekeeping, and users typically shouldn't need to set or understand this field. A workflow can be the user's name, a controller's name, or the name of a specific apply path like "ci-cd". The set of fields is always in the version that the workflow used when modifying the object.|
-|`name`|`string`|Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names|
-|`namespace`|`string`|Namespace defines the space within which each name must be unique. An empty namespace is equivalent to the "default" namespace, but "default" is the canonical representation. Not all objects are required to be scoped to a namespace - the value of this field for those objects will be empty. Must be a DNS_LABEL. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/namespaces|
+|`name`|`string`|Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#names|
+|`namespace`|`string`|Namespace defines the space within which each name must be unique. An empty namespace is equivalent to the "default" namespace, but "default" is the canonical representation. Not all objects are required to be scoped to a namespace - the value of this field for those objects will be empty. Must be a DNS_LABEL. Cannot be updated. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces|
|`ownerReferences`|`Array<`[`OwnerReference`](#ownerreference)`>`|List of objects depended by this object. If ALL objects in the list have been deleted, this object will be garbage collected. If this object is managed by a controller, then an entry in this list will point to this controller, with the controller field set to true. There cannot be more than one managing controller.|
|`resourceVersion`|`string`|An opaque value that represents the internal version of this object that can be used by clients to determine when objects have changed. May be used for optimistic concurrency, change detection, and the watch operation on a resource or set of resources. Clients must treat these values as opaque and passed unmodified back to the server. They may only be valid for a particular resource or set of resources. Populated by the system. Read-only. Value must be treated as opaque by clients and . More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency|
-|~~`selfLink`~~|~~`string`~~|~~SelfLink is a URL representing this object. Populated by the system. Read-only.~~ DEPRECATED Kubernetes will stop propagating this field in 1.20 release and the field is planned to be removed in 1.21 release.|
-|`uid`|`string`|UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations. Populated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids|
+|`selfLink`|`string`|Deprecated: selfLink is a legacy read-only field that is no longer populated by the system.|
+|`uid`|`string`|UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations. Populated by the system. Read-only. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#uids|
## Affinity
@@ -4987,7 +5130,7 @@ LocalObjectReference contains enough information to let you locate the reference
### Fields
| Field Name | Field Type | Description |
|:----------:|:----------:|---------------|
-|`name`|`string`|Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names|
+|`name`|`string`|Name of the referent. This field is effectively required, but due to backwards compatibility is allowed to be empty. Instances of this type with an empty value here are almost certainly wrong. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names|
## PodDisruptionBudgetSpec
@@ -5005,6 +5148,7 @@ PodDisruptionBudgetSpec is a description of a PodDisruptionBudget.
|`maxUnavailable`|[`IntOrString`](#intorstring)|An eviction is allowed if at most "maxUnavailable" pods selected by "selector" are unavailable after the eviction, i.e. even in absence of the evicted pod. For example, one can prevent all voluntary evictions by specifying 0. This is a mutually exclusive setting with "minAvailable".|
|`minAvailable`|[`IntOrString`](#intorstring)|An eviction is allowed if at least "minAvailable" pods selected by "selector" will still be available after the eviction, i.e. even in the absence of the evicted pod. So for example you can prevent all voluntary evictions by specifying "100%".|
|`selector`|[`LabelSelector`](#labelselector)|Label query over pods whose evictions are managed by the disruption budget. A null selector will match no pods, while an empty ({}) selector will select all pods within the namespace.|
+|`unhealthyPodEvictionPolicy`|`string`|UnhealthyPodEvictionPolicy defines the criteria for when unhealthy pods should be considered for eviction. Current implementation considers healthy pods, as pods that have status.conditions item with type="Ready",status="True". Valid policies are IfHealthyBudget and AlwaysAllow. If no policy is specified, the default behavior will be used, which corresponds to the IfHealthyBudget policy. IfHealthyBudget policy means that running pods (status.phase="Running"), but not yet healthy can be evicted only if the guarded application is not disrupted (status.currentHealthy is at least equal to status.desiredHealthy). Healthy pods will be subject to the PDB for eviction. AlwaysAllow policy means that all running pods (status.phase="Running"), but not yet healthy are considered disrupted and can be evicted regardless of whether the criteria in a PDB is met. This means perspective running pods of a disrupted application might not get a chance to become healthy. Healthy pods will be subject to the PDB for eviction. Additional policies may be added in the future. Clients making eviction decisions should disallow eviction of unhealthy pods if they encounter an unrecognized policy in this field. This field is beta-level. The eviction API uses this field when the feature gate PDBUnhealthyPodEvictionPolicy is enabled (enabled by default).|
## PodSecurityContext
@@ -5019,6 +5163,7 @@ PodSecurityContext holds pod-level security attributes and common container sett
### Fields
| Field Name | Field Type | Description |
|:----------:|:----------:|---------------|
+|`appArmorProfile`|[`AppArmorProfile`](#apparmorprofile)|appArmorProfile is the AppArmor options to use by the containers in this pod. Note that this field cannot be set when spec.os.name is windows.|
|`fsGroup`|`integer`|A special supplemental group that applies to all containers in a pod. Some volume types allow the Kubelet to change the ownership of that volume to be owned by the pod: 1. The owning GID will be the FSGroup 2. The setgid bit is set (new files created in the volume will be owned by FSGroup) 3. The permission bits are OR'd with rw-rw---- If unset, the Kubelet will not modify the ownership and permissions of any volume. Note that this field cannot be set when spec.os.name is windows.|
|`fsGroupChangePolicy`|`string`|fsGroupChangePolicy defines behavior of changing ownership and permission of the volume before being exposed inside Pod. This field will only apply to volume types which support fsGroup based ownership(and permissions). It will have no effect on ephemeral volume types such as: secret, configmaps and emptydir. Valid values are "OnRootMismatch" and "Always". If not specified, "Always" is used. Note that this field cannot be set when spec.os.name is windows.|
|`runAsGroup`|`integer`|The GID to run the entrypoint of the container process. Uses runtime default if unset. May also be set in SecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence for that container. Note that this field cannot be set when spec.os.name is windows.|
@@ -5026,7 +5171,7 @@ PodSecurityContext holds pod-level security attributes and common container sett
|`runAsUser`|`integer`|The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in SecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence for that container. Note that this field cannot be set when spec.os.name is windows.|
|`seLinuxOptions`|[`SELinuxOptions`](#selinuxoptions)|The SELinux context to be applied to all containers. If unspecified, the container runtime will allocate a random SELinux context for each container. May also be set in SecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence for that container. Note that this field cannot be set when spec.os.name is windows.|
|`seccompProfile`|[`SeccompProfile`](#seccompprofile)|The seccomp options to use by the containers in this pod. Note that this field cannot be set when spec.os.name is windows.|
-|`supplementalGroups`|`Array< integer >`|A list of groups applied to the first process run in each container, in addition to the container's primary GID. If unspecified, no groups will be added to any container. Note that this field cannot be set when spec.os.name is windows.|
+|`supplementalGroups`|`Array< integer >`|A list of groups applied to the first process run in each container, in addition to the container's primary GID, the fsGroup (if specified), and group memberships defined in the container image for the uid of the container process. If unspecified, no additional groups are added to any container. Note that group memberships defined in the container image for the uid of the container process are still effective, even if they are not included in this list. Note that this field cannot be set when spec.os.name is windows.|
|`sysctls`|`Array<`[`Sysctl`](#sysctl)`>`|Sysctls hold a list of namespaced sysctls used for the pod. Pods with unsupported sysctls (by the container runtime) might fail to launch. Note that this field cannot be set when spec.os.name is windows.|
|`windowsOptions`|[`WindowsSecurityContextOptions`](#windowssecuritycontextoptions)|The Windows specific settings applied to all containers. If unspecified, the options within a container's SecurityContext will be used. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. Note that this field cannot be set when spec.os.name is linux.|
@@ -5037,9 +5182,9 @@ The pod this Toleration is attached to tolerates any taint that matches the trip
### Fields
| Field Name | Field Type | Description |
|:----------:|:----------:|---------------|
-|`effect`|`string`|Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute. Possible enum values: - `"NoExecute"` Evict any already-running pods that do not tolerate the taint. Currently enforced by NodeController. - `"NoSchedule"` Do not allow new pods to schedule onto the node unless they tolerate the taint, but allow all pods submitted to Kubelet without going through the scheduler to start, and allow all already-running pods to continue running. Enforced by the scheduler. - `"PreferNoSchedule"` Like TaintEffectNoSchedule, but the scheduler tries not to schedule new pods onto the node, rather than prohibiting new pods from scheduling onto the node entirely. Enforced by the scheduler.|
+|`effect`|`string`|Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.|
|`key`|`string`|Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists; this combination means to match all values and all keys.|
-|`operator`|`string`|Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category. Possible enum values: - `"Equal"` - `"Exists"`|
+|`operator`|`string`|Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category.|
|`tolerationSeconds`|`integer`|TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system.|
|`value`|`string`|Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string.|
@@ -5071,8 +5216,8 @@ PersistentVolumeClaim is a user's request for and claim to a persistent volume
|`apiVersion`|`string`|APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources|
|`kind`|`string`|Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds|
|`metadata`|[`ObjectMeta`](#objectmeta)|Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata|
-|`spec`|[`PersistentVolumeClaimSpec`](#persistentvolumeclaimspec)|Spec defines the desired characteristics of a volume requested by a pod author. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims|
-|`status`|[`PersistentVolumeClaimStatus`](#persistentvolumeclaimstatus)|Status represents the current information/status of a persistent volume claim. Read-only. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims|
+|`spec`|[`PersistentVolumeClaimSpec`](#persistentvolumeclaimspec)|spec defines the desired characteristics of a volume requested by a pod author. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims|
+|`status`|[`PersistentVolumeClaimStatus`](#persistentvolumeclaimstatus)|status represents the current information/status of a persistent volume claim. Read-only. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims|
## Volume
@@ -5099,36 +5244,36 @@ Volume represents a named volume in a pod that may be accessed by any container
### Fields
| Field Name | Field Type | Description |
|:----------:|:----------:|---------------|
-|`awsElasticBlockStore`|[`AWSElasticBlockStoreVolumeSource`](#awselasticblockstorevolumesource)|AWSElasticBlockStore represents an AWS Disk resource that is attached to a kubelet's host machine and then exposed to the pod. More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore|
-|`azureDisk`|[`AzureDiskVolumeSource`](#azurediskvolumesource)|AzureDisk represents an Azure Data Disk mount on the host and bind mount to the pod.|
-|`azureFile`|[`AzureFileVolumeSource`](#azurefilevolumesource)|AzureFile represents an Azure File Service mount on the host and bind mount to the pod.|
-|`cephfs`|[`CephFSVolumeSource`](#cephfsvolumesource)|CephFS represents a Ceph FS mount on the host that shares a pod's lifetime|
-|`cinder`|[`CinderVolumeSource`](#cindervolumesource)|Cinder represents a cinder volume attached and mounted on kubelets host machine. More info: https://examples.k8s.io/mysql-cinder-pd/README.md|
-|`configMap`|[`ConfigMapVolumeSource`](#configmapvolumesource)|ConfigMap represents a configMap that should populate this volume|
-|`csi`|[`CSIVolumeSource`](#csivolumesource)|CSI (Container Storage Interface) represents ephemeral storage that is handled by certain external CSI drivers (Beta feature).|
-|`downwardAPI`|[`DownwardAPIVolumeSource`](#downwardapivolumesource)|DownwardAPI represents downward API about the pod that should populate this volume|
-|`emptyDir`|[`EmptyDirVolumeSource`](#emptydirvolumesource)|EmptyDir represents a temporary directory that shares a pod's lifetime. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir|
-|`ephemeral`|[`EphemeralVolumeSource`](#ephemeralvolumesource)|Ephemeral represents a volume that is handled by a cluster storage driver. The volume's lifecycle is tied to the pod that defines it - it will be created before the pod starts, and deleted when the pod is removed. Use this if: a) the volume is only needed while the pod runs, b) features of normal volumes like restoring from snapshot or capacity tracking are needed, c) the storage driver is specified through a storage class, and d) the storage driver supports dynamic volume provisioning through a PersistentVolumeClaim (see EphemeralVolumeSource for more information on the connection between this volume type and PersistentVolumeClaim). Use PersistentVolumeClaim or one of the vendor-specific APIs for volumes that persist for longer than the lifecycle of an individual pod. Use CSI for light-weight local ephemeral volumes if the CSI driver is meant to be used that way - see the documentation of the driver for more information. A pod can use both types of ephemeral volumes and persistent volumes at the same time.|
-|`fc`|[`FCVolumeSource`](#fcvolumesource)|FC represents a Fibre Channel resource that is attached to a kubelet's host machine and then exposed to the pod.|
-|`flexVolume`|[`FlexVolumeSource`](#flexvolumesource)|FlexVolume represents a generic volume resource that is provisioned/attached using an exec based plugin.|
-|`flocker`|[`FlockerVolumeSource`](#flockervolumesource)|Flocker represents a Flocker volume attached to a kubelet's host machine. This depends on the Flocker control service being running|
-|`gcePersistentDisk`|[`GCEPersistentDiskVolumeSource`](#gcepersistentdiskvolumesource)|GCEPersistentDisk represents a GCE Disk resource that is attached to a kubelet's host machine and then exposed to the pod. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk|
-|~~`gitRepo`~~|~~[`GitRepoVolumeSource`](#gitrepovolumesource)~~|~~GitRepo represents a git repository at a particular revision.~~ DEPRECATED: GitRepo is deprecated. To provision a container with a git repo, mount an EmptyDir into an InitContainer that clones the repo using git, then mount the EmptyDir into the Pod's container.|
-|`glusterfs`|[`GlusterfsVolumeSource`](#glusterfsvolumesource)|Glusterfs represents a Glusterfs mount on the host that shares a pod's lifetime. More info: https://examples.k8s.io/volumes/glusterfs/README.md|
-|`hostPath`|[`HostPathVolumeSource`](#hostpathvolumesource)|HostPath represents a pre-existing file or directory on the host machine that is directly exposed to the container. This is generally used for system agents or other privileged things that are allowed to see the host machine. Most containers will NOT need this. More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath|
-|`iscsi`|[`ISCSIVolumeSource`](#iscsivolumesource)|ISCSI represents an ISCSI Disk resource that is attached to a kubelet's host machine and then exposed to the pod. More info: https://examples.k8s.io/volumes/iscsi/README.md|
-|`name`|`string`|Volume's name. Must be a DNS_LABEL and unique within the pod. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names|
-|`nfs`|[`NFSVolumeSource`](#nfsvolumesource)|NFS represents an NFS mount on the host that shares a pod's lifetime More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs|
-|`persistentVolumeClaim`|[`PersistentVolumeClaimVolumeSource`](#persistentvolumeclaimvolumesource)|PersistentVolumeClaimVolumeSource represents a reference to a PersistentVolumeClaim in the same namespace. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims|
-|`photonPersistentDisk`|[`PhotonPersistentDiskVolumeSource`](#photonpersistentdiskvolumesource)|PhotonPersistentDisk represents a PhotonController persistent disk attached and mounted on kubelets host machine|
-|`portworxVolume`|[`PortworxVolumeSource`](#portworxvolumesource)|PortworxVolume represents a portworx volume attached and mounted on kubelets host machine|
-|`projected`|[`ProjectedVolumeSource`](#projectedvolumesource)|Items for all in one resources secrets, configmaps, and downward API|
-|`quobyte`|[`QuobyteVolumeSource`](#quobytevolumesource)|Quobyte represents a Quobyte mount on the host that shares a pod's lifetime|
-|`rbd`|[`RBDVolumeSource`](#rbdvolumesource)|RBD represents a Rados Block Device mount on the host that shares a pod's lifetime. More info: https://examples.k8s.io/volumes/rbd/README.md|
-|`scaleIO`|[`ScaleIOVolumeSource`](#scaleiovolumesource)|ScaleIO represents a ScaleIO persistent volume attached and mounted on Kubernetes nodes.|
-|`secret`|[`SecretVolumeSource`](#secretvolumesource)|Secret represents a secret that should populate this volume. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret|
-|`storageos`|[`StorageOSVolumeSource`](#storageosvolumesource)|StorageOS represents a StorageOS volume attached and mounted on Kubernetes nodes.|
-|`vsphereVolume`|[`VsphereVirtualDiskVolumeSource`](#vspherevirtualdiskvolumesource)|VsphereVolume represents a vSphere volume attached and mounted on kubelets host machine|
+|`awsElasticBlockStore`|[`AWSElasticBlockStoreVolumeSource`](#awselasticblockstorevolumesource)|awsElasticBlockStore represents an AWS Disk resource that is attached to a kubelet's host machine and then exposed to the pod. More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore|
+|`azureDisk`|[`AzureDiskVolumeSource`](#azurediskvolumesource)|azureDisk represents an Azure Data Disk mount on the host and bind mount to the pod.|
+|`azureFile`|[`AzureFileVolumeSource`](#azurefilevolumesource)|azureFile represents an Azure File Service mount on the host and bind mount to the pod.|
+|`cephfs`|[`CephFSVolumeSource`](#cephfsvolumesource)|cephFS represents a Ceph FS mount on the host that shares a pod's lifetime|
+|`cinder`|[`CinderVolumeSource`](#cindervolumesource)|cinder represents a cinder volume attached and mounted on kubelets host machine. More info: https://examples.k8s.io/mysql-cinder-pd/README.md|
+|`configMap`|[`ConfigMapVolumeSource`](#configmapvolumesource)|configMap represents a configMap that should populate this volume|
+|`csi`|[`CSIVolumeSource`](#csivolumesource)|csi (Container Storage Interface) represents ephemeral storage that is handled by certain external CSI drivers (Beta feature).|
+|`downwardAPI`|[`DownwardAPIVolumeSource`](#downwardapivolumesource)|downwardAPI represents downward API about the pod that should populate this volume|
+|`emptyDir`|[`EmptyDirVolumeSource`](#emptydirvolumesource)|emptyDir represents a temporary directory that shares a pod's lifetime. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir|
+|`ephemeral`|[`EphemeralVolumeSource`](#ephemeralvolumesource)|ephemeral represents a volume that is handled by a cluster storage driver. The volume's lifecycle is tied to the pod that defines it - it will be created before the pod starts, and deleted when the pod is removed. Use this if: a) the volume is only needed while the pod runs, b) features of normal volumes like restoring from snapshot or capacity tracking are needed, c) the storage driver is specified through a storage class, and d) the storage driver supports dynamic volume provisioning through a PersistentVolumeClaim (see EphemeralVolumeSource for more information on the connection between this volume type and PersistentVolumeClaim). Use PersistentVolumeClaim or one of the vendor-specific APIs for volumes that persist for longer than the lifecycle of an individual pod. Use CSI for light-weight local ephemeral volumes if the CSI driver is meant to be used that way - see the documentation of the driver for more information. A pod can use both types of ephemeral volumes and persistent volumes at the same time.|
+|`fc`|[`FCVolumeSource`](#fcvolumesource)|fc represents a Fibre Channel resource that is attached to a kubelet's host machine and then exposed to the pod.|
+|`flexVolume`|[`FlexVolumeSource`](#flexvolumesource)|flexVolume represents a generic volume resource that is provisioned/attached using an exec based plugin.|
+|`flocker`|[`FlockerVolumeSource`](#flockervolumesource)|flocker represents a Flocker volume attached to a kubelet's host machine. This depends on the Flocker control service being running|
+|`gcePersistentDisk`|[`GCEPersistentDiskVolumeSource`](#gcepersistentdiskvolumesource)|gcePersistentDisk represents a GCE Disk resource that is attached to a kubelet's host machine and then exposed to the pod. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk|
+|~~`gitRepo`~~|~~[`GitRepoVolumeSource`](#gitrepovolumesource)~~|~~gitRepo represents a git repository at a particular revision.~~ DEPRECATED: GitRepo is deprecated. To provision a container with a git repo, mount an EmptyDir into an InitContainer that clones the repo using git, then mount the EmptyDir into the Pod's container.|
+|`glusterfs`|[`GlusterfsVolumeSource`](#glusterfsvolumesource)|glusterfs represents a Glusterfs mount on the host that shares a pod's lifetime. More info: https://examples.k8s.io/volumes/glusterfs/README.md|
+|`hostPath`|[`HostPathVolumeSource`](#hostpathvolumesource)|hostPath represents a pre-existing file or directory on the host machine that is directly exposed to the container. This is generally used for system agents or other privileged things that are allowed to see the host machine. Most containers will NOT need this. More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath|
+|`iscsi`|[`ISCSIVolumeSource`](#iscsivolumesource)|iscsi represents an ISCSI Disk resource that is attached to a kubelet's host machine and then exposed to the pod. More info: https://examples.k8s.io/volumes/iscsi/README.md|
+|`name`|`string`|name of the volume. Must be a DNS_LABEL and unique within the pod. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names|
+|`nfs`|[`NFSVolumeSource`](#nfsvolumesource)|nfs represents an NFS mount on the host that shares a pod's lifetime More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs|
+|`persistentVolumeClaim`|[`PersistentVolumeClaimVolumeSource`](#persistentvolumeclaimvolumesource)|persistentVolumeClaimVolumeSource represents a reference to a PersistentVolumeClaim in the same namespace. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims|
+|`photonPersistentDisk`|[`PhotonPersistentDiskVolumeSource`](#photonpersistentdiskvolumesource)|photonPersistentDisk represents a PhotonController persistent disk attached and mounted on kubelets host machine|
+|`portworxVolume`|[`PortworxVolumeSource`](#portworxvolumesource)|portworxVolume represents a portworx volume attached and mounted on kubelets host machine|
+|`projected`|[`ProjectedVolumeSource`](#projectedvolumesource)|projected items for all in one resources secrets, configmaps, and downward API|
+|`quobyte`|[`QuobyteVolumeSource`](#quobytevolumesource)|quobyte represents a Quobyte mount on the host that shares a pod's lifetime|
+|`rbd`|[`RBDVolumeSource`](#rbdvolumesource)|rbd represents a Rados Block Device mount on the host that shares a pod's lifetime. More info: https://examples.k8s.io/volumes/rbd/README.md|
+|`scaleIO`|[`ScaleIOVolumeSource`](#scaleiovolumesource)|scaleIO represents a ScaleIO persistent volume attached and mounted on Kubernetes nodes.|
+|`secret`|[`SecretVolumeSource`](#secretvolumesource)|secret represents a secret that should populate this volume. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret|
+|`storageos`|[`StorageOSVolumeSource`](#storageosvolumesource)|storageOS represents a StorageOS volume attached and mounted on Kubernetes nodes.|
+|`vsphereVolume`|[`VsphereVirtualDiskVolumeSource`](#vspherevirtualdiskvolumesource)|vsphereVolume represents a vSphere volume attached and mounted on kubelets host machine|
## Time
@@ -5242,6 +5387,10 @@ A single application container that you want to run within a pod.
- [`continue-on-fail.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/continue-on-fail.yaml)
+- [`cron-when.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/cron-when.yaml)
+
+- [`cron-workflow-multiple-schedules.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/cron-workflow-multiple-schedules.yaml)
+
- [`cron-workflow.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/cron-workflow.yaml)
- [`custom-metrics.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/custom-metrics.yaml)
@@ -5454,8 +5603,12 @@ A single application container that you want to run within a pod.
- [`suspend-template.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/suspend-template.yaml)
+- [`synchronization-mutex-tmpl-level-legacy.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/synchronization-mutex-tmpl-level-legacy.yaml)
+
- [`synchronization-mutex-tmpl-level.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/synchronization-mutex-tmpl-level.yaml)
+- [`synchronization-mutex-wf-level-legacy.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/synchronization-mutex-wf-level-legacy.yaml)
+
- [`synchronization-mutex-wf-level.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/synchronization-mutex-wf-level.yaml)
- [`template-defaults.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/template-defaults.yaml)
@@ -5488,24 +5641,26 @@ A single application container that you want to run within a pod.
### Fields
| Field Name | Field Type | Description |
|:----------:|:----------:|---------------|
-|`args`|`Array< string >`|Arguments to the entrypoint. The docker image's CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell|
-|`command`|`Array< string >`|Entrypoint array. Not executed within a shell. The docker image's ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell|
+|`args`|`Array< string >`|Arguments to the entrypoint. The container image's CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell|
+|`command`|`Array< string >`|Entrypoint array. Not executed within a shell. The container image's ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell|
|`env`|`Array<`[`EnvVar`](#envvar)`>`|List of environment variables to set in the container. Cannot be updated.|
|`envFrom`|`Array<`[`EnvFromSource`](#envfromsource)`>`|List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated.|
-|`image`|`string`|Docker image name. More info: https://kubernetes.io/docs/concepts/containers/images This field is optional to allow higher level config management to default or override container images in workload controllers like Deployments and StatefulSets.|
-|`imagePullPolicy`|`string`|Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images Possible enum values: - `"Always"` means that kubelet always attempts to pull the latest image. Container will fail If the pull fails. - `"IfNotPresent"` means that kubelet pulls if the image isn't present on disk. Container will fail if the image isn't present and the pull fails. - `"Never"` means that kubelet never pulls an image, but only uses a local image. Container will fail if the image isn't present|
+|`image`|`string`|Container image name. More info: https://kubernetes.io/docs/concepts/containers/images This field is optional to allow higher level config management to default or override container images in workload controllers like Deployments and StatefulSets.|
+|`imagePullPolicy`|`string`|Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images|
|`lifecycle`|[`Lifecycle`](#lifecycle)|Actions that the management system should take in response to container lifecycle events. Cannot be updated.|
|`livenessProbe`|[`Probe`](#probe)|Periodic probe of container liveness. Container will be restarted if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes|
|`name`|`string`|Name of the container specified as a DNS_LABEL. Each container in a pod must have a unique name (DNS_LABEL). Cannot be updated.|
-|`ports`|`Array<`[`ContainerPort`](#containerport)`>`|List of ports to expose from the container. Exposing a port here gives the system additional information about the network connections a container uses, but is primarily informational. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default "0.0.0.0" address inside a container will be accessible from the network. Cannot be updated.|
+|`ports`|`Array<`[`ContainerPort`](#containerport)`>`|List of ports to expose from the container. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default "0.0.0.0" address inside a container will be accessible from the network. Modifying this array with strategic merge patch may corrupt the data. For more information See https://github.com/kubernetes/kubernetes/issues/108255. Cannot be updated.|
|`readinessProbe`|[`Probe`](#probe)|Periodic probe of container service readiness. Container will be removed from service endpoints if the probe fails. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes|
+|`resizePolicy`|`Array<`[`ContainerResizePolicy`](#containerresizepolicy)`>`|Resources resize policy for the container.|
|`resources`|[`ResourceRequirements`](#resourcerequirements)|Compute Resources required by this container. Cannot be updated. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/|
+|`restartPolicy`|`string`|RestartPolicy defines the restart behavior of individual containers in a pod. This field may only be set for init containers, and the only allowed value is "Always". For non-init containers or when this field is not specified, the restart behavior is defined by the Pod's restart policy and the container type. Setting the RestartPolicy as "Always" for the init container will have the following effect: this init container will be continually restarted on exit until all regular containers have terminated. Once all regular containers have completed, all init containers with restartPolicy "Always" will be shut down. This lifecycle differs from normal init containers and is often referred to as a "sidecar" container. Although this init container still starts in the init container sequence, it does not wait for the container to complete before proceeding to the next init container. Instead, the next init container starts immediately after this init container is started, or after any startupProbe has successfully completed.|
|`securityContext`|[`SecurityContext`](#securitycontext)|SecurityContext defines the security options the container should be run with. If set, the fields of SecurityContext override the equivalent fields of PodSecurityContext. More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/|
|`startupProbe`|[`Probe`](#probe)|StartupProbe indicates that the Pod has successfully initialized. If specified, no other probes are executed until this completes successfully. If this probe fails, the Pod will be restarted, just as if the livenessProbe failed. This can be used to provide different probe parameters at the beginning of a Pod's lifecycle, when it might take a long time to load data or warm a cache, than during steady-state operation. This cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes|
|`stdin`|`boolean`|Whether this container should allocate a buffer for stdin in the container runtime. If this is not set, reads from stdin in the container will always result in EOF. Default is false.|
|`stdinOnce`|`boolean`|Whether the container runtime should close the stdin channel after it has been opened by a single attach. When stdin is true the stdin stream will remain open across multiple attach sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the first client attaches to stdin, and then remains open and accepts data until the client disconnects, at which time stdin is closed and remains closed until the container is restarted. If this flag is false, a container processes that reads from stdin will never receive an EOF. Default is false|
|`terminationMessagePath`|`string`|Optional: Path at which the file to which the container's termination message will be written is mounted into the container's filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log. Cannot be updated.|
-|`terminationMessagePolicy`|`string`|Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated. Possible enum values: - `"FallbackToLogsOnError"` will read the most recent contents of the container logs for the container status message when the container exits with an error and the terminationMessagePath has no contents. - `"File"` is the default behavior and will set the container status message to the contents of the container's terminationMessagePath when the container exits.|
+|`terminationMessagePolicy`|`string`|Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated.|
|`tty`|`boolean`|Whether this container should allocate a TTY for itself, also requires 'stdin' to be true. Default is false.|
|`volumeDevices`|`Array<`[`VolumeDevice`](#volumedevice)`>`|volumeDevices is the list of block devices to be used by the container.|
|`volumeMounts`|`Array<`[`VolumeMount`](#volumemount)`>`|Pod volumes to mount into the container's filesystem. Cannot be updated.|
@@ -5529,7 +5684,7 @@ Selects a key from a ConfigMap.
| Field Name | Field Type | Description |
|:----------:|:----------:|---------------|
|`key`|`string`|The key to select.|
-|`name`|`string`|Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names|
+|`name`|`string`|Name of the referent. This field is effectively required, but due to backwards compatibility is allowed to be empty. Instances of this type with an empty value here are almost certainly wrong. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names|
|`optional`|`boolean`|Specify whether the ConfigMap or its key must be defined|
## VolumeMount
@@ -5570,9 +5725,10 @@ VolumeMount describes a mounting of a Volume within a container.
| Field Name | Field Type | Description |
|:----------:|:----------:|---------------|
|`mountPath`|`string`|Path within the container at which the volume should be mounted. Must not contain ':'.|
-|`mountPropagation`|`string`|mountPropagation determines how mounts are propagated from the host to container and the other way around. When not set, MountPropagationNone is used. This field is beta in 1.10.|
+|`mountPropagation`|`string`|mountPropagation determines how mounts are propagated from the host to container and the other way around. When not set, MountPropagationNone is used. This field is beta in 1.10. When RecursiveReadOnly is set to IfPossible or to Enabled, MountPropagation must be None or unspecified (which defaults to None).|
|`name`|`string`|This must match the Name of a Volume.|
|`readOnly`|`boolean`|Mounted read-only if true, read-write otherwise (false or unspecified). Defaults to false.|
+|`recursiveReadOnly`|`string`|RecursiveReadOnly specifies whether read-only mounts should be handled recursively. If ReadOnly is false, this field has no meaning and must be unspecified. If ReadOnly is true, and this field is set to Disabled, the mount is not made recursively read-only. If this field is set to IfPossible, the mount is made recursively read-only, if it is supported by the container runtime. If this field is set to Enabled, the mount is made recursively read-only if it is supported by the container runtime, otherwise the pod will not be started and an error will be generated to indicate the reason. If this field is set to IfPossible or Enabled, MountPropagation must be set to None (or be unspecified, which defaults to None). If this field is not specified, it is treated as an equivalent of Disabled.|
|`subPath`|`string`|Path within the volume from which the container's volume should be mounted. Defaults to "" (volume's root).|
|`subPathExpr`|`string`|Expanded path within the volume from which the container's volume should be mounted. Behaves similarly to SubPath but environment variable references $(VAR_NAME) are expanded using the container's environment. Defaults to "" (volume's root). SubPathExpr and SubPath are mutually exclusive.|
@@ -5635,7 +5791,7 @@ Probe describes a health check to be performed against a container to determine
|:----------:|:----------:|---------------|
|`exec`|[`ExecAction`](#execaction)|Exec specifies the action to take.|
|`failureThreshold`|`integer`|Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.|
-|`grpc`|[`GRPCAction`](#grpcaction)|GRPC specifies an action involving a GRPC port. This is an alpha field and requires enabling GRPCContainerProbe feature gate.|
+|`grpc`|[`GRPCAction`](#grpcaction)|GRPC specifies an action involving a GRPC port.|
|`httpGet`|[`HTTPGetAction`](#httpgetaction)|HTTPGet specifies the http request to perform.|
|`initialDelaySeconds`|`integer`|Number of seconds after the container has started before liveness probes are initiated. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes|
|`periodSeconds`|`integer`|How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1.|
@@ -5655,7 +5811,17 @@ ContainerPort represents a network port in a single container.
|`hostIP`|`string`|What host IP to bind the external port to.|
|`hostPort`|`integer`|Number of port to expose on the host. If specified, this must be a valid port number, 0 < x < 65536. If HostNetwork is specified, this must match ContainerPort. Most containers do not need this.|
|`name`|`string`|If specified, this must be an IANA_SVC_NAME and unique within the pod. Each named port in a pod must have a unique name. Name for the port that can be referred to by services.|
-|`protocol`|`string`|Protocol for port. Must be UDP, TCP, or SCTP. Defaults to "TCP". Possible enum values: - `"SCTP"` is the SCTP protocol. - `"TCP"` is the TCP protocol. - `"UDP"` is the UDP protocol.|
+|`protocol`|`string`|Protocol for port. Must be UDP, TCP, or SCTP. Defaults to "TCP".|
+
+## ContainerResizePolicy
+
+ContainerResizePolicy represents resource resize policy for the container.
+
+### Fields
+| Field Name | Field Type | Description |
+|:----------:|:----------:|---------------|
+|`resourceName`|`string`|Name of the resource to which this resource resize policy applies. Supported values: cpu, memory.|
+|`restartPolicy`|`string`|Restart policy to apply when specified resource is resized. If not specified, it defaults to NotRequired.|
## ResourceRequirements
@@ -5690,8 +5856,9 @@ ResourceRequirements describes the compute resource requirements.
### Fields
| Field Name | Field Type | Description |
|:----------:|:----------:|---------------|
+|`claims`|`Array<`[`ResourceClaim`](#resourceclaim)`>`|Claims lists the names of resources, defined in spec.resourceClaims, that are used by this container. This is an alpha field and requires enabling the DynamicResourceAllocation feature gate. This field is immutable. It can only be set for containers.|
|`limits`|[`Quantity`](#quantity)|Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/|
-|`requests`|[`Quantity`](#quantity)|Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/|
+|`requests`|[`Quantity`](#quantity)|Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. Requests cannot exceed Limits. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/|
## SecurityContext
@@ -5707,6 +5874,7 @@ SecurityContext holds security configuration that will be applied to a container
| Field Name | Field Type | Description |
|:----------:|:----------:|---------------|
|`allowPrivilegeEscalation`|`boolean`|AllowPrivilegeEscalation controls whether a process can gain more privileges than its parent process. This bool directly controls if the no_new_privs flag will be set on the container process. AllowPrivilegeEscalation is true always when the container is: 1) run as Privileged 2) has CAP_SYS_ADMIN Note that this field cannot be set when spec.os.name is windows.|
+|`appArmorProfile`|[`AppArmorProfile`](#apparmorprofile)|appArmorProfile is the AppArmor options to use by this container. If set, this profile overrides the pod's appArmorProfile. Note that this field cannot be set when spec.os.name is windows.|
|`capabilities`|[`Capabilities`](#capabilities)|The capabilities to add/drop when running containers. Defaults to the default set of capabilities granted by the container runtime. Note that this field cannot be set when spec.os.name is windows.|
|`privileged`|`boolean`|Run container in privileged mode. Processes in privileged containers are essentially equivalent to root on the host. Defaults to false. Note that this field cannot be set when spec.os.name is windows.|
|`procMount`|`string`|procMount denotes the type of proc mount to use for the containers. The default is DefaultProcMount which uses the container runtime defaults for readonly paths and masked paths. This requires the ProcMountType feature flag to be enabled. Note that this field cannot be set when spec.os.name is windows.|
@@ -5744,7 +5912,7 @@ SecretKeySelector selects a key of a Secret.
| Field Name | Field Type | Description |
|:----------:|:----------:|---------------|
|`key`|`string`|The key of the secret to select from. Must be a valid secret key.|
-|`name`|`string`|Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names|
+|`name`|`string`|Name of the referent. This field is effectively required, but due to backwards compatibility is allowed to be empty. Instances of this type with an empty value here are almost certainly wrong. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names|
|`optional`|`boolean`|Specify whether the Secret or its key must be defined|
## ManagedFieldsEntry
@@ -5760,7 +5928,7 @@ ManagedFieldsEntry is a workflow-id, a FieldSet and the group version of the res
|`manager`|`string`|Manager is an identifier of the workflow managing these fields.|
|`operation`|`string`|Operation is the type of operation which lead to this ManagedFieldsEntry being created. The only valid values for this field are 'Apply' and 'Update'.|
|`subresource`|`string`|Subresource is the name of the subresource used to update that object, or empty string if the object was updated through the main resource. The value of this field is used to distinguish between managers, even if they share the same name. For example, a status update will be distinct from a regular update using the same manager name. Note that the APIVersion field is not related to the Subresource field and it always corresponds to the version of the main resource.|
-|`time`|[`Time`](#time)|Time is timestamp of when these fields were set. It should always be empty if Operation is 'Apply'|
+|`time`|[`Time`](#time)|Time is the timestamp of when the ManagedFields entry was added. The timestamp will also be updated if a field is added, the manager changes any of the owned fields value or removes a field. The timestamp does not update when a field is removed from the entry because another manager took it over.|
## OwnerReference
@@ -5770,11 +5938,11 @@ OwnerReference contains enough information to let you identify an owning object.
| Field Name | Field Type | Description |
|:----------:|:----------:|---------------|
|`apiVersion`|`string`|API version of the referent.|
-|`blockOwnerDeletion`|`boolean`|If true, AND if the owner has the "foregroundDeletion" finalizer, then the owner cannot be deleted from the key-value store until this reference is removed. Defaults to false. To set this field, a user needs "delete" permission of the owner, otherwise 422 (Unprocessable Entity) will be returned.|
+|`blockOwnerDeletion`|`boolean`|If true, AND if the owner has the "foregroundDeletion" finalizer, then the owner cannot be deleted from the key-value store until this reference is removed. See https://kubernetes.io/docs/concepts/architecture/garbage-collection/#foreground-deletion for how the garbage collector interacts with this field and enforces the foreground deletion. Defaults to false. To set this field, a user needs "delete" permission of the owner, otherwise 422 (Unprocessable Entity) will be returned.|
|`controller`|`boolean`|If true, this reference points to the managing controller.|
|`kind`|`string`|Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds|
-|`name`|`string`|Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names|
-|`uid`|`string`|UID of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#uids|
+|`name`|`string`|Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#names|
+|`uid`|`string`|UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#uids|
## NodeAffinity
@@ -5822,6 +5990,16 @@ PodDNSConfigOption defines DNS resolver options of a pod.
|`name`|`string`|Required.|
|`value`|`string`|_No description available_|
+## AppArmorProfile
+
+AppArmorProfile defines a pod or container's AppArmor settings.
+
+### Fields
+| Field Name | Field Type | Description |
+|:----------:|:----------:|---------------|
+|`localhostProfile`|`string`|localhostProfile indicates a profile loaded on the node that should be used. The profile must be preconfigured on the node to work. Must match the loaded name of the profile. Must be set if and only if type is "Localhost".|
+|`type`|`string`|type indicates which kind of AppArmor profile will be applied. Valid options are: Localhost - a profile pre-loaded on the node. RuntimeDefault - the container runtime's default profile. Unconfined - no AppArmor enforcement.|
+
## SELinuxOptions
SELinuxOptions are the labels to be applied to the container
@@ -5841,8 +6019,8 @@ SeccompProfile defines a pod/container's seccomp profile settings. Only one prof
### Fields
| Field Name | Field Type | Description |
|:----------:|:----------:|---------------|
-|`localhostProfile`|`string`|localhostProfile indicates a profile defined in a file on the node should be used. The profile must be preconfigured on the node to work. Must be a descending path, relative to the kubelet's configured seccomp profile location. Must only be set if type is "Localhost".|
-|`type`|`string`|type indicates which kind of seccomp profile will be applied. Valid options are: Localhost - a profile defined in a file on the node should be used. RuntimeDefault - the container runtime default profile should be used. Unconfined - no profile should be applied. Possible enum values: - `"Localhost"` indicates a profile defined in a file on the node should be used. The file's location relative to /seccomp. - `"RuntimeDefault"` represents the default container runtime seccomp profile. - `"Unconfined"` indicates no seccomp profile is applied (A.K.A. unconfined).|
+|`localhostProfile`|`string`|localhostProfile indicates a profile defined in a file on the node should be used. The profile must be preconfigured on the node to work. Must be a descending path, relative to the kubelet's configured seccomp profile location. Must be set if type is "Localhost". Must NOT be set for any other type.|
+|`type`|`string`|type indicates which kind of seccomp profile will be applied. Valid options are: Localhost - a profile defined in a file on the node should be used. RuntimeDefault - the container runtime default profile should be used. Unconfined - no profile should be applied.|
## Sysctl
@@ -5863,598 +6041,235 @@ WindowsSecurityContextOptions contain Windows-specific options and credentials.
|:----------:|:----------:|---------------|
|`gmsaCredentialSpec`|`string`|GMSACredentialSpec is where the GMSA admission webhook (https://github.com/kubernetes-sigs/windows-gmsa) inlines the contents of the GMSA credential spec named by the GMSACredentialSpecName field.|
|`gmsaCredentialSpecName`|`string`|GMSACredentialSpecName is the name of the GMSA credential spec to use.|
-|`hostProcess`|`boolean`|HostProcess determines if a container should be run as a 'Host Process' container. This field is alpha-level and will only be honored by components that enable the WindowsHostProcessContainers feature flag. Setting this field without the feature flag will result in errors when validating the Pod. All of a Pod's containers must have the same effective HostProcess value (it is not allowed to have a mix of HostProcess containers and non-HostProcess containers). In addition, if HostProcess is true then HostNetwork must also be set to true.|
+|`hostProcess`|`boolean`|HostProcess determines if a container should be run as a 'Host Process' container. All of a Pod's containers must have the same effective HostProcess value (it is not allowed to have a mix of HostProcess containers and non-HostProcess containers). In addition, if HostProcess is true then HostNetwork must also be set to true.|
|`runAsUserName`|`string`|The UserName in Windows to run the entrypoint of the container process. Defaults to the user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence.|
## PersistentVolumeClaimSpec
PersistentVolumeClaimSpec describes the common attributes of storage devices and allows a Source for provider-specific attributes
-
-Examples with this field (click to open)
+### Fields
+| Field Name | Field Type | Description |
+|:----------:|:----------:|---------------|
+|`accessModes`|`Array< string >`|accessModes contains the desired access modes the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1|
+|`dataSource`|[`TypedLocalObjectReference`](#typedlocalobjectreference)|dataSource field can be used to specify either: * An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot) * An existing PVC (PersistentVolumeClaim) If the provisioner or an external controller can support the specified data source, it will create a new volume based on the contents of the specified data source. When the AnyVolumeDataSource feature gate is enabled, dataSource contents will be copied to dataSourceRef, and dataSourceRef contents will be copied to dataSource when dataSourceRef.namespace is not specified. If the namespace is specified, then dataSourceRef will not be copied to dataSource.|
+|`dataSourceRef`|[`TypedObjectReference`](#typedobjectreference)|dataSourceRef specifies the object from which to populate the volume with data, if a non-empty volume is desired. This may be any object from a non-empty API group (non core object) or a PersistentVolumeClaim object. When this field is specified, volume binding will only succeed if the type of the specified object matches some installed volume populator or dynamic provisioner. This field will replace the functionality of the dataSource field and as such if both fields are non-empty, they must have the same value. For backwards compatibility, when namespace isn't specified in dataSourceRef, both fields (dataSource and dataSourceRef) will be set to the same value automatically if one of them is empty and the other is non-empty. When namespace is specified in dataSourceRef, dataSource isn't set to the same value and must be empty. There are three important differences between dataSource and dataSourceRef: * While dataSource only allows two specific types of objects, dataSourceRef allows any non-core object, as well as PersistentVolumeClaim objects. * While dataSource ignores disallowed values (dropping them), dataSourceRef preserves all values, and generates an error if a disallowed value is specified. * While dataSource only allows local objects, dataSourceRef allows objects in any namespaces. (Beta) Using this field requires the AnyVolumeDataSource feature gate to be enabled. (Alpha) Using the namespace field of dataSourceRef requires the CrossNamespaceVolumeDataSource feature gate to be enabled.|
+|`resources`|[`VolumeResourceRequirements`](#volumeresourcerequirements)|resources represents the minimum resources the volume should have. If RecoverVolumeExpansionFailure feature is enabled users are allowed to specify resource requirements that are lower than previous value but must still be higher than capacity recorded in the status field of the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources|
+|`selector`|[`LabelSelector`](#labelselector)|selector is a label query over volumes to consider for binding.|
+|`storageClassName`|`string`|storageClassName is the name of the StorageClass required by the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1|
+|`volumeAttributesClassName`|`string`|volumeAttributesClassName may be used to set the VolumeAttributesClass used by this claim. If specified, the CSI driver will create or update the volume with the attributes defined in the corresponding VolumeAttributesClass. This has a different purpose than storageClassName, it can be changed after the claim is created. An empty string value means that no VolumeAttributesClass will be applied to the claim but it's not allowed to reset this field to empty string once it is set. If unspecified and the PersistentVolumeClaim is unbound, the default VolumeAttributesClass will be set by the persistentvolume controller if it exists. If the resource referred to by volumeAttributesClass does not exist, this PersistentVolumeClaim will be set to a Pending state, as reflected by the modifyVolumeStatus field, until such as a resource exists. More info: https://kubernetes.io/docs/concepts/storage/volume-attributes-classes/ (Alpha) Using this field requires the VolumeAttributesClass feature gate to be enabled.|
+|`volumeMode`|`string`|volumeMode defines what type of volume is required by the claim. Value of Filesystem is implied when not included in claim spec.|
+|`volumeName`|`string`|volumeName is the binding reference to the PersistentVolume backing this claim.|
-- [`archive-location.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/archive-location.yaml)
+## PersistentVolumeClaimStatus
-- [`arguments-artifacts.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/arguments-artifacts.yaml)
+PersistentVolumeClaimStatus is the current status of a persistent volume claim.
-- [`arguments-parameters-from-configmap.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/arguments-parameters-from-configmap.yaml)
+### Fields
+| Field Name | Field Type | Description |
+|:----------:|:----------:|---------------|
+|`accessModes`|`Array< string >`|accessModes contains the actual access modes the volume backing the PVC has. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1|
+|`allocatedResourceStatuses`|`Map< string , string >`|allocatedResourceStatuses stores status of resource being resized for the given PVC. Key names follow standard Kubernetes label syntax. Valid values are either: * Un-prefixed keys: - storage - the capacity of the volume. * Custom resources must use implementation-defined prefixed names such as "example.com/my-custom-resource" Apart from above values - keys that are unprefixed or have kubernetes.io prefix are considered reserved and hence may not be used. ClaimResourceStatus can be in any of following states: - ControllerResizeInProgress: State set when resize controller starts resizing the volume in control-plane. - ControllerResizeFailed: State set when resize has failed in resize controller with a terminal error. - NodeResizePending: State set when resize controller has finished resizing the volume but further resizing of volume is needed on the node. - NodeResizeInProgress: State set when kubelet starts resizing the volume. - NodeResizeFailed: State set when resizing has failed in kubelet with a terminal error. Transient errors don't set NodeResizeFailed. For example: if expanding a PVC for more capacity - this field can be one of the following states: - pvc.status.allocatedResourceStatus['storage'] = "ControllerResizeInProgress" - pvc.status.allocatedResourceStatus['storage'] = "ControllerResizeFailed" - pvc.status.allocatedResourceStatus['storage'] = "NodeResizePending" - pvc.status.allocatedResourceStatus['storage'] = "NodeResizeInProgress" - pvc.status.allocatedResourceStatus['storage'] = "NodeResizeFailed" When this field is not set, it means that no resize operation is in progress for the given PVC. A controller that receives PVC update with previously unknown resourceName or ClaimResourceStatus should ignore the update for the purpose it was designed. For example - a controller that only is responsible for resizing capacity of the volume, should ignore PVC updates that change other valid resources associated with PVC. This is an alpha field and requires enabling RecoverVolumeExpansionFailure feature.|
+|`allocatedResources`|[`Quantity`](#quantity)|allocatedResources tracks the resources allocated to a PVC including its capacity. Key names follow standard Kubernetes label syntax. Valid values are either: * Un-prefixed keys: - storage - the capacity of the volume. * Custom resources must use implementation-defined prefixed names such as "example.com/my-custom-resource" Apart from above values - keys that are unprefixed or have kubernetes.io prefix are considered reserved and hence may not be used. Capacity reported here may be larger than the actual capacity when a volume expansion operation is requested. For storage quota, the larger value from allocatedResources and PVC.spec.resources is used. If allocatedResources is not set, PVC.spec.resources alone is used for quota calculation. If a volume expansion capacity request is lowered, allocatedResources is only lowered if there are no expansion operations in progress and if the actual volume capacity is equal or lower than the requested capacity. A controller that receives PVC update with previously unknown resourceName should ignore the update for the purpose it was designed. For example - a controller that only is responsible for resizing capacity of the volume, should ignore PVC updates that change other valid resources associated with PVC. This is an alpha field and requires enabling RecoverVolumeExpansionFailure feature.|
+|`capacity`|[`Quantity`](#quantity)|capacity represents the actual resources of the underlying volume.|
+|`conditions`|`Array<`[`PersistentVolumeClaimCondition`](#persistentvolumeclaimcondition)`>`|conditions is the current Condition of persistent volume claim. If underlying persistent volume is being resized then the Condition will be set to 'Resizing'.|
+|`currentVolumeAttributesClassName`|`string`|currentVolumeAttributesClassName is the current name of the VolumeAttributesClass the PVC is using. When unset, there is no VolumeAttributeClass applied to this PersistentVolumeClaim This is an alpha field and requires enabling VolumeAttributesClass feature.|
+|`modifyVolumeStatus`|[`ModifyVolumeStatus`](#modifyvolumestatus)|ModifyVolumeStatus represents the status object of ControllerModifyVolume operation. When this is unset, there is no ModifyVolume operation being attempted. This is an alpha field and requires enabling VolumeAttributesClass feature.|
+|`phase`|`string`|phase represents the current phase of PersistentVolumeClaim.|
-- [`arguments-parameters.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/arguments-parameters.yaml)
+## AWSElasticBlockStoreVolumeSource
-- [`artifact-disable-archive.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/artifact-disable-archive.yaml)
+Represents a Persistent Disk resource in AWS. An AWS EBS disk must exist before mounting to a container. The disk must also be in the same AWS zone as the kubelet. An AWS EBS disk can only be mounted as read/write once. AWS EBS volumes support ownership management and SELinux relabeling.
-- [`artifact-gc-workflow.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/artifact-gc-workflow.yaml)
+### Fields
+| Field Name | Field Type | Description |
+|:----------:|:----------:|---------------|
+|`fsType`|`string`|fsType is the filesystem type of the volume that you want to mount. Tip: Ensure that the filesystem type is supported by the host operating system. Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore|
+|`partition`|`integer`|partition is the partition in the volume that you want to mount. If omitted, the default is to mount by volume name. Examples: For volume /dev/sda1, you specify the partition as "1". Similarly, the volume partition for /dev/sda is "0" (or you can leave the property empty).|
+|`readOnly`|`boolean`|readOnly value true will force the readOnly setting in VolumeMounts. More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore|
+|`volumeID`|`string`|volumeID is unique ID of the persistent disk resource in AWS (Amazon EBS volume). More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore|
-- [`artifact-passing-subpath.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/artifact-passing-subpath.yaml)
+## AzureDiskVolumeSource
-- [`artifact-passing.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/artifact-passing.yaml)
+AzureDisk represents an Azure Data Disk mount on the host and bind mount to the pod.
-- [`artifact-path-placeholders.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/artifact-path-placeholders.yaml)
+### Fields
+| Field Name | Field Type | Description |
+|:----------:|:----------:|---------------|
+|`cachingMode`|`string`|cachingMode is the Host Caching mode: None, Read Only, Read Write.|
+|`diskName`|`string`|diskName is the Name of the data disk in the blob storage|
+|`diskURI`|`string`|diskURI is the URI of data disk in the blob storage|
+|`fsType`|`string`|fsType is Filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.|
+|`kind`|`string`|kind expected values are Shared: multiple blob disks per storage account Dedicated: single blob disk per storage account Managed: azure managed data disk (only in managed availability set). defaults to shared|
+|`readOnly`|`boolean`|readOnly Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts.|
-- [`artifact-repository-ref.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/artifact-repository-ref.yaml)
+## AzureFileVolumeSource
-- [`artifactory-artifact.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/artifactory-artifact.yaml)
+AzureFile represents an Azure File Service mount on the host and bind mount to the pod.
-- [`artifacts-workflowtemplate.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/artifacts-workflowtemplate.yaml)
+### Fields
+| Field Name | Field Type | Description |
+|:----------:|:----------:|---------------|
+|`readOnly`|`boolean`|readOnly defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts.|
+|`secretName`|`string`|secretName is the name of secret that contains Azure Storage Account Name and Key|
+|`shareName`|`string`|shareName is the azure share Name|
-- [`buildkit-template.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/buildkit-template.yaml)
+## CephFSVolumeSource
-- [`ci-output-artifact.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/ci-output-artifact.yaml)
+Represents a Ceph Filesystem mount that lasts the lifetime of a pod Cephfs volumes do not support ownership management or SELinux relabeling.
-- [`ci-workflowtemplate.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/ci-workflowtemplate.yaml)
+### Fields
+| Field Name | Field Type | Description |
+|:----------:|:----------:|---------------|
+|`monitors`|`Array< string >`|monitors is Required: Monitors is a collection of Ceph monitors More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it|
+|`path`|`string`|path is Optional: Used as the mounted root, rather than the full Ceph tree, default is /|
+|`readOnly`|`boolean`|readOnly is Optional: Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts. More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it|
+|`secretFile`|`string`|secretFile is Optional: SecretFile is the path to key ring for User, default is /etc/ceph/user.secret More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it|
+|`secretRef`|[`LocalObjectReference`](#localobjectreference)|secretRef is Optional: SecretRef is reference to the authentication secret for User, default is empty. More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it|
+|`user`|`string`|user is optional: User is the rados user name, default is admin More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it|
-- [`ci.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/ci.yaml)
+## CinderVolumeSource
-- [`cluster-wftmpl-dag.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/cluster-workflow-template/cluster-wftmpl-dag.yaml)
+Represents a cinder volume resource in Openstack. A Cinder volume must exist before mounting to a container. The volume must also be in the same region as the kubelet. Cinder volumes support ownership management and SELinux relabeling.
-- [`clustertemplates.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/cluster-workflow-template/clustertemplates.yaml)
+### Fields
+| Field Name | Field Type | Description |
+|:----------:|:----------:|---------------|
+|`fsType`|`string`|fsType is the filesystem type to mount. Must be a filesystem type supported by the host operating system. Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. More info: https://examples.k8s.io/mysql-cinder-pd/README.md|
+|`readOnly`|`boolean`|readOnly defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts. More info: https://examples.k8s.io/mysql-cinder-pd/README.md|
+|`secretRef`|[`LocalObjectReference`](#localobjectreference)|secretRef is optional: points to a secret object containing parameters used to connect to OpenStack.|
+|`volumeID`|`string`|volumeID used to identify the volume in cinder. More info: https://examples.k8s.io/mysql-cinder-pd/README.md|
-- [`mixed-cluster-namespaced-wftmpl-steps.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/cluster-workflow-template/mixed-cluster-namespaced-wftmpl-steps.yaml)
+## ConfigMapVolumeSource
-- [`workflow-template-ref-with-entrypoint-arg-passing.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/cluster-workflow-template/workflow-template-ref-with-entrypoint-arg-passing.yaml)
+Adapts a ConfigMap into a volume. The contents of the target ConfigMap's Data field will be presented in a volume as files using the keys in the Data field as the file names, unless the items element is populated with specific mappings of keys to paths. ConfigMap volumes support ownership management and SELinux relabeling.
-- [`workflow-template-ref.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/cluster-workflow-template/workflow-template-ref.yaml)
+
+Examples with this field (click to open)
-- [`coinflip-recursive.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/coinflip-recursive.yaml)
+- [`fibonacci-seq-conditional-param.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/fibonacci-seq-conditional-param.yaml)
+
-- [`coinflip.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/coinflip.yaml)
+### Fields
+| Field Name | Field Type | Description |
+|:----------:|:----------:|---------------|
+|`defaultMode`|`integer`|defaultMode is optional: mode bits used to set permissions on created files by default. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.|
+|`items`|`Array<`[`KeyToPath`](#keytopath)`>`|items if unspecified, each key-value pair in the Data field of the referenced ConfigMap will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the ConfigMap, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'.|
+|`name`|`string`|Name of the referent. This field is effectively required, but due to backwards compatibility is allowed to be empty. Instances of this type with an empty value here are almost certainly wrong. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names|
+|`optional`|`boolean`|optional specify whether the ConfigMap or its keys must be defined|
-- [`colored-logs.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/colored-logs.yaml)
+## CSIVolumeSource
-- [`conditional-artifacts.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/conditional-artifacts.yaml)
+Represents a source location of a volume to mount, managed by an external CSI driver
-- [`conditional-parameters.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/conditional-parameters.yaml)
+### Fields
+| Field Name | Field Type | Description |
+|:----------:|:----------:|---------------|
+|`driver`|`string`|driver is the name of the CSI driver that handles this volume. Consult with your admin for the correct name as registered in the cluster.|
+|`fsType`|`string`|fsType to mount. Ex. "ext4", "xfs", "ntfs". If not provided, the empty value is passed to the associated CSI driver which will determine the default filesystem to apply.|
+|`nodePublishSecretRef`|[`LocalObjectReference`](#localobjectreference)|nodePublishSecretRef is a reference to the secret object containing sensitive information to pass to the CSI driver to complete the CSI NodePublishVolume and NodeUnpublishVolume calls. This field is optional, and may be empty if no secret is required. If the secret object contains more than one secret, all secret references are passed.|
+|`readOnly`|`boolean`|readOnly specifies a read-only configuration for the volume. Defaults to false (read/write).|
+|`volumeAttributes`|`Map< string , string >`|volumeAttributes stores driver-specific properties that are passed to the CSI driver. Consult your driver's documentation for supported values.|
-- [`conditionals-complex.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/conditionals-complex.yaml)
+## DownwardAPIVolumeSource
-- [`conditionals.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/conditionals.yaml)
+DownwardAPIVolumeSource represents a volume containing downward API info. Downward API volumes support ownership management and SELinux relabeling.
-- [`graph-workflow.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/container-set-template/graph-workflow.yaml)
+### Fields
+| Field Name | Field Type | Description |
+|:----------:|:----------:|---------------|
+|`defaultMode`|`integer`|Optional: mode bits to use on created files by default. Must be a Optional: mode bits used to set permissions on created files by default. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.|
+|`items`|`Array<`[`DownwardAPIVolumeFile`](#downwardapivolumefile)`>`|Items is a list of downward API volume file|
-- [`outputs-result-workflow.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/container-set-template/outputs-result-workflow.yaml)
+## EmptyDirVolumeSource
-- [`parallel-workflow.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/container-set-template/parallel-workflow.yaml)
+Represents an empty directory for a pod. Empty directory volumes support ownership management and SELinux relabeling.
-- [`sequence-workflow.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/container-set-template/sequence-workflow.yaml)
+
+Examples with this field (click to open)
+
+- [`artifacts-workflowtemplate.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/artifacts-workflowtemplate.yaml)
- [`workspace-workflow.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/container-set-template/workspace-workflow.yaml)
-- [`continue-on-fail.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/continue-on-fail.yaml)
+- [`init-container.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/init-container.yaml)
-- [`cron-backfill.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/cron-backfill.yaml)
+- [`volumes-emptydir.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/volumes-emptydir.yaml)
+
-- [`cron-workflow.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/cron-workflow.yaml)
+### Fields
+| Field Name | Field Type | Description |
+|:----------:|:----------:|---------------|
+|`medium`|`string`|medium represents what type of storage medium should back this directory. The default is "" which means to use the node's default medium. Must be an empty string (default) or Memory. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir|
+|`sizeLimit`|[`Quantity`](#quantity)|sizeLimit is the total amount of local storage required for this EmptyDir volume. The size limit is also applicable for memory medium. The maximum usage on memory medium EmptyDir would be the minimum value between the SizeLimit specified here and the sum of memory limits of all containers in a pod. The default is nil which means that the limit is undefined. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir|
-- [`custom-metrics.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/custom-metrics.yaml)
+## EphemeralVolumeSource
-- [`daemon-nginx.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/daemon-nginx.yaml)
+Represents an ephemeral volume that is handled by a normal storage driver.
-- [`daemon-step.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/daemon-step.yaml)
+### Fields
+| Field Name | Field Type | Description |
+|:----------:|:----------:|---------------|
+|`volumeClaimTemplate`|[`PersistentVolumeClaimTemplate`](#persistentvolumeclaimtemplate)|Will be used to create a stand-alone PVC to provision the volume. The pod in which this EphemeralVolumeSource is embedded will be the owner of the PVC, i.e. the PVC will be deleted together with the pod. The name of the PVC will be `-` where `` is the name from the `PodSpec.Volumes` array entry. Pod validation will reject the pod if the concatenated name is not valid for a PVC (for example, too long). An existing PVC with that name that is not owned by the pod will *not* be used for the pod to avoid using an unrelated volume by mistake. Starting the pod is then blocked until the unrelated PVC is removed. If such a pre-created PVC is meant to be used by the pod, the PVC has to updated with an owner reference to the pod once the pod exists. Normally this should not be necessary, but it may be useful when manually reconstructing a broken cluster. This field is read-only and no changes will be made by Kubernetes to the PVC after it has been created. Required, must not be nil.|
-- [`dag-coinflip.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/dag-coinflip.yaml)
+## FCVolumeSource
-- [`dag-conditional-artifacts.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/dag-conditional-artifacts.yaml)
+Represents a Fibre Channel volume. Fibre Channel volumes can only be mounted as read/write once. Fibre Channel volumes support ownership management and SELinux relabeling.
-- [`dag-conditional-parameters.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/dag-conditional-parameters.yaml)
+### Fields
+| Field Name | Field Type | Description |
+|:----------:|:----------:|---------------|
+|`fsType`|`string`|fsType is the filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.|
+|`lun`|`integer`|lun is Optional: FC target lun number|
+|`readOnly`|`boolean`|readOnly is Optional: Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts.|
+|`targetWWNs`|`Array< string >`|targetWWNs is Optional: FC target worldwide names (WWNs)|
+|`wwids`|`Array< string >`|wwids Optional: FC volume world wide identifiers (wwids) Either wwids or combination of targetWWNs and lun must be set, but not both simultaneously.|
-- [`dag-continue-on-fail.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/dag-continue-on-fail.yaml)
+## FlexVolumeSource
-- [`dag-custom-metrics.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/dag-custom-metrics.yaml)
+FlexVolume represents a generic volume resource that is provisioned/attached using an exec based plugin.
-- [`dag-daemon-task.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/dag-daemon-task.yaml)
+### Fields
+| Field Name | Field Type | Description |
+|:----------:|:----------:|---------------|
+|`driver`|`string`|driver is the name of the driver to use for this volume.|
+|`fsType`|`string`|fsType is the filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. "ext4", "xfs", "ntfs". The default filesystem depends on FlexVolume script.|
+|`options`|`Map< string , string >`|options is Optional: this field holds extra command options if any.|
+|`readOnly`|`boolean`|readOnly is Optional: defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts.|
+|`secretRef`|[`LocalObjectReference`](#localobjectreference)|secretRef is Optional: secretRef is reference to the secret object containing sensitive information to pass to the plugin scripts. This may be empty if no secret object is specified. If the secret object contains more than one secret, all secrets are passed to the plugin scripts.|
-- [`dag-diamond-steps.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/dag-diamond-steps.yaml)
+## FlockerVolumeSource
-- [`dag-diamond.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/dag-diamond.yaml)
+Represents a Flocker volume mounted by the Flocker agent. One and only one of datasetName and datasetUUID should be set. Flocker volumes do not support ownership management or SELinux relabeling.
-- [`dag-disable-failFast.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/dag-disable-failFast.yaml)
+### Fields
+| Field Name | Field Type | Description |
+|:----------:|:----------:|---------------|
+|`datasetName`|`string`|datasetName is Name of the dataset stored as metadata -> name on the dataset for Flocker should be considered as deprecated|
+|`datasetUUID`|`string`|datasetUUID is the UUID of the dataset. This is unique identifier of a Flocker dataset|
-- [`dag-enhanced-depends.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/dag-enhanced-depends.yaml)
+## GCEPersistentDiskVolumeSource
-- [`dag-inline-clusterworkflowtemplate.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/dag-inline-clusterworkflowtemplate.yaml)
+Represents a Persistent Disk resource in Google Compute Engine. A GCE PD must exist before mounting to a container. The disk must also be in the same GCE project and zone as the kubelet. A GCE PD can only be mounted as read/write once or read-only many times. GCE PDs support ownership management and SELinux relabeling.
-- [`dag-inline-cronworkflow.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/dag-inline-cronworkflow.yaml)
+### Fields
+| Field Name | Field Type | Description |
+|:----------:|:----------:|---------------|
+|`fsType`|`string`|fsType is filesystem type of the volume that you want to mount. Tip: Ensure that the filesystem type is supported by the host operating system. Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk|
+|`partition`|`integer`|partition is the partition in the volume that you want to mount. If omitted, the default is to mount by volume name. Examples: For volume /dev/sda1, you specify the partition as "1". Similarly, the volume partition for /dev/sda is "0" (or you can leave the property empty). More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk|
+|`pdName`|`string`|pdName is unique name of the PD resource in GCE. Used to identify the disk in GCE. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk|
+|`readOnly`|`boolean`|readOnly here will force the ReadOnly setting in VolumeMounts. Defaults to false. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk|
-- [`dag-inline-workflow.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/dag-inline-workflow.yaml)
+## GitRepoVolumeSource
-- [`dag-inline-workflowtemplate.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/dag-inline-workflowtemplate.yaml)
-
-- [`dag-multiroot.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/dag-multiroot.yaml)
-
-- [`dag-nested.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/dag-nested.yaml)
-
-- [`dag-targets.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/dag-targets.yaml)
-
-- [`dag-task-level-timeout.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/dag-task-level-timeout.yaml)
-
-- [`data-transformations.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/data-transformations.yaml)
-
-- [`default-pdb-support.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/default-pdb-support.yaml)
-
-- [`dns-config.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/dns-config.yaml)
-
-- [`exit-code-output-variable.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/exit-code-output-variable.yaml)
-
-- [`exit-handler-dag-level.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/exit-handler-dag-level.yaml)
-
-- [`exit-handler-slack.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/exit-handler-slack.yaml)
-
-- [`exit-handler-step-level.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/exit-handler-step-level.yaml)
-
-- [`exit-handler-with-artifacts.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/exit-handler-with-artifacts.yaml)
-
-- [`exit-handler-with-param.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/exit-handler-with-param.yaml)
-
-- [`exit-handlers.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/exit-handlers.yaml)
-
-- [`expression-destructure-json-complex.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/expression-destructure-json-complex.yaml)
-
-- [`expression-destructure-json.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/expression-destructure-json.yaml)
-
-- [`expression-reusing-verbose-snippets.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/expression-reusing-verbose-snippets.yaml)
-
-- [`expression-tag-template-workflow.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/expression-tag-template-workflow.yaml)
-
-- [`fibonacci-seq-conditional-param.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/fibonacci-seq-conditional-param.yaml)
-
-- [`forever.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/forever.yaml)
-
-- [`fun-with-gifs.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/fun-with-gifs.yaml)
-
-- [`gc-ttl.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/gc-ttl.yaml)
-
-- [`global-outputs.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/global-outputs.yaml)
-
-- [`global-parameters-from-configmap-referenced-as-local-variable.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/global-parameters-from-configmap-referenced-as-local-variable.yaml)
-
-- [`global-parameters-from-configmap.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/global-parameters-from-configmap.yaml)
-
-- [`global-parameters.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/global-parameters.yaml)
-
-- [`handle-large-output-results.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/handle-large-output-results.yaml)
-
-- [`hdfs-artifact.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/hdfs-artifact.yaml)
-
-- [`hello-hybrid.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/hello-hybrid.yaml)
-
-- [`hello-windows.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/hello-windows.yaml)
-
-- [`hello-world.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/hello-world.yaml)
-
-- [`http-hello-world.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/http-hello-world.yaml)
-
-- [`http-success-condition.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/http-success-condition.yaml)
-
-- [`image-pull-secrets.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/image-pull-secrets.yaml)
-
-- [`influxdb-ci.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/influxdb-ci.yaml)
-
-- [`init-container.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/init-container.yaml)
-
-- [`input-artifact-azure.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/input-artifact-azure.yaml)
-
-- [`input-artifact-gcs.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/input-artifact-gcs.yaml)
-
-- [`input-artifact-git.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/input-artifact-git.yaml)
-
-- [`input-artifact-http.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/input-artifact-http.yaml)
-
-- [`input-artifact-oss.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/input-artifact-oss.yaml)
-
-- [`input-artifact-raw.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/input-artifact-raw.yaml)
-
-- [`input-artifact-s3.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/input-artifact-s3.yaml)
-
-- [`intermediate-parameters.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/intermediate-parameters.yaml)
-
-- [`k8s-owner-reference.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/k8s-owner-reference.yaml)
-
-- [`k8s-patch-json-pod.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/k8s-patch-json-pod.yaml)
-
-- [`k8s-patch-json-workflow.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/k8s-patch-json-workflow.yaml)
-
-- [`k8s-patch-merge-pod.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/k8s-patch-merge-pod.yaml)
-
-- [`k8s-wait-wf.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/k8s-wait-wf.yaml)
-
-- [`key-only-artifact.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/key-only-artifact.yaml)
-
-- [`label-value-from-workflow.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/label-value-from-workflow.yaml)
-
-- [`life-cycle-hooks-tmpl-level.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/life-cycle-hooks-tmpl-level.yaml)
-
-- [`life-cycle-hooks-wf-level.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/life-cycle-hooks-wf-level.yaml)
-
-- [`loops-arbitrary-sequential-steps.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/loops-arbitrary-sequential-steps.yaml)
-
-- [`loops-dag.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/loops-dag.yaml)
-
-- [`loops-maps.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/loops-maps.yaml)
-
-- [`loops-param-argument.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/loops-param-argument.yaml)
-
-- [`loops-param-result.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/loops-param-result.yaml)
-
-- [`loops-sequence.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/loops-sequence.yaml)
-
-- [`loops.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/loops.yaml)
-
-- [`map-reduce.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/map-reduce.yaml)
-
-- [`nested-workflow.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/nested-workflow.yaml)
-
-- [`node-selector.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/node-selector.yaml)
-
-- [`output-artifact-azure.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/output-artifact-azure.yaml)
-
-- [`output-artifact-gcs.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/output-artifact-gcs.yaml)
-
-- [`output-artifact-s3.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/output-artifact-s3.yaml)
-
-- [`output-parameter.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/output-parameter.yaml)
-
-- [`parallelism-limit.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/parallelism-limit.yaml)
-
-- [`parallelism-nested-dag.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/parallelism-nested-dag.yaml)
-
-- [`parallelism-nested-workflow.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/parallelism-nested-workflow.yaml)
-
-- [`parallelism-nested.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/parallelism-nested.yaml)
-
-- [`parallelism-template-limit.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/parallelism-template-limit.yaml)
-
-- [`parameter-aggregation-dag.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/parameter-aggregation-dag.yaml)
-
-- [`parameter-aggregation-script.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/parameter-aggregation-script.yaml)
-
-- [`parameter-aggregation.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/parameter-aggregation.yaml)
-
-- [`pod-gc-strategy-with-label-selector.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/pod-gc-strategy-with-label-selector.yaml)
-
-- [`pod-gc-strategy.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/pod-gc-strategy.yaml)
-
-- [`pod-metadata-wf-field.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/pod-metadata-wf-field.yaml)
-
-- [`pod-metadata.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/pod-metadata.yaml)
-
-- [`pod-spec-from-previous-step.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/pod-spec-from-previous-step.yaml)
-
-- [`pod-spec-patch-wf-tmpl.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/pod-spec-patch-wf-tmpl.yaml)
-
-- [`pod-spec-patch.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/pod-spec-patch.yaml)
-
-- [`pod-spec-yaml-patch.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/pod-spec-yaml-patch.yaml)
-
-- [`recursive-for-loop.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/recursive-for-loop.yaml)
-
-- [`resubmit.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/resubmit.yaml)
-
-- [`retry-backoff.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/retry-backoff.yaml)
-
-- [`retry-conditional.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/retry-conditional.yaml)
-
-- [`retry-container-to-completion.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/retry-container-to-completion.yaml)
-
-- [`retry-container.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/retry-container.yaml)
-
-- [`retry-on-error.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/retry-on-error.yaml)
-
-- [`retry-script.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/retry-script.yaml)
-
-- [`retry-with-steps.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/retry-with-steps.yaml)
-
-- [`scripts-bash.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/scripts-bash.yaml)
-
-- [`scripts-javascript.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/scripts-javascript.yaml)
-
-- [`scripts-python.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/scripts-python.yaml)
-
-- [`secrets.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/secrets.yaml)
-
-- [`sidecar-dind.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/sidecar-dind.yaml)
-
-- [`sidecar-nginx.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/sidecar-nginx.yaml)
-
-- [`sidecar.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/sidecar.yaml)
-
-- [`status-reference.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/status-reference.yaml)
-
-- [`step-level-timeout.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/step-level-timeout.yaml)
-
-- [`steps-inline-workflow.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/steps-inline-workflow.yaml)
-
-- [`steps.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/steps.yaml)
-
-- [`suspend-template-outputs.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/suspend-template-outputs.yaml)
-
-- [`suspend-template.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/suspend-template.yaml)
-
-- [`synchronization-mutex-tmpl-level.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/synchronization-mutex-tmpl-level.yaml)
-
-- [`synchronization-mutex-wf-level.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/synchronization-mutex-wf-level.yaml)
-
-- [`template-defaults.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/template-defaults.yaml)
-
-- [`template-on-exit.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/template-on-exit.yaml)
-
-- [`timeouts-step.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/timeouts-step.yaml)
-
-- [`timeouts-workflow.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/timeouts-workflow.yaml)
-
-- [`title-and-description-with-markdown.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/title-and-description-with-markdown.yaml)
-
-- [`volumes-emptydir.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/volumes-emptydir.yaml)
-
-- [`volumes-existing.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/volumes-existing.yaml)
-
-- [`volumes-pvc.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/volumes-pvc.yaml)
-
-- [`webhdfs-input-output-artifacts.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/webhdfs-input-output-artifacts.yaml)
-
-- [`withsequence-nested-result.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/withsequence-nested-result.yaml)
-
-- [`work-avoidance.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/work-avoidance.yaml)
-
-- [`event-consumer-workflowtemplate.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/workflow-event-binding/event-consumer-workflowtemplate.yaml)
-
-- [`workflow-of-workflows.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/workflow-of-workflows.yaml)
-
-- [`dag.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/workflow-template/dag.yaml)
-
-- [`hello-world.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/workflow-template/hello-world.yaml)
-
-- [`retry-with-steps.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/workflow-template/retry-with-steps.yaml)
-
-- [`steps.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/workflow-template/steps.yaml)
-
-- [`templates.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/workflow-template/templates.yaml)
-
-- [`workflow-archive-logs.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/workflow-template/workflow-archive-logs.yaml)
-
-- [`workflow-template-ref-with-entrypoint-arg-passing.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/workflow-template/workflow-template-ref-with-entrypoint-arg-passing.yaml)
-
-- [`workflow-template-ref.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/workflow-template/workflow-template-ref.yaml)
-
-
-### Fields
-| Field Name | Field Type | Description |
-|:----------:|:----------:|---------------|
-|`accessModes`|`Array< string >`|AccessModes contains the desired access modes the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1|
-|`dataSource`|[`TypedLocalObjectReference`](#typedlocalobjectreference)|This field can be used to specify either: * An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot) * An existing PVC (PersistentVolumeClaim) If the provisioner or an external controller can support the specified data source, it will create a new volume based on the contents of the specified data source. If the AnyVolumeDataSource feature gate is enabled, this field will always have the same contents as the DataSourceRef field.|
-|`dataSourceRef`|[`TypedLocalObjectReference`](#typedlocalobjectreference)|Specifies the object from which to populate the volume with data, if a non-empty volume is desired. This may be any local object from a non-empty API group (non core object) or a PersistentVolumeClaim object. When this field is specified, volume binding will only succeed if the type of the specified object matches some installed volume populator or dynamic provisioner. This field will replace the functionality of the DataSource field and as such if both fields are non-empty, they must have the same value. For backwards compatibility, both fields (DataSource and DataSourceRef) will be set to the same value automatically if one of them is empty and the other is non-empty. There are two important differences between DataSource and DataSourceRef: * While DataSource only allows two specific types of objects, DataSourceRef allows any non-core object, as well as PersistentVolumeClaim objects. * While DataSource ignores disallowed values (dropping them), DataSourceRef preserves all values, and generates an error if a disallowed value is specified. (Alpha) Using this field requires the AnyVolumeDataSource feature gate to be enabled.|
-|`resources`|[`ResourceRequirements`](#resourcerequirements)|Resources represents the minimum resources the volume should have. If RecoverVolumeExpansionFailure feature is enabled users are allowed to specify resource requirements that are lower than previous value but must still be higher than capacity recorded in the status field of the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources|
-|`selector`|[`LabelSelector`](#labelselector)|A label query over volumes to consider for binding.|
-|`storageClassName`|`string`|Name of the StorageClass required by the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1|
-|`volumeMode`|`string`|volumeMode defines what type of volume is required by the claim. Value of Filesystem is implied when not included in claim spec.|
-|`volumeName`|`string`|VolumeName is the binding reference to the PersistentVolume backing this claim.|
-
-## PersistentVolumeClaimStatus
-
-PersistentVolumeClaimStatus is the current status of a persistent volume claim.
-
-### Fields
-| Field Name | Field Type | Description |
-|:----------:|:----------:|---------------|
-|`accessModes`|`Array< string >`|AccessModes contains the actual access modes the volume backing the PVC has. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1|
-|`allocatedResources`|[`Quantity`](#quantity)|The storage resource within AllocatedResources tracks the capacity allocated to a PVC. It may be larger than the actual capacity when a volume expansion operation is requested. For storage quota, the larger value from allocatedResources and PVC.spec.resources is used. If allocatedResources is not set, PVC.spec.resources alone is used for quota calculation. If a volume expansion capacity request is lowered, allocatedResources is only lowered if there are no expansion operations in progress and if the actual volume capacity is equal or lower than the requested capacity. This is an alpha field and requires enabling RecoverVolumeExpansionFailure feature.|
-|`capacity`|[`Quantity`](#quantity)|Represents the actual resources of the underlying volume.|
-|`conditions`|`Array<`[`PersistentVolumeClaimCondition`](#persistentvolumeclaimcondition)`>`|Current Condition of persistent volume claim. If underlying persistent volume is being resized then the Condition will be set to 'ResizeStarted'.|
-|`phase`|`string`|Phase represents the current phase of PersistentVolumeClaim. Possible enum values: - `"Bound"` used for PersistentVolumeClaims that are bound - `"Lost"` used for PersistentVolumeClaims that lost their underlying PersistentVolume. The claim was bound to a PersistentVolume and this volume does not exist any longer and all data on it was lost. - `"Pending"` used for PersistentVolumeClaims that are not yet bound|
-|`resizeStatus`|`string`|ResizeStatus stores status of resize operation. ResizeStatus is not set by default but when expansion is complete resizeStatus is set to empty string by resize controller or kubelet. This is an alpha field and requires enabling RecoverVolumeExpansionFailure feature.|
-
-## AWSElasticBlockStoreVolumeSource
-
-Represents a Persistent Disk resource in AWS. An AWS EBS disk must exist before mounting to a container. The disk must also be in the same AWS zone as the kubelet. An AWS EBS disk can only be mounted as read/write once. AWS EBS volumes support ownership management and SELinux relabeling.
-
-### Fields
-| Field Name | Field Type | Description |
-|:----------:|:----------:|---------------|
-|`fsType`|`string`|Filesystem type of the volume that you want to mount. Tip: Ensure that the filesystem type is supported by the host operating system. Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore|
-|`partition`|`integer`|The partition in the volume that you want to mount. If omitted, the default is to mount by volume name. Examples: For volume /dev/sda1, you specify the partition as "1". Similarly, the volume partition for /dev/sda is "0" (or you can leave the property empty).|
-|`readOnly`|`boolean`|Specify "true" to force and set the ReadOnly property in VolumeMounts to "true". If omitted, the default is "false". More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore|
-|`volumeID`|`string`|Unique ID of the persistent disk resource in AWS (Amazon EBS volume). More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore|
-
-## AzureDiskVolumeSource
-
-AzureDisk represents an Azure Data Disk mount on the host and bind mount to the pod.
-
-### Fields
-| Field Name | Field Type | Description |
-|:----------:|:----------:|---------------|
-|`cachingMode`|`string`|Host Caching mode: None, Read Only, Read Write.|
-|`diskName`|`string`|The Name of the data disk in the blob storage|
-|`diskURI`|`string`|The URI the data disk in the blob storage|
-|`fsType`|`string`|Filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.|
-|`kind`|`string`|Expected values Shared: multiple blob disks per storage account Dedicated: single blob disk per storage account Managed: azure managed data disk (only in managed availability set). defaults to shared|
-|`readOnly`|`boolean`|Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts.|
-
-## AzureFileVolumeSource
-
-AzureFile represents an Azure File Service mount on the host and bind mount to the pod.
-
-### Fields
-| Field Name | Field Type | Description |
-|:----------:|:----------:|---------------|
-|`readOnly`|`boolean`|Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts.|
-|`secretName`|`string`|the name of secret that contains Azure Storage Account Name and Key|
-|`shareName`|`string`|Share Name|
-
-## CephFSVolumeSource
-
-Represents a Ceph Filesystem mount that lasts the lifetime of a pod Cephfs volumes do not support ownership management or SELinux relabeling.
-
-### Fields
-| Field Name | Field Type | Description |
-|:----------:|:----------:|---------------|
-|`monitors`|`Array< string >`|Required: Monitors is a collection of Ceph monitors More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it|
-|`path`|`string`|Optional: Used as the mounted root, rather than the full Ceph tree, default is /|
-|`readOnly`|`boolean`|Optional: Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts. More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it|
-|`secretFile`|`string`|Optional: SecretFile is the path to key ring for User, default is /etc/ceph/user.secret More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it|
-|`secretRef`|[`LocalObjectReference`](#localobjectreference)|Optional: SecretRef is reference to the authentication secret for User, default is empty. More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it|
-|`user`|`string`|Optional: User is the rados user name, default is admin More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it|
-
-## CinderVolumeSource
-
-Represents a cinder volume resource in Openstack. A Cinder volume must exist before mounting to a container. The volume must also be in the same region as the kubelet. Cinder volumes support ownership management and SELinux relabeling.
-
-### Fields
-| Field Name | Field Type | Description |
-|:----------:|:----------:|---------------|
-|`fsType`|`string`|Filesystem type to mount. Must be a filesystem type supported by the host operating system. Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. More info: https://examples.k8s.io/mysql-cinder-pd/README.md|
-|`readOnly`|`boolean`|Optional: Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts. More info: https://examples.k8s.io/mysql-cinder-pd/README.md|
-|`secretRef`|[`LocalObjectReference`](#localobjectreference)|Optional: points to a secret object containing parameters used to connect to OpenStack.|
-|`volumeID`|`string`|volume id used to identify the volume in cinder. More info: https://examples.k8s.io/mysql-cinder-pd/README.md|
-
-## ConfigMapVolumeSource
-
-Adapts a ConfigMap into a volume. The contents of the target ConfigMap's Data field will be presented in a volume as files using the keys in the Data field as the file names, unless the items element is populated with specific mappings of keys to paths. ConfigMap volumes support ownership management and SELinux relabeling.
-
-
-Examples with this field (click to open)
-
-- [`fibonacci-seq-conditional-param.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/fibonacci-seq-conditional-param.yaml)
-
-
-### Fields
-| Field Name | Field Type | Description |
-|:----------:|:----------:|---------------|
-|`defaultMode`|`integer`|Optional: mode bits used to set permissions on created files by default. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.|
-|`items`|`Array<`[`KeyToPath`](#keytopath)`>`|If unspecified, each key-value pair in the Data field of the referenced ConfigMap will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the ConfigMap, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'.|
-|`name`|`string`|Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names|
-|`optional`|`boolean`|Specify whether the ConfigMap or its keys must be defined|
-
-## CSIVolumeSource
-
-Represents a source location of a volume to mount, managed by an external CSI driver
-
-### Fields
-| Field Name | Field Type | Description |
-|:----------:|:----------:|---------------|
-|`driver`|`string`|Driver is the name of the CSI driver that handles this volume. Consult with your admin for the correct name as registered in the cluster.|
-|`fsType`|`string`|Filesystem type to mount. Ex. "ext4", "xfs", "ntfs". If not provided, the empty value is passed to the associated CSI driver which will determine the default filesystem to apply.|
-|`nodePublishSecretRef`|[`LocalObjectReference`](#localobjectreference)|NodePublishSecretRef is a reference to the secret object containing sensitive information to pass to the CSI driver to complete the CSI NodePublishVolume and NodeUnpublishVolume calls. This field is optional, and may be empty if no secret is required. If the secret object contains more than one secret, all secret references are passed.|
-|`readOnly`|`boolean`|Specifies a read-only configuration for the volume. Defaults to false (read/write).|
-|`volumeAttributes`|`Map< string , string >`|VolumeAttributes stores driver-specific properties that are passed to the CSI driver. Consult your driver's documentation for supported values.|
-
-## DownwardAPIVolumeSource
-
-DownwardAPIVolumeSource represents a volume containing downward API info. Downward API volumes support ownership management and SELinux relabeling.
-
-### Fields
-| Field Name | Field Type | Description |
-|:----------:|:----------:|---------------|
-|`defaultMode`|`integer`|Optional: mode bits to use on created files by default. Must be a Optional: mode bits used to set permissions on created files by default. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.|
-|`items`|`Array<`[`DownwardAPIVolumeFile`](#downwardapivolumefile)`>`|Items is a list of downward API volume file|
-
-## EmptyDirVolumeSource
-
-Represents an empty directory for a pod. Empty directory volumes support ownership management and SELinux relabeling.
-
-
-Examples with this field (click to open)
-
-- [`artifacts-workflowtemplate.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/artifacts-workflowtemplate.yaml)
-
-- [`workspace-workflow.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/container-set-template/workspace-workflow.yaml)
-
-- [`init-container.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/init-container.yaml)
-
-- [`volumes-emptydir.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/volumes-emptydir.yaml)
-
-
-### Fields
-| Field Name | Field Type | Description |
-|:----------:|:----------:|---------------|
-|`medium`|`string`|What type of storage medium should back this directory. The default is "" which means to use the node's default medium. Must be an empty string (default) or Memory. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir|
-|`sizeLimit`|[`Quantity`](#quantity)|Total amount of local storage required for this EmptyDir volume. The size limit is also applicable for memory medium. The maximum usage on memory medium EmptyDir would be the minimum value between the SizeLimit specified here and the sum of memory limits of all containers in a pod. The default is nil which means that the limit is undefined. More info: http://kubernetes.io/docs/user-guide/volumes#emptydir|
-
-## EphemeralVolumeSource
-
-Represents an ephemeral volume that is handled by a normal storage driver.
-
-### Fields
-| Field Name | Field Type | Description |
-|:----------:|:----------:|---------------|
-|`volumeClaimTemplate`|[`PersistentVolumeClaimTemplate`](#persistentvolumeclaimtemplate)|Will be used to create a stand-alone PVC to provision the volume. The pod in which this EphemeralVolumeSource is embedded will be the owner of the PVC, i.e. the PVC will be deleted together with the pod. The name of the PVC will be `-` where `` is the name from the `PodSpec.Volumes` array entry. Pod validation will reject the pod if the concatenated name is not valid for a PVC (for example, too long). An existing PVC with that name that is not owned by the pod will *not* be used for the pod to avoid using an unrelated volume by mistake. Starting the pod is then blocked until the unrelated PVC is removed. If such a pre-created PVC is meant to be used by the pod, the PVC has to updated with an owner reference to the pod once the pod exists. Normally this should not be necessary, but it may be useful when manually reconstructing a broken cluster. This field is read-only and no changes will be made by Kubernetes to the PVC after it has been created. Required, must not be nil.|
-
-## FCVolumeSource
-
-Represents a Fibre Channel volume. Fibre Channel volumes can only be mounted as read/write once. Fibre Channel volumes support ownership management and SELinux relabeling.
-
-### Fields
-| Field Name | Field Type | Description |
-|:----------:|:----------:|---------------|
-|`fsType`|`string`|Filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.|
-|`lun`|`integer`|Optional: FC target lun number|
-|`readOnly`|`boolean`|Optional: Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts.|
-|`targetWWNs`|`Array< string >`|Optional: FC target worldwide names (WWNs)|
-|`wwids`|`Array< string >`|Optional: FC volume world wide identifiers (wwids) Either wwids or combination of targetWWNs and lun must be set, but not both simultaneously.|
-
-## FlexVolumeSource
-
-FlexVolume represents a generic volume resource that is provisioned/attached using an exec based plugin.
-
-### Fields
-| Field Name | Field Type | Description |
-|:----------:|:----------:|---------------|
-|`driver`|`string`|Driver is the name of the driver to use for this volume.|
-|`fsType`|`string`|Filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. "ext4", "xfs", "ntfs". The default filesystem depends on FlexVolume script.|
-|`options`|`Map< string , string >`|Optional: Extra command options if any.|
-|`readOnly`|`boolean`|Optional: Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts.|
-|`secretRef`|[`LocalObjectReference`](#localobjectreference)|Optional: SecretRef is reference to the secret object containing sensitive information to pass to the plugin scripts. This may be empty if no secret object is specified. If the secret object contains more than one secret, all secrets are passed to the plugin scripts.|
-
-## FlockerVolumeSource
-
-Represents a Flocker volume mounted by the Flocker agent. One and only one of datasetName and datasetUUID should be set. Flocker volumes do not support ownership management or SELinux relabeling.
-
-### Fields
-| Field Name | Field Type | Description |
-|:----------:|:----------:|---------------|
-|`datasetName`|`string`|Name of the dataset stored as metadata -> name on the dataset for Flocker should be considered as deprecated|
-|`datasetUUID`|`string`|UUID of the dataset. This is unique identifier of a Flocker dataset|
-
-## GCEPersistentDiskVolumeSource
-
-Represents a Persistent Disk resource in Google Compute Engine. A GCE PD must exist before mounting to a container. The disk must also be in the same GCE project and zone as the kubelet. A GCE PD can only be mounted as read/write once or read-only many times. GCE PDs support ownership management and SELinux relabeling.
-
-### Fields
-| Field Name | Field Type | Description |
-|:----------:|:----------:|---------------|
-|`fsType`|`string`|Filesystem type of the volume that you want to mount. Tip: Ensure that the filesystem type is supported by the host operating system. Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk|
-|`partition`|`integer`|The partition in the volume that you want to mount. If omitted, the default is to mount by volume name. Examples: For volume /dev/sda1, you specify the partition as "1". Similarly, the volume partition for /dev/sda is "0" (or you can leave the property empty). More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk|
-|`pdName`|`string`|Unique name of the PD resource in GCE. Used to identify the disk in GCE. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk|
-|`readOnly`|`boolean`|ReadOnly here will force the ReadOnly setting in VolumeMounts. Defaults to false. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk|
-
-## GitRepoVolumeSource
-
-Represents a volume that is populated with the contents of a git repository. Git repo volumes do not support ownership management. Git repo volumes support SELinux relabeling. DEPRECATED: GitRepo is deprecated. To provision a container with a git repo, mount an EmptyDir into an InitContainer that clones the repo using git, then mount the EmptyDir into the Pod's container.
+Represents a volume that is populated with the contents of a git repository. Git repo volumes do not support ownership management. Git repo volumes support SELinux relabeling. DEPRECATED: GitRepo is deprecated. To provision a container with a git repo, mount an EmptyDir into an InitContainer that clones the repo using git, then mount the EmptyDir into the Pod's container.
### Fields
| Field Name | Field Type | Description |
|:----------:|:----------:|---------------|
-|`directory`|`string`|Target directory name. Must not contain or start with '..'. If '.' is supplied, the volume directory will be the git repository. Otherwise, if specified, the volume will contain the git repository in the subdirectory with the given name.|
-|`repository`|`string`|Repository URL|
-|`revision`|`string`|Commit hash for the specified revision.|
+|`directory`|`string`|directory is the target directory name. Must not contain or start with '..'. If '.' is supplied, the volume directory will be the git repository. Otherwise, if specified, the volume will contain the git repository in the subdirectory with the given name.|
+|`repository`|`string`|repository is the URL|
+|`revision`|`string`|revision is the commit hash for the specified revision.|
## GlusterfsVolumeSource
@@ -6463,9 +6278,9 @@ Represents a Glusterfs mount that lasts the lifetime of a pod. Glusterfs volumes
### Fields
| Field Name | Field Type | Description |
|:----------:|:----------:|---------------|
-|`endpoints`|`string`|EndpointsName is the endpoint name that details Glusterfs topology. More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod|
-|`path`|`string`|Path is the Glusterfs volume path. More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod|
-|`readOnly`|`boolean`|ReadOnly here will force the Glusterfs volume to be mounted with read-only permissions. Defaults to false. More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod|
+|`endpoints`|`string`|endpoints is the endpoint name that details Glusterfs topology. More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod|
+|`path`|`string`|path is the Glusterfs volume path. More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod|
+|`readOnly`|`boolean`|readOnly here will force the Glusterfs volume to be mounted with read-only permissions. Defaults to false. More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod|
## HostPathVolumeSource
@@ -6474,8 +6289,8 @@ Represents a host path mapped into a pod. Host path volumes do not support owner
### Fields
| Field Name | Field Type | Description |
|:----------:|:----------:|---------------|
-|`path`|`string`|Path of the directory on the host. If the path is a symlink, it will follow the link to the real path. More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath|
-|`type`|`string`|Type for HostPath Volume Defaults to "" More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath|
+|`path`|`string`|path of the directory on the host. If the path is a symlink, it will follow the link to the real path. More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath|
+|`type`|`string`|type for HostPath Volume Defaults to "" More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath|
## ISCSIVolumeSource
@@ -6484,17 +6299,17 @@ Represents an ISCSI disk. ISCSI volumes can only be mounted as read/write once.
### Fields
| Field Name | Field Type | Description |
|:----------:|:----------:|---------------|
-|`chapAuthDiscovery`|`boolean`|whether support iSCSI Discovery CHAP authentication|
-|`chapAuthSession`|`boolean`|whether support iSCSI Session CHAP authentication|
-|`fsType`|`string`|Filesystem type of the volume that you want to mount. Tip: Ensure that the filesystem type is supported by the host operating system. Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. More info: https://kubernetes.io/docs/concepts/storage/volumes#iscsi|
-|`initiatorName`|`string`|Custom iSCSI Initiator Name. If initiatorName is specified with iscsiInterface simultaneously, new iSCSI interface : will be created for the connection.|
-|`iqn`|`string`|Target iSCSI Qualified Name.|
-|`iscsiInterface`|`string`|iSCSI Interface Name that uses an iSCSI transport. Defaults to 'default' (tcp).|
-|`lun`|`integer`|iSCSI Target Lun number.|
-|`portals`|`Array< string >`|iSCSI Target Portal List. The portal is either an IP or ip_addr:port if the port is other than default (typically TCP ports 860 and 3260).|
-|`readOnly`|`boolean`|ReadOnly here will force the ReadOnly setting in VolumeMounts. Defaults to false.|
-|`secretRef`|[`LocalObjectReference`](#localobjectreference)|CHAP Secret for iSCSI target and initiator authentication|
-|`targetPortal`|`string`|iSCSI Target Portal. The Portal is either an IP or ip_addr:port if the port is other than default (typically TCP ports 860 and 3260).|
+|`chapAuthDiscovery`|`boolean`|chapAuthDiscovery defines whether support iSCSI Discovery CHAP authentication|
+|`chapAuthSession`|`boolean`|chapAuthSession defines whether support iSCSI Session CHAP authentication|
+|`fsType`|`string`|fsType is the filesystem type of the volume that you want to mount. Tip: Ensure that the filesystem type is supported by the host operating system. Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. More info: https://kubernetes.io/docs/concepts/storage/volumes#iscsi|
+|`initiatorName`|`string`|initiatorName is the custom iSCSI Initiator Name. If initiatorName is specified with iscsiInterface simultaneously, new iSCSI interface : will be created for the connection.|
+|`iqn`|`string`|iqn is the target iSCSI Qualified Name.|
+|`iscsiInterface`|`string`|iscsiInterface is the interface Name that uses an iSCSI transport. Defaults to 'default' (tcp).|
+|`lun`|`integer`|lun represents iSCSI Target Lun number.|
+|`portals`|`Array< string >`|portals is the iSCSI Target Portal List. The portal is either an IP or ip_addr:port if the port is other than default (typically TCP ports 860 and 3260).|
+|`readOnly`|`boolean`|readOnly here will force the ReadOnly setting in VolumeMounts. Defaults to false.|
+|`secretRef`|[`LocalObjectReference`](#localobjectreference)|secretRef is the CHAP Secret for iSCSI target and initiator authentication|
+|`targetPortal`|`string`|targetPortal is iSCSI Target Portal. The Portal is either an IP or ip_addr:port if the port is other than default (typically TCP ports 860 and 3260).|
## NFSVolumeSource
@@ -6503,9 +6318,9 @@ Represents an NFS mount that lasts the lifetime of a pod. NFS volumes do not sup
### Fields
| Field Name | Field Type | Description |
|:----------:|:----------:|---------------|
-|`path`|`string`|Path that is exported by the NFS server. More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs|
-|`readOnly`|`boolean`|ReadOnly here will force the NFS export to be mounted with read-only permissions. Defaults to false. More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs|
-|`server`|`string`|Server is the hostname or IP address of the NFS server. More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs|
+|`path`|`string`|path that is exported by the NFS server. More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs|
+|`readOnly`|`boolean`|readOnly here will force the NFS export to be mounted with read-only permissions. Defaults to false. More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs|
+|`server`|`string`|server is the hostname or IP address of the NFS server. More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs|
## PersistentVolumeClaimVolumeSource
@@ -6520,8 +6335,8 @@ PersistentVolumeClaimVolumeSource references the user's PVC in the same namespac
### Fields
| Field Name | Field Type | Description |
|:----------:|:----------:|---------------|
-|`claimName`|`string`|ClaimName is the name of a PersistentVolumeClaim in the same namespace as the pod using this volume. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims|
-|`readOnly`|`boolean`|Will force the ReadOnly setting in VolumeMounts. Default false.|
+|`claimName`|`string`|claimName is the name of a PersistentVolumeClaim in the same namespace as the pod using this volume. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims|
+|`readOnly`|`boolean`|readOnly Will force the ReadOnly setting in VolumeMounts. Default false.|
## PhotonPersistentDiskVolumeSource
@@ -6530,8 +6345,8 @@ Represents a Photon Controller persistent disk resource.
### Fields
| Field Name | Field Type | Description |
|:----------:|:----------:|---------------|
-|`fsType`|`string`|Filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.|
-|`pdID`|`string`|ID that identifies Photon Controller persistent disk|
+|`fsType`|`string`|fsType is the filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.|
+|`pdID`|`string`|pdID is the ID that identifies Photon Controller persistent disk|
## PortworxVolumeSource
@@ -6540,9 +6355,9 @@ PortworxVolumeSource represents a Portworx volume resource.
### Fields
| Field Name | Field Type | Description |
|:----------:|:----------:|---------------|
-|`fsType`|`string`|FSType represents the filesystem type to mount Must be a filesystem type supported by the host operating system. Ex. "ext4", "xfs". Implicitly inferred to be "ext4" if unspecified.|
-|`readOnly`|`boolean`|Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts.|
-|`volumeID`|`string`|VolumeID uniquely identifies a Portworx volume|
+|`fsType`|`string`|fSType represents the filesystem type to mount Must be a filesystem type supported by the host operating system. Ex. "ext4", "xfs". Implicitly inferred to be "ext4" if unspecified.|
+|`readOnly`|`boolean`|readOnly defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts.|
+|`volumeID`|`string`|volumeID uniquely identifies a Portworx volume|
## ProjectedVolumeSource
@@ -6551,8 +6366,8 @@ Represents a projected volume source
### Fields
| Field Name | Field Type | Description |
|:----------:|:----------:|---------------|
-|`defaultMode`|`integer`|Mode bits used to set permissions on created files by default. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.|
-|`sources`|`Array<`[`VolumeProjection`](#volumeprojection)`>`|list of volume projections|
+|`defaultMode`|`integer`|defaultMode are the mode bits used to set permissions on created files by default. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.|
+|`sources`|`Array<`[`VolumeProjection`](#volumeprojection)`>`|sources is the list of volume projections|
## QuobyteVolumeSource
@@ -6561,12 +6376,12 @@ Represents a Quobyte mount that lasts the lifetime of a pod. Quobyte volumes do
### Fields
| Field Name | Field Type | Description |
|:----------:|:----------:|---------------|
-|`group`|`string`|Group to map volume access to Default is no group|
-|`readOnly`|`boolean`|ReadOnly here will force the Quobyte volume to be mounted with read-only permissions. Defaults to false.|
-|`registry`|`string`|Registry represents a single or multiple Quobyte Registry services specified as a string as host:port pair (multiple entries are separated with commas) which acts as the central registry for volumes|
-|`tenant`|`string`|Tenant owning the given Quobyte volume in the Backend Used with dynamically provisioned Quobyte volumes, value is set by the plugin|
-|`user`|`string`|User to map volume access to Defaults to serivceaccount user|
-|`volume`|`string`|Volume is a string that references an already created Quobyte volume by name.|
+|`group`|`string`|group to map volume access to Default is no group|
+|`readOnly`|`boolean`|readOnly here will force the Quobyte volume to be mounted with read-only permissions. Defaults to false.|
+|`registry`|`string`|registry represents a single or multiple Quobyte Registry services specified as a string as host:port pair (multiple entries are separated with commas) which acts as the central registry for volumes|
+|`tenant`|`string`|tenant owning the given Quobyte volume in the Backend Used with dynamically provisioned Quobyte volumes, value is set by the plugin|
+|`user`|`string`|user to map volume access to Defaults to serivceaccount user|
+|`volume`|`string`|volume is a string that references an already created Quobyte volume by name.|
## RBDVolumeSource
@@ -6575,14 +6390,14 @@ Represents a Rados Block Device mount that lasts the lifetime of a pod. RBD volu
### Fields
| Field Name | Field Type | Description |
|:----------:|:----------:|---------------|
-|`fsType`|`string`|Filesystem type of the volume that you want to mount. Tip: Ensure that the filesystem type is supported by the host operating system. Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. More info: https://kubernetes.io/docs/concepts/storage/volumes#rbd|
-|`image`|`string`|The rados image name. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it|
-|`keyring`|`string`|Keyring is the path to key ring for RBDUser. Default is /etc/ceph/keyring. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it|
-|`monitors`|`Array< string >`|A collection of Ceph monitors. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it|
-|`pool`|`string`|The rados pool name. Default is rbd. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it|
-|`readOnly`|`boolean`|ReadOnly here will force the ReadOnly setting in VolumeMounts. Defaults to false. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it|
-|`secretRef`|[`LocalObjectReference`](#localobjectreference)|SecretRef is name of the authentication secret for RBDUser. If provided overrides keyring. Default is nil. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it|
-|`user`|`string`|The rados user name. Default is admin. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it|
+|`fsType`|`string`|fsType is the filesystem type of the volume that you want to mount. Tip: Ensure that the filesystem type is supported by the host operating system. Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. More info: https://kubernetes.io/docs/concepts/storage/volumes#rbd|
+|`image`|`string`|image is the rados image name. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it|
+|`keyring`|`string`|keyring is the path to key ring for RBDUser. Default is /etc/ceph/keyring. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it|
+|`monitors`|`Array< string >`|monitors is a collection of Ceph monitors. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it|
+|`pool`|`string`|pool is the rados pool name. Default is rbd. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it|
+|`readOnly`|`boolean`|readOnly here will force the ReadOnly setting in VolumeMounts. Defaults to false. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it|
+|`secretRef`|[`LocalObjectReference`](#localobjectreference)|secretRef is name of the authentication secret for RBDUser. If provided overrides keyring. Default is nil. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it|
+|`user`|`string`|user is the rados user name. Default is admin. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it|
## ScaleIOVolumeSource
@@ -6591,16 +6406,16 @@ ScaleIOVolumeSource represents a persistent ScaleIO volume
### Fields
| Field Name | Field Type | Description |
|:----------:|:----------:|---------------|
-|`fsType`|`string`|Filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. "ext4", "xfs", "ntfs". Default is "xfs".|
-|`gateway`|`string`|The host address of the ScaleIO API Gateway.|
-|`protectionDomain`|`string`|The name of the ScaleIO Protection Domain for the configured storage.|
-|`readOnly`|`boolean`|Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts.|
-|`secretRef`|[`LocalObjectReference`](#localobjectreference)|SecretRef references to the secret for ScaleIO user and other sensitive information. If this is not provided, Login operation will fail.|
-|`sslEnabled`|`boolean`|Flag to enable/disable SSL communication with Gateway, default false|
-|`storageMode`|`string`|Indicates whether the storage for a volume should be ThickProvisioned or ThinProvisioned. Default is ThinProvisioned.|
-|`storagePool`|`string`|The ScaleIO Storage Pool associated with the protection domain.|
-|`system`|`string`|The name of the storage system as configured in ScaleIO.|
-|`volumeName`|`string`|The name of a volume already created in the ScaleIO system that is associated with this volume source.|
+|`fsType`|`string`|fsType is the filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. "ext4", "xfs", "ntfs". Default is "xfs".|
+|`gateway`|`string`|gateway is the host address of the ScaleIO API Gateway.|
+|`protectionDomain`|`string`|protectionDomain is the name of the ScaleIO Protection Domain for the configured storage.|
+|`readOnly`|`boolean`|readOnly Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts.|
+|`secretRef`|[`LocalObjectReference`](#localobjectreference)|secretRef references to the secret for ScaleIO user and other sensitive information. If this is not provided, Login operation will fail.|
+|`sslEnabled`|`boolean`|sslEnabled Flag enable/disable SSL communication with Gateway, default false|
+|`storageMode`|`string`|storageMode indicates whether the storage for a volume should be ThickProvisioned or ThinProvisioned. Default is ThinProvisioned.|
+|`storagePool`|`string`|storagePool is the ScaleIO Storage Pool associated with the protection domain.|
+|`system`|`string`|system is the name of the storage system as configured in ScaleIO.|
+|`volumeName`|`string`|volumeName is the name of a volume already created in the ScaleIO system that is associated with this volume source.|
## SecretVolumeSource
@@ -6617,10 +6432,10 @@ Adapts a Secret into a volume. The contents of the target Secret's Data field wi
### Fields
| Field Name | Field Type | Description |
|:----------:|:----------:|---------------|
-|`defaultMode`|`integer`|Optional: mode bits used to set permissions on created files by default. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.|
-|`items`|`Array<`[`KeyToPath`](#keytopath)`>`|If unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'.|
-|`optional`|`boolean`|Specify whether the Secret or its keys must be defined|
-|`secretName`|`string`|Name of the secret in the pod's namespace to use. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret|
+|`defaultMode`|`integer`|defaultMode is Optional: mode bits used to set permissions on created files by default. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.|
+|`items`|`Array<`[`KeyToPath`](#keytopath)`>`|items If unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'.|
+|`optional`|`boolean`|optional field specify whether the Secret or its keys must be defined|
+|`secretName`|`string`|secretName is the name of the secret in the pod's namespace to use. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret|
## StorageOSVolumeSource
@@ -6629,11 +6444,11 @@ Represents a StorageOS persistent volume resource.
### Fields
| Field Name | Field Type | Description |
|:----------:|:----------:|---------------|
-|`fsType`|`string`|Filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.|
-|`readOnly`|`boolean`|Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts.|
-|`secretRef`|[`LocalObjectReference`](#localobjectreference)|SecretRef specifies the secret to use for obtaining the StorageOS API credentials. If not specified, default values will be attempted.|
-|`volumeName`|`string`|VolumeName is the human-readable name of the StorageOS volume. Volume names are only unique within a namespace.|
-|`volumeNamespace`|`string`|VolumeNamespace specifies the scope of the volume within StorageOS. If no namespace is specified then the Pod's namespace will be used. This allows the Kubernetes name scoping to be mirrored within StorageOS for tighter integration. Set VolumeName to any name to override the default behaviour. Set to "default" if you are not using namespaces within StorageOS. Namespaces that do not pre-exist within StorageOS will be created.|
+|`fsType`|`string`|fsType is the filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.|
+|`readOnly`|`boolean`|readOnly defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts.|
+|`secretRef`|[`LocalObjectReference`](#localobjectreference)|secretRef specifies the secret to use for obtaining the StorageOS API credentials. If not specified, default values will be attempted.|
+|`volumeName`|`string`|volumeName is the human-readable name of the StorageOS volume. Volume names are only unique within a namespace.|
+|`volumeNamespace`|`string`|volumeNamespace specifies the scope of the volume within StorageOS. If no namespace is specified then the Pod's namespace will be used. This allows the Kubernetes name scoping to be mirrored within StorageOS for tighter integration. Set VolumeName to any name to override the default behaviour. Set to "default" if you are not using namespaces within StorageOS. Namespaces that do not pre-exist within StorageOS will be created.|
## VsphereVirtualDiskVolumeSource
@@ -6642,10 +6457,10 @@ Represents a vSphere volume resource.
### Fields
| Field Name | Field Type | Description |
|:----------:|:----------:|---------------|
-|`fsType`|`string`|Filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.|
-|`storagePolicyID`|`string`|Storage Policy Based Management (SPBM) profile ID associated with the StoragePolicyName.|
-|`storagePolicyName`|`string`|Storage Policy Based Management (SPBM) profile name.|
-|`volumePath`|`string`|Path that identifies vSphere volume vmdk|
+|`fsType`|`string`|fsType is filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.|
+|`storagePolicyID`|`string`|storagePolicyID is the storage Policy Based Management (SPBM) profile ID associated with the StoragePolicyName.|
+|`storagePolicyName`|`string`|storagePolicyName is the storage Policy Based Management (SPBM) profile name.|
+|`volumePath`|`string`|volumePath is the path that identifies vSphere volume vmdk|
## LabelSelectorRequirement
@@ -6708,6 +6523,8 @@ EnvVarSource represents a source for the value of an EnvVar.
- [`secrets.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/secrets.yaml)
- [`suspend-template-outputs.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/suspend-template-outputs.yaml)
+
+- [`event-consumer-workfloweventbinding.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/workflow-event-binding/event-consumer-workfloweventbinding.yaml)
### Fields
@@ -6725,7 +6542,7 @@ ConfigMapEnvSource selects a ConfigMap to populate the environment variables wit
### Fields
| Field Name | Field Type | Description |
|:----------:|:----------:|---------------|
-|`name`|`string`|Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names|
+|`name`|`string`|Name of the referent. This field is effectively required, but due to backwards compatibility is allowed to be empty. Instances of this type with an empty value here are almost certainly wrong. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names|
|`optional`|`boolean`|Specify whether the ConfigMap must be defined|
## SecretEnvSource
@@ -6735,7 +6552,7 @@ SecretEnvSource selects a Secret to populate the environment variables with. The
### Fields
| Field Name | Field Type | Description |
|:----------:|:----------:|---------------|
-|`name`|`string`|Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names|
+|`name`|`string`|Name of the referent. This field is effectively required, but due to backwards compatibility is allowed to be empty. Instances of this type with an empty value here are almost certainly wrong. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names|
|`optional`|`boolean`|Specify whether the Secret must be defined|
## LifecycleHandler
@@ -6747,6 +6564,7 @@ LifecycleHandler defines a specific action that should be taken in a lifecycle h
|:----------:|:----------:|---------------|
|`exec`|[`ExecAction`](#execaction)|Exec specifies the action to take.|
|`httpGet`|[`HTTPGetAction`](#httpgetaction)|HTTPGet specifies the http request to perform.|
+|`sleep`|[`SleepAction`](#sleepaction)|Sleep represents the duration that the container should sleep before being terminated.|
|`tcpSocket`|[`TCPSocketAction`](#tcpsocketaction)|Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept for the backward compatibility. There are no validation of this field and lifecycle hooks will fail in runtime when tcp handler is specified.|
## ExecAction
@@ -6797,7 +6615,7 @@ HTTPGetAction describes an action based on HTTP Get requests.
|`httpHeaders`|`Array<`[`HTTPHeader`](#httpheader)`>`|Custom headers to set in the request. HTTP allows repeated headers.|
|`path`|`string`|Path to access on the HTTP server.|
|`port`|[`IntOrString`](#intorstring)|Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.|
-|`scheme`|`string`|Scheme to use for connecting to the host. Defaults to HTTP. Possible enum values: - `"HTTP"` means that the scheme used will be http:// - `"HTTPS"` means that the scheme used will be https://|
+|`scheme`|`string`|Scheme to use for connecting to the host. Defaults to HTTP.|
## TCPSocketAction
@@ -6809,9 +6627,18 @@ TCPSocketAction describes an action based on opening a socket
|`host`|`string`|Optional: Host name to connect to, defaults to the pod IP.|
|`port`|[`IntOrString`](#intorstring)|Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.|
+## ResourceClaim
+
+ResourceClaim references one entry in PodSpec.ResourceClaims.
+
+### Fields
+| Field Name | Field Type | Description |
+|:----------:|:----------:|---------------|
+|`name`|`string`|Name must match the name of one entry in pod.spec.resourceClaims of the Pod where this field is used. It makes that resource available inside a container.|
+
## Quantity
-Quantity is a fixed-point representation of a number. It provides convenient marshaling/unmarshaling in JSON and YAML, in addition to String() and AsInt64() accessors. The serialization format is: ::= (Note that may be empty, from the "" case in .) ::= 0 | 1 | ... | 9 ::= | ::= | . | . | . ::= "+" | "-" ::= | ::= | | ::= Ki | Mi | Gi | Ti | Pi | Ei (International System of units; See: http://physics.nist.gov/cuu/Units/binary.html) ::= m | "" | k | M | G | T | P | E (Note that 1024 = 1Ki but 1000 = 1k; I didn't choose the capitalization.) ::= "e" | "E" No matter which of the three exponent forms is used, no quantity may represent a number greater than 2^63-1 in magnitude, nor may it have more than 3 decimal places. Numbers larger or more precise will be capped or rounded up. (E.g.: 0.1m will rounded up to 1m.) This may be extended in the future if we require larger or smaller quantities. When a Quantity is parsed from a string, it will remember the type of suffix it had, and will use the same type again when it is serialized. Before serializing, Quantity will be put in "canonical form". This means that Exponent/suffix will be adjusted up or down (with a corresponding increase or decrease in Mantissa) such that: a. No precision is lost b. No fractional digits will be emitted c. The exponent (or suffix) is as large as possible. The sign will be omitted unless the number is negative. Examples: 1.5 will be serialized as "1500m" 1.5Gi will be serialized as "1536Mi" Note that the quantity will NEVER be internally represented by a floating point number. That is the whole point of this exercise. Non-canonical values will still parse as long as they are well formed, but will be re-emitted in their canonical form. (So always use canonical form, or don't diff.) This format is intended to make it difficult to use these numbers without writing some sort of special handling code in the hopes that that will cause implementors to also use a fixed point implementation.
+Quantity is a fixed-point representation of a number. It provides convenient marshaling/unmarshaling in JSON and YAML, in addition to String() and AsInt64() accessors. The serialization format is: ``` ::= (Note that may be empty, from the "" case in .) ::= 0 | 1 | ... | 9 ::= | ::= | . | . | . ::= "+" | "-" ::= | ::= | | ::= Ki | Mi | Gi | Ti | Pi | Ei (International System of units; See: http://physics.nist.gov/cuu/Units/binary.html) ::= m | "" | k | M | G | T | P | E (Note that 1024 = 1Ki but 1000 = 1k; I didn't choose the capitalization.) ::= "e" | "E" ``` No matter which of the three exponent forms is used, no quantity may represent a number greater than 2^63-1 in magnitude, nor may it have more than 3 decimal places. Numbers larger or more precise will be capped or rounded up. (E.g.: 0.1m will rounded up to 1m.) This may be extended in the future if we require larger or smaller quantities. When a Quantity is parsed from a string, it will remember the type of suffix it had, and will use the same type again when it is serialized. Before serializing, Quantity will be put in "canonical form". This means that Exponent/suffix will be adjusted up or down (with a corresponding increase or decrease in Mantissa) such that: - No precision is lost - No fractional digits will be emitted - The exponent (or suffix) is as large as possible. The sign will be omitted unless the number is negative. Examples: - 1.5 will be serialized as "1500m" - 1.5Gi will be serialized as "1536Mi" Note that the quantity will NEVER be internally represented by a floating point number. That is the whole point of this exercise. Non-canonical values will still parse as long as they are well formed, but will be re-emitted in their canonical form. (So always use canonical form, or don't diff.) This format is intended to make it difficult to use these numbers without writing some sort of special handling code in the hopes that that will cause implementors to also use a fixed point implementation.
Examples with this field (click to open)
@@ -6873,9 +6700,11 @@ Defines a set of pods (namely those matching the labelSelector relative to the g
### Fields
| Field Name | Field Type | Description |
|:----------:|:----------:|---------------|
-|`labelSelector`|[`LabelSelector`](#labelselector)|A label query over a set of resources, in this case pods.|
-|`namespaceSelector`|[`LabelSelector`](#labelselector)|A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces. This field is beta-level and is only honored when PodAffinityNamespaceSelector feature is enabled.|
-|`namespaces`|`Array< string >`|namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means "this pod's namespace"|
+|`labelSelector`|[`LabelSelector`](#labelselector)|A label query over a set of resources, in this case pods. If it's null, this PodAffinityTerm matches with no Pods.|
+|`matchLabelKeys`|`Array< string >`|MatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)` to select the group of existing pods which pods will be taken into consideration for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both matchLabelKeys and labelSelector. Also, matchLabelKeys cannot be set when labelSelector isn't set. This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.|
+|`mismatchLabelKeys`|`Array< string >`|MismatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)` to select the group of existing pods which pods will be taken into consideration for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both mismatchLabelKeys and labelSelector. Also, mismatchLabelKeys cannot be set when labelSelector isn't set. This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.|
+|`namespaceSelector`|[`LabelSelector`](#labelselector)|A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces.|
+|`namespaces`|`Array< string >`|namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means "this pod's namespace".|
|`topologyKey`|`string`|This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces, where co-located is defined as running on a node whose value of the label with key topologyKey matches that of any node on which any of the selected pods is running. Empty topologyKey is not allowed.|
## TypedLocalObjectReference
@@ -6889,19 +6718,77 @@ TypedLocalObjectReference contains enough information to let you locate the type
|`kind`|`string`|Kind is the type of resource being referenced|
|`name`|`string`|Name is the name of resource being referenced|
+## TypedObjectReference
+
+_No description available_
+
+### Fields
+| Field Name | Field Type | Description |
+|:----------:|:----------:|---------------|
+|`apiGroup`|`string`|APIGroup is the group for the resource being referenced. If APIGroup is not specified, the specified Kind must be in the core API group. For any other third-party types, APIGroup is required.|
+|`kind`|`string`|Kind is the type of resource being referenced|
+|`name`|`string`|Name is the name of resource being referenced|
+|`namespace`|`string`|Namespace is the namespace of resource being referenced Note that when a namespace is specified, a gateway.networking.k8s.io/ReferenceGrant object is required in the referent namespace to allow that namespace's owner to accept the reference. See the ReferenceGrant documentation for details. (Alpha) This field requires the CrossNamespaceVolumeDataSource feature gate to be enabled.|
+
+## VolumeResourceRequirements
+
+VolumeResourceRequirements describes the storage resource requirements for a volume.
+
+
+Examples with this field (click to open)
+
+- [`buildkit-template.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/buildkit-template.yaml)
+
+- [`ci-output-artifact.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/ci-output-artifact.yaml)
+
+- [`ci-workflowtemplate.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/ci-workflowtemplate.yaml)
+
+- [`ci.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/ci.yaml)
+
+- [`dns-config.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/dns-config.yaml)
+
+- [`fun-with-gifs.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/fun-with-gifs.yaml)
+
+- [`influxdb-ci.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/influxdb-ci.yaml)
+
+- [`pod-spec-patch-wf-tmpl.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/pod-spec-patch-wf-tmpl.yaml)
+
+- [`pod-spec-yaml-patch.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/pod-spec-yaml-patch.yaml)
+
+- [`volumes-pvc.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/volumes-pvc.yaml)
+
+- [`work-avoidance.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/work-avoidance.yaml)
+
+
+### Fields
+| Field Name | Field Type | Description |
+|:----------:|:----------:|---------------|
+|`limits`|[`Quantity`](#quantity)|Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/|
+|`requests`|[`Quantity`](#quantity)|Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. Requests cannot exceed Limits. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/|
+
## PersistentVolumeClaimCondition
-PersistentVolumeClaimCondition contails details about state of pvc
+PersistentVolumeClaimCondition contains details about state of pvc
### Fields
| Field Name | Field Type | Description |
|:----------:|:----------:|---------------|
-|`lastProbeTime`|[`Time`](#time)|Last time we probed the condition.|
-|`lastTransitionTime`|[`Time`](#time)|Last time the condition transitioned from one status to another.|
-|`message`|`string`|Human-readable message indicating details about last transition.|
-|`reason`|`string`|Unique, this should be a short, machine understandable string that gives the reason for condition's last transition. If it reports "ResizeStarted" that means the underlying persistent volume is being resized.|
+|`lastProbeTime`|[`Time`](#time)|lastProbeTime is the time we probed the condition.|
+|`lastTransitionTime`|[`Time`](#time)|lastTransitionTime is the time the condition transitioned from one status to another.|
+|`message`|`string`|message is the human-readable message indicating details about last transition.|
+|`reason`|`string`|reason is a unique, this should be a short, machine understandable string that gives the reason for condition's last transition. If it reports "Resizing" that means the underlying persistent volume is being resized.|
|`status`|`string`|_No description available_|
-|`type`|`string`| Possible enum values: - `"FileSystemResizePending"` - controller resize is finished and a file system resize is pending on node - `"Resizing"` - a user trigger resize of pvc has been started|
+|`type`|`string`|_No description available_|
+
+## ModifyVolumeStatus
+
+ModifyVolumeStatus represents the status object of ControllerModifyVolume operation
+
+### Fields
+| Field Name | Field Type | Description |
+|:----------:|:----------:|---------------|
+|`status`|`string`|status is the status of the ControllerModifyVolume operation. It can be in any of following states: - Pending Pending indicates that the PersistentVolumeClaim cannot be modified due to unmet requirements, such as the specified VolumeAttributesClass not existing. - InProgress InProgress indicates that the volume is being modified. - Infeasible Infeasible indicates that the request has been rejected as invalid by the CSI driver. To resolve the error, a valid VolumeAttributesClass needs to be specified. Note: New statuses can be added in the future. Consumers should check for unknown statuses and fail appropriately.|
+|`targetVolumeAttributesClassName`|`string`|targetVolumeAttributesClassName is the name of the VolumeAttributesClass the PVC currently being reconciled|
## KeyToPath
@@ -6910,9 +6797,9 @@ Maps a string key to a path within a volume.
### Fields
| Field Name | Field Type | Description |
|:----------:|:----------:|---------------|
-|`key`|`string`|The key to project.|
-|`mode`|`integer`|Optional: mode bits used to set permissions on this file. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.|
-|`path`|`string`|The relative path of the file to map the key to. May not be an absolute path. May not contain the path element '..'. May not start with the string '..'.|
+|`key`|`string`|key is the key to project.|
+|`mode`|`integer`|mode is Optional: mode bits used to set permissions on this file. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.|
+|`path`|`string`|path is the relative path of the file to map the key to. May not be an absolute path. May not contain the path element '..'. May not start with the string '..'.|
## DownwardAPIVolumeFile
@@ -6921,7 +6808,7 @@ DownwardAPIVolumeFile represents information to create the file containing the p
### Fields
| Field Name | Field Type | Description |
|:----------:|:----------:|---------------|
-|`fieldRef`|[`ObjectFieldSelector`](#objectfieldselector)|Required: Selects a field of the pod: only annotations, labels, name and namespace are supported.|
+|`fieldRef`|[`ObjectFieldSelector`](#objectfieldselector)|Required: Selects a field of the pod: only annotations, labels, name, namespace and uid are supported.|
|`mode`|`integer`|Optional: mode bits used to set permissions on this file, must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.|
|`path`|`string`|Required: Path is the relative path name of the file to be created. Must not be absolute or contain the '..' path. Must be utf-8 encoded. The first item of the relative path must not start with '..'|
|`resourceFieldRef`|[`ResourceFieldSelector`](#resourcefieldselector)|Selects a resource of the container: only resources limits and requests (limits.cpu, limits.memory, requests.cpu and requests.memory) are currently supported.|
@@ -6943,10 +6830,11 @@ Projection that may be projected along with other supported volume types
### Fields
| Field Name | Field Type | Description |
|:----------:|:----------:|---------------|
-|`configMap`|[`ConfigMapProjection`](#configmapprojection)|information about the configMap data to project|
-|`downwardAPI`|[`DownwardAPIProjection`](#downwardapiprojection)|information about the downwardAPI data to project|
-|`secret`|[`SecretProjection`](#secretprojection)|information about the secret data to project|
-|`serviceAccountToken`|[`ServiceAccountTokenProjection`](#serviceaccounttokenprojection)|information about the serviceAccountToken data to project|
+|`clusterTrustBundle`|[`ClusterTrustBundleProjection`](#clustertrustbundleprojection)|ClusterTrustBundle allows a pod to access the `.spec.trustBundle` field of ClusterTrustBundle objects in an auto-updating file. Alpha, gated by the ClusterTrustBundleProjection feature gate. ClusterTrustBundle objects can either be selected by name, or by the combination of signer name and a label selector. Kubelet performs aggressive normalization of the PEM contents written into the pod filesystem. Esoteric PEM features such as inter-block comments and block headers are stripped. Certificates are deduplicated. The ordering of certificates within the file is arbitrary, and Kubelet may change the order over time.|
+|`configMap`|[`ConfigMapProjection`](#configmapprojection)|configMap information about the configMap data to project|
+|`downwardAPI`|[`DownwardAPIProjection`](#downwardapiprojection)|downwardAPI information about the downwardAPI data to project|
+|`secret`|[`SecretProjection`](#secretprojection)|secret information about the secret data to project|
+|`serviceAccountToken`|[`ServiceAccountTokenProjection`](#serviceaccounttokenprojection)|serviceAccountToken is information about the serviceAccountToken data to project|
## ObjectFieldSelector
@@ -6969,6 +6857,15 @@ ResourceFieldSelector represents container resources (cpu, memory) and their out
|`divisor`|[`Quantity`](#quantity)|Specifies the output format of the exposed resources, defaults to "1"|
|`resource`|`string`|Required: resource to select|
+## SleepAction
+
+SleepAction describes a "sleep" action.
+
+### Fields
+| Field Name | Field Type | Description |
+|:----------:|:----------:|---------------|
+|`seconds`|`integer`|Seconds is the number of seconds to sleep.|
+
## HTTPHeader
HTTPHeader describes a custom header to be used in HTTP probes
@@ -6976,7 +6873,7 @@ HTTPHeader describes a custom header to be used in HTTP probes
### Fields
| Field Name | Field Type | Description |
|:----------:|:----------:|---------------|
-|`name`|`string`|The header field name|
+|`name`|`string`|The header field name. This will be canonicalized upon output, so case-variant names will be understood as the same header.|
|`value`|`string`|The header field value|
## NodeSelectorTerm
@@ -6989,6 +6886,19 @@ A null or empty node selector term matches no objects. The requirements of them
|`matchExpressions`|`Array<`[`NodeSelectorRequirement`](#nodeselectorrequirement)`>`|A list of node selector requirements by node's labels.|
|`matchFields`|`Array<`[`NodeSelectorRequirement`](#nodeselectorrequirement)`>`|A list of node selector requirements by node's fields.|
+## ClusterTrustBundleProjection
+
+ClusterTrustBundleProjection describes how to select a set of ClusterTrustBundle objects and project their contents into the pod filesystem.
+
+### Fields
+| Field Name | Field Type | Description |
+|:----------:|:----------:|---------------|
+|`labelSelector`|[`LabelSelector`](#labelselector)|Select all ClusterTrustBundles that match this label selector. Only has effect if signerName is set. Mutually-exclusive with name. If unset, interpreted as "match nothing". If set but empty, interpreted as "match everything".|
+|`name`|`string`|Select a single ClusterTrustBundle by object name. Mutually-exclusive with signerName and labelSelector.|
+|`optional`|`boolean`|If true, don't block pod startup if the referenced ClusterTrustBundle(s) aren't available. If using name, then the named ClusterTrustBundle is allowed not to exist. If using signerName, then the combination of signerName and labelSelector is allowed to match zero ClusterTrustBundles.|
+|`path`|`string`|Relative path from the volume root to write the bundle.|
+|`signerName`|`string`|Select all ClusterTrustBundles that match this signer name. Mutually-exclusive with name. The contents of all selected ClusterTrustBundles will be unified and deduplicated.|
+
## ConfigMapProjection
Adapts a ConfigMap into a projected volume. The contents of the target ConfigMap's Data field will be presented in a projected volume as files using the keys in the Data field as the file names, unless the items element is populated with specific mappings of keys to paths. Note that this is identical to a configmap volume source without the default mode.
@@ -7002,9 +6912,9 @@ Adapts a ConfigMap into a projected volume. The contents of the target ConfigMap
### Fields
| Field Name | Field Type | Description |
|:----------:|:----------:|---------------|
-|`items`|`Array<`[`KeyToPath`](#keytopath)`>`|If unspecified, each key-value pair in the Data field of the referenced ConfigMap will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the ConfigMap, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'.|
-|`name`|`string`|Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names|
-|`optional`|`boolean`|Specify whether the ConfigMap or its keys must be defined|
+|`items`|`Array<`[`KeyToPath`](#keytopath)`>`|items if unspecified, each key-value pair in the Data field of the referenced ConfigMap will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the ConfigMap, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'.|
+|`name`|`string`|Name of the referent. This field is effectively required, but due to backwards compatibility is allowed to be empty. Instances of this type with an empty value here are almost certainly wrong. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names|
+|`optional`|`boolean`|optional specify whether the ConfigMap or its keys must be defined|
## DownwardAPIProjection
@@ -7030,9 +6940,9 @@ Adapts a secret into a projected volume. The contents of the target Secret's Dat
### Fields
| Field Name | Field Type | Description |
|:----------:|:----------:|---------------|
-|`items`|`Array<`[`KeyToPath`](#keytopath)`>`|If unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'.|
-|`name`|`string`|Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names|
-|`optional`|`boolean`|Specify whether the Secret or its key must be defined|
+|`items`|`Array<`[`KeyToPath`](#keytopath)`>`|items if unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'.|
+|`name`|`string`|Name of the referent. This field is effectively required, but due to backwards compatibility is allowed to be empty. Instances of this type with an empty value here are almost certainly wrong. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names|
+|`optional`|`boolean`|optional field specify whether the Secret or its key must be defined|
## ServiceAccountTokenProjection
@@ -7041,9 +6951,9 @@ ServiceAccountTokenProjection represents a projected service account token volum
### Fields
| Field Name | Field Type | Description |
|:----------:|:----------:|---------------|
-|`audience`|`string`|Audience is the intended audience of the token. A recipient of a token must identify itself with an identifier specified in the audience of the token, and otherwise should reject the token. The audience defaults to the identifier of the apiserver.|
-|`expirationSeconds`|`integer`|ExpirationSeconds is the requested duration of validity of the service account token. As the token approaches expiration, the kubelet volume plugin will proactively rotate the service account token. The kubelet will start trying to rotate the token if the token is older than 80 percent of its time to live or if the token is older than 24 hours.Defaults to 1 hour and must be at least 10 minutes.|
-|`path`|`string`|Path is the path relative to the mount point of the file to project the token into.|
+|`audience`|`string`|audience is the intended audience of the token. A recipient of a token must identify itself with an identifier specified in the audience of the token, and otherwise should reject the token. The audience defaults to the identifier of the apiserver.|
+|`expirationSeconds`|`integer`|expirationSeconds is the requested duration of validity of the service account token. As the token approaches expiration, the kubelet volume plugin will proactively rotate the service account token. The kubelet will start trying to rotate the token if the token is older than 80 percent of its time to live or if the token is older than 24 hours.Defaults to 1 hour and must be at least 10 minutes.|
+|`path`|`string`|path is the path relative to the mount point of the file to project the token into.|
## NodeSelectorRequirement
@@ -7053,5 +6963,5 @@ A node selector requirement is a selector that contains values, a key, and an op
| Field Name | Field Type | Description |
|:----------:|:----------:|---------------|
|`key`|`string`|The label key that the selector applies to.|
-|`operator`|`string`|Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt. Possible enum values: - `"DoesNotExist"` - `"Exists"` - `"Gt"` - `"In"` - `"Lt"` - `"NotIn"`|
+|`operator`|`string`|Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.|
|`values`|`Array< string >`|An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch.|
diff --git a/docs/metrics.md b/docs/metrics.md
index 984dd2c3bb57..a1cd4adb586f 100644
--- a/docs/metrics.md
+++ b/docs/metrics.md
@@ -1,8 +1,8 @@
-# Prometheus Metrics
+# Metrics
> v2.7 and after
-!!! Metrics changes in 3.6
+!!! Warning "Metrics changes in 3.6"
Please read [this short guide](upgrading.md#metrics-changes) on what you must consider when upgrading to 3.6.
## Introduction
@@ -60,6 +60,42 @@ metricsConfig: |
### Prometheus scraping
+A metrics service is not installed as part of [the default installation](quick-start.md) so you will need to add one if you wish to use a Prometheus Service Monitor.
+If you have more than one controller pod, using one as a [hot-standby](high-availability.md), you should use [a headless service](https://kubernetes.io/docs/concepts/services-networking/service/#headless-services) to ensure that each pod is being scraped so that no metrics are missed.
+
+```yaml
+cat <
+
+#### `cronworkflows_concurrencypolicy_triggered`
+
+A counter of the number of times a CronWorkflow has triggered its `concurrencyPolicy` to limit the number of workflows running.
+
+| attribute | explanation |
+|-------------|-------------------------------------------|
+| `name` | ⚠️ The name of the CronWorkflow |
+| `namespace` | The namespace of the CronWorkflow |
+| `concurrency_policy` | The concurrency policy which was triggered, will be either `Forbid` or `Replace` |
+
#### `cronworkflows_triggered_total`
-A counter of the number of times a CronWorkflow has been
+A counter of the number of times a CronWorkflow has been triggered.
+Suppressed runs due to `concurrencyPolicy: Forbid` will not be counted.
| attribute | explanation |
|-------------|-------------------------------------------|
-| `name` | ⚠️ The name of the CronWorkflow. |
-| `namespace` | The namespace in which the pod is running |
+| `name` | ⚠️ The name of the CronWorkflow |
+| `namespace` | The namespace of the CronWorkflow |
+
+#### `deprecated_feature`
+
+A counter which goes up when a feature which is [deprecated](deprecations.md) is used.
+🚨 This counter may go up much more than once for a single use of the feature.
+
+| attribute | explanation |
+|-------------|---------------------------------------------|
+| `feature` | The name of the feature used |
+| `namespace` | The namespace of the item using the feature |
+
+`feature` will be one of:
+
+- [`cronworkflow schedule`](deprecations.md#cronworkflow_schedule)
+- [`synchronization mutex`](deprecations.md#synchronization_mutex)
+- [`synchronization semaphore`](deprecations.md#synchronization_semaphore)
+- [`workflow podpriority`](deprecations.md#workflow_podpriority)
#### `gauge`
@@ -229,8 +301,8 @@ A counter of certain errors incurred by the controller.
The currently tracked specific errors are
- `OperationPanic` - the controller `panic()` on a programming bug
-- `CronWorkflowSubmissionError` - A cron workflow failed submission
-- `CronWorkflowSpecError` - A cron workflow has an invalid specification
+- `CronWorkflowSubmissionError` - A CronWorkflow failed submission
+- `CronWorkflowSpecError` - A CronWorkflow has an invalid specification
#### `k8s_request_total`
@@ -624,46 +696,3 @@ To define a real-time metric simply add `realtime: true` to a gauge metric with
realtime: true
value: "{{duration}}"
```
-
-## Metrics endpoint
-
-By default, metrics are emitted by the workflow-controller on port 9090 on the `/metrics` path.
-By port-forwarding to the pod you can view the metrics in your browser at `http://localhost:9090/metrics`:
-
-`kubectl -n argo port-forward deploy/workflow-controller 9090:9090`
-
-A metrics service is not installed as part of [the default installation](quick-start.md) so you will need to add one if you wish to use a Prometheus Service Monitor:
-
-```yaml
-cat <, run `make postgres-cli` to access.
* MySQL on , run `make mysql-cli` to access.
+To back up the database, use `make postgres-dump` or `make mysql-dump`, which will generate a SQL dump in the `db-dumps/` directory.
+
+```console
+make postgres-dump
+```
+
+To restore the backup, use `make postgres-cli` or `make mysql-cli`, piping in the file from the `db-dumps/` directory.
+
+Note that this is destructive and will delete any data you have stored.
+
+```console
+make postgres-cli < db-dumps/2024-10-16T17:11:58Z.sql
+```
+
To test SSO integration, use `PROFILE=sso`:
```bash
make start UI=true PROFILE=sso
```
+### TLS
+
+By default, `make start` will start Argo in [plain text mode](tls.md#plain-text).
+To simulate a TLS proxy in front of Argo, use `UI_SECURE=true` (which implies `UI=true`):
+
+```bash
+make start UI_SECURE=true
+```
+
+To start Argo in [encrypted mode](tls.md#encrypted), use `SECURE=true`, which can be optionally combined with `UI_SECURE=true`:
+
+```bash
+make start SECURE=true UI_SECURE=true
+```
+
### Running E2E tests locally
Start up Argo Workflows using the following:
@@ -206,6 +235,12 @@ Tests often fail: that's good. To diagnose failure:
If tests run slowly or time out, factory reset your Kubernetes cluster.
+### Debugging using Visual Studio Code
+
+When using the Dev Container with VSCode, use the `Attach to argo server` and/or `Attach to workflow controller` launch configurations to attach to the `argo` or `workflow-controller` processes, respectively.
+
+This will allow you to start a debug session, where you can inspect variables and set breakpoints.
+
## Committing
Before you commit code and raise a PR, always run:
@@ -245,15 +280,3 @@ go tool pprof http://localhost:6060/debug/pprof/profile # 30-second CPU profil
go tool pprof http://localhost:6060/debug/pprof/heap # heap profile
go tool pprof http://localhost:6060/debug/pprof/block # goroutine blocking profile
```
-
-## Using Multiple Terminals
-
-I run the controller in one terminal, and the UI in another. I like the UI: it is much faster to debug workflows than
-the terminal. This allows you to make changes to the controller and re-start it, without restarting the UI (which I
-think takes too long to start-up).
-
-As a convenience, `CTRL=false` implies `UI=true`, so just run:
-
-```bash
-make start CTRL=false
-```
diff --git a/docs/sidecar-injection.md b/docs/sidecar-injection.md
index a44312589002..bb690da751b2 100644
--- a/docs/sidecar-injection.md
+++ b/docs/sidecar-injection.md
@@ -53,6 +53,7 @@ spec:
podMetadata:
annotations:
workflows.argoproj.io/kill-cmd-istio-proxy: '["pilot-agent", "request", "POST", "quitquitquit"]'
+ workflows.argoproj.io/kill-cmd-linkerd-proxy: '["/usr/lib/linkerd/linkerd-await","sleep","1","--shutdown"]'
workflows.argoproj.io/kill-cmd-vault-agent: '["sh", "-c", "kill -%d 1"]'
workflows.argoproj.io/kill-cmd-sidecar: '["sh", "-c", "kill -%d $(pidof entrypoint.sh)"]'
```
diff --git a/docs/synchronization.md b/docs/synchronization.md
index 480952cb0221..d18de01fcc8d 100644
--- a/docs/synchronization.md
+++ b/docs/synchronization.md
@@ -24,10 +24,6 @@ data:
template: "2" # Two instances of template can run at a given time in particular namespace
```
-!!! Warning
- Each synchronization block may only refer to either a semaphore or a mutex.
- If you specify both only the semaphore will be locked.
-
## Workflow-level Synchronization
You can limit parallel execution of workflows by using the same synchronization reference.
@@ -36,44 +32,14 @@ In this example the synchronization key `workflow` is configured as limit `"1"`,
Using a semaphore configured by a `ConfigMap`:
-```yaml
-apiVersion: argoproj.io/v1alpha1
-kind: Workflow
-metadata:
- generateName: synchronization-wf-level-
-spec:
- entrypoint: hello-world
- synchronization:
- semaphore:
- configMapKeyRef:
- name: my-config
- key: workflow
- templates:
- - name: hello-world
- container:
- image: busybox
- command: [echo]
- args: ["hello world"]
+```yaml title="examples/synchronization-wf-level.yaml"
+--8<-- "examples/synchronization-wf-level.yaml:12"
```
Using a mutex is equivalent to a limit `"1"` semaphore:
-```yaml
-apiVersion: argoproj.io/v1alpha1
-kind: Workflow
-metadata:
- generateName: synchronization-wf-level-
-spec:
- entrypoint: hello-world
- synchronization:
- mutex:
- name: workflow
- templates:
- - name: hello-world
- container:
- image: busybox
- command: [echo]
- args: ["hello world"]
+```yaml title="examples/synchronization-mutex-wf-level.yaml"
+--8<-- "examples/synchronization-mutex-wf-level.yaml:3"
```
## Template-level Synchronization
@@ -85,73 +51,16 @@ This applies even when multiple steps or tasks within a workflow or different wo
Using a semaphore configured by a `ConfigMap`:
-```yaml
-apiVersion: argoproj.io/v1alpha1
-kind: Workflow
-metadata:
- generateName: synchronization-tmpl-level-
-spec:
- entrypoint: synchronization-tmpl-level-example
- templates:
- - name: synchronization-tmpl-level-example
- steps:
- - - name: synchronization-acquire-lock
- template: acquire-lock
- arguments:
- parameters:
- - name: seconds
- value: "{{item}}"
- withParam: '["1","2","3","4","5"]'
-
- - name: acquire-lock
- synchronization:
- semaphore:
- configMapKeyRef:
- name: my-config
- key: template
- container:
- image: alpine:latest
- command: [sh, -c]
- args: ["sleep 10; echo acquired lock"]
+```yaml title="examples/synchronization-tmpl-level.yaml"
+--8<-- "examples/synchronization-tmpl-level.yaml:11"
```
Using a mutex will limit to a single concurrent execution of the template:
-```yaml
-apiVersion: argoproj.io/v1alpha1
-kind: Workflow
-metadata:
- generateName: synchronization-tmpl-level-
-spec:
- entrypoint: synchronization-tmpl-level-example
- templates:
- - name: synchronization-tmpl-level-example
- steps:
- - - name: synchronization-acquire-lock
- template: acquire-lock
- arguments:
- parameters:
- - name: seconds
- value: "{{item}}"
- withParam: '["1","2","3","4","5"]'
-
- - name: acquire-lock
- synchronization:
- mutex:
- name: template
- container:
- image: alpine:latest
- command: [sh, -c]
- args: ["sleep 10; echo acquired lock"]
+```yaml title="examples/synchronization-mutex-tmpl-level.yaml"
+--8<-- "examples/synchronization-mutex-tmpl-level.yaml:3"
```
-Examples:
-
-1. [Workflow level semaphore](https://github.com/argoproj/argo-workflows/blob/main/examples/synchronization-wf-level.yaml)
-1. [Workflow level mutex](https://github.com/argoproj/argo-workflows/blob/main/examples/synchronization-mutex-wf-level.yaml)
-1. [Step level semaphore](https://github.com/argoproj/argo-workflows/blob/main/examples/synchronization-tmpl-level.yaml)
-1. [Step level mutex](https://github.com/argoproj/argo-workflows/blob/main/examples/synchronization-mutex-tmpl-level.yaml)
-
## Queuing
When a workflow cannot acquire a lock it will be placed into a ordered queue.
@@ -162,6 +71,28 @@ The queue is then ordered by `creationTimestamp`: older workflows are placed bef
Workflows can only acquire a lock if they are at the front of the queue for that lock.
+## Multiple locks
+
+> v3.6 and after
+
+You can specify multiple locks in a single workflow or template.
+
+```yaml
+synchronization:
+ mutexes:
+ - name: alpha
+ - name: beta
+ semaphores:
+ - configMapKeyRef:
+ key: foo
+ name: my-config
+ - configMapKeyRef:
+ key: bar
+ name: my-config
+```
+
+The workflow will block until all of these locks are available.
+
## Workflow-level parallelism
You can use `parallelism` within a workflow or template to restrict the total concurrent executions of steps or tasks.
@@ -175,6 +106,9 @@ Examples:
1. [`parallelism-nested-workflow.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/parallelism-nested-workflow.yaml) shows how parallelism is inherited by children
1. [`parallelism-template-limit.yaml`](https://github.com/argoproj/argo-workflows/blob/main/examples/parallelism-template-limit.yaml) shows how parallelism of looped templates is also restricted
+!!! Warning
+ If a Workflow is at the front of the queue and it needs to acquire multiple locks, all other Workflows that also need those same locks will wait. This applies even if the other Workflows only wish to acquire a subset of those locks.
+
## Other Parallelism support
You can also [restrict parallelism at the Controller-level](parallelism.md).
diff --git a/docs/upgrading.md b/docs/upgrading.md
index 6ddcf6e55499..5df08c5aaa89 100644
--- a/docs/upgrading.md
+++ b/docs/upgrading.md
@@ -5,6 +5,17 @@ the [conventional commits](https://www.conventionalcommits.org/en/v1.0.0/#summar
## Upgrading to v3.6
+See also the list of [new features in 3.6](new-features.md).
+
+### Deprecations
+
+The following features are deprecated and will be removed in a future verison of Argo Workflows:
+
+* The Python SDK is deprecated, we recommend migrating to [Hera](https://github.com/argoproj-labs/hera)
+* `schedule` in CronWorkflows, `podPriority`, `mutex` and `semaphore` in Workflows and WorkflowTemplates.
+
+For more information on how to migrate these see [deprecations](deprecations.md)
+
### Fixed Server `--basehref` inconsistency
For consistency, the Server now uses `--base-href` and `ARGO_BASE_HREF`.
@@ -15,6 +26,19 @@ Previously it was `--basehref` (no dash in between) and `ARGO_BASEHREF` (no unde
`ALLOWED_LINK_PROTOCOL` and `BASE_HREF` have been removed as redundant.
Use `ARGO_ALLOWED_LINK_PROTOCOL` and `ARGO_BASE_HREF` instead.
+### Legacy insecure pod patch fallback removed. ([#13100](https://github.com/argoproj/argo-workflows/pull/13100))
+
+For the Emissary executor to work properly, you must set up RBAC. See [workflow RBAC](workflow-rbac.md)
+
+### Archived Workflows on PostgreSQL
+
+This upgrade will transform an archived workflow column from type `json` to type `jsonb`.
+This will take some time if you have a lot of archived workflows.
+This requires PostgreSQL version 9.4 or higher.
+
+You can perform this modification prior to upgrading with `alter table argo_archived_workflows alter column workflow set data type jsonb using workflow::jsonb`.
+This is considered safe to do whilst running version 3.5 as the column types are compatible.
+
### Metrics changes
You can now retrieve metrics using the OpenTelemetry Protocol using the [OpenTelemetry collector](https://opentelemetry.io/docs/collector/), and this is the recommended mechanism.
@@ -25,7 +49,9 @@ These notes explain the differences in using the Prometheus `/metrics` endpoint
The following are new metrics:
+* `cronworkflows_concurrencypolicy_triggered`
* `cronworkflows_triggered_total`
+* `deprecated_feature`
* `is_leader`
* `k8s_request_duration`
* `pod_pending_count`
@@ -73,6 +99,16 @@ Custom metrics, as defined by a workflow, could be defined as one type (say coun
The Prometheus `/metrics` endpoint now has TLS enabled by default.
To disable this set `metricsConfig.secure` to `false`.
+### JSON templating fix
+
+When returning a map or array in an expression, you would get a Golang representation.
+This now returns plain JSON.
+
+### `ARGO_TEMPLATE` removed from main container
+
+The environment variable `ARGO_TEMPLATE` which is an internal implementation detail is no longer available inside the `main` container of your workflow pods.
+This is documented here as we are aware that some users of Argo Workflows use this.
+
## Upgrading to v3.5
There are no known breaking changes in this release.
diff --git a/docs/use-cases/data-processing.md b/docs/use-cases/data-processing.md
index a86d5bb915aa..97b4198e70c6 100644
--- a/docs/use-cases/data-processing.md
+++ b/docs/use-cases/data-processing.md
@@ -7,6 +7,7 @@
## Videos
* [Running a Data Replication Pipeline on Kubernetes with Argo and Singer.io](https://towardsdatascience.com/running-a-data-replication-pipeline-on-kubernetes-with-argo-and-singer-io-2fab5b0bad?utm_source=argo-docs)
+* [Scaling Kubernetes: Best Practices for Managing Large-Scale Batch Jobs with Spark and Argo Workflow](https://www.youtube.com/watch?v=KqEKRPjy4aE)
## Books
diff --git a/docs/use-cases/machine-learning.md b/docs/use-cases/machine-learning.md
index 205c1a097c3e..691752b99594 100644
--- a/docs/use-cases/machine-learning.md
+++ b/docs/use-cases/machine-learning.md
@@ -10,14 +10,19 @@
## Videos
* [Automating Research Workflows at BlackRock](https://www.youtube.com/watch?v=ZK510prml8o)
+* [Beyond Prototypes: Production-Ready ML Systems with Metaflow and Argo](https://github.com/terrytangyuan/public-talks/tree/main/talks/kubecon-na-2023-metaflow-argo)
* [Bridging into Python Ecosystem with Cloud-Native Distributed Machine Learning Pipelines](https://github.com/terrytangyuan/public-talks/tree/main/talks/bridging-into-python-ecosystem-with-cloud-native-distributed-machine-learning-pipelines-argocon-2021)
* [Building Medical Grade AI with Argo Workflows](https://youtu.be/4VPSktuM5Ow)
* [CI/CD for Machine Learning at MLB using Argo Workflows - Eric Meadows](https://youtu.be/fccWoYlwZKc?t=184&utm_source=argo-docs)
* [Dynamic, Event-Driven Machine Learning Pipelines with Argo Workflows](https://youtu.be/ei4r0a7eAV0)
+* [Engineering Cloud Native AI Platform](https://github.com/terrytangyuan/public-talks/tree/main/talks/platform-con-2024-engineering-cloud-native-ai-platform)
* [Machine Learning as Code: GitOps for ML with Kubeflow and Argo CD](https://www.youtube.com/watch?v=VXrGp5er1ZE&t=0s&index=135&list=PLj6h78yzYM2PZf9eA7bhWnIh_mK1vyOfU)
* [Machine Learning with Argo and Ploomber](https://www.youtube.com/watch?v=FnpXyg-5W_c&list=PLGHfqDpnXFXK4E8XzasScagiJk-8BPgva&utm_source=argo-docs)
* [Making Complex R Forecast Applications Into Production Using Argo Workflows](https://www.youtube.com/watch?v=fPjztsUXHcg)
+* [Managing Thousands of Automatic Machine Learning Experiments with Argo and Katib](https://github.com/terrytangyuan/public-talks/blob/main/talks/argocon-automl-experiments-2022)
* [MLOps at TripAdvisor: ML Models CI/CD Automation with Argo - Ang Gao (Principal Software Engineer, TripAdvisor)](https://www.youtube.com/watch?v=BochC4GKxbo&list=PLGHfqDpnXFXK4E8XzasScagiJk-8BPgva&index=2&utm_source=argo-docs)
+* [Production-Ready AI Platform on Kubernetes](https://github.com/terrytangyuan/public-talks/tree/main/talks/kubecon-europe-2024-production-ai-platform-on-k8s)
+* [Revolutionizing Scientific Simulations with Argo Workflows](https://www.youtube.com/watch?v=BYVf7GhfiRg)
* [Towards Cloud-Native Distributed Machine Learning Pipelines at Scale](https://github.com/terrytangyuan/public-talks/tree/main/talks/towards-cloud-native-distributed-machine-learning-pipelines-at-scale-pydata-global-2021)
## Books
diff --git a/docs/variables.md b/docs/variables.md
index 5422f519b7c6..330d71572c49 100644
--- a/docs/variables.md
+++ b/docs/variables.md
@@ -184,6 +184,22 @@ Only available for `successCondition`
| `response.body` | Response body (`string`) |
| `response.headers` | Response headers (`map[string][]string`) |
+### CronWorkflows
+
+> v3.6 and after
+
+| Variable | Description|
+|----------|------------|
+| `cronworkflow.name` | Name of the CronWorkflow (`string`) |
+| `cronworkflow.namespace` | Namespace of the CronWorkflow (`string`) |
+| `cronworkflow.labels.` | CronWorkflow labels (`string`) |
+| `cronworkflow.labels.json` | CronWorkflow labels as a JSON string (`string`) |
+| `cronworkflow.annotations.` | CronWorkflow annotations (`string`) |
+| `cronworkflow.annotations.json` | CronWorkflow annotations as a JSON string (`string`) |
+| `cronworkflow.lastScheduledTime` | The time since this workflow was last scheduled, value is nil on first run (`*time.Time`) |
+| `cronworkflow.failed` | Counts how many times child workflows failed |
+| `cronworkflow.succeeded` | Counts how many times child workflows succeeded |
+
### `RetryStrategy`
When using the `expression` field within `retryStrategy`, special variables are available.
@@ -276,17 +292,6 @@ For `Template`-level metrics:
| `workflow.status` | Workflow status. One of: `Succeeded`, `Failed`, `Error` |
| `workflow.failures` | A list of JSON objects containing information about nodes that failed or errored during execution. Available fields: `displayName`, `message`, `templateName`, `phase`, `podName`, and `finishedAt`. |
-### `stopStrategy`
-
-> v3.6 and after
-
-When using the `condition` field within the [`stopStrategy` of a `CronWorkflow`](cron-workflows.md#automatically-stopping-a-cronworkflow), special variables are available.
-
-| Variable | Description|
-|----------|------------|
-| `failed` | Counts how many times child workflows failed |
-| `succeeded` | Counts how many times child workflows succeeded |
-
### Knowing where you are
The idea with creating a `WorkflowTemplate` is that they are reusable bits of code you will use in many actual Workflows. Sometimes it is useful to know which workflow you are part of.
diff --git a/docs/walk-through/docker-in-docker-using-sidecars.md b/docs/walk-through/docker-in-docker-using-sidecars.md
index 53bcdb7ae290..f2666577f7c1 100644
--- a/docs/walk-through/docker-in-docker-using-sidecars.md
+++ b/docs/walk-through/docker-in-docker-using-sidecars.md
@@ -1,10 +1,13 @@
# Docker-in-Docker Using Sidecars
-Note: It is increasingly unlikely that the below example will work for you on your version of Kubernetes. [Since Kubernetes 1.24, the dockershim has been unavailable as part of Kubernetes](https://kubernetes.io/blog/2022/02/17/dockershim-faq/), rendering Docker-in-Docker unworkable. It is recommended to seek alternative methods of building containers, such as [Kaniko](https://github.com/GoogleContainerTools/kaniko) or [Buildkit](https://github.com/moby/buildkit). A [Buildkit Workflow example](https://raw.githubusercontent.com/argoproj/argo-workflows/main/examples/buildkit-template.yaml) is available in the examples directory of the Argo Workflows repository.
+!!! Note "Alternatives"
+ Alternative methods of building containers, such as [Kaniko](https://github.com/GoogleContainerTools/kaniko) or [Buildkit](https://github.com/moby/buildkit) can be simpler and more secure.
+ See the [Buildkit template](https://github.com/argoproj/argo-workflows/main/examples/buildkit-template.yaml) as an example.
----
+You can use [sidecars](sidecars.md) to implement Docker-in-Docker (DIND).
+You can use DIND to run Docker commands inside a container, such as to build and push a container image.
-An application of sidecars is to implement Docker-in-Docker (DIND). DIND is useful when you want to run Docker commands from inside a container. For example, you may want to build and push a container image from inside your build container. In the following example, we use the `docker:dind` image to run a Docker daemon in a sidecar and give the main container access to the daemon.
+In the following example, use the `docker:dind` image to run a Docker daemon in a sidecar and give the main container access to the daemon:
```yaml
apiVersion: argoproj.io/v1alpha1
diff --git a/docs/workflow-archive.md b/docs/workflow-archive.md
index 9eec49592377..086756abd857 100644
--- a/docs/workflow-archive.md
+++ b/docs/workflow-archive.md
@@ -2,7 +2,7 @@
> v2.5 and after
-If you want to keep completed workflows for a long time, you can use the workflow archive to save them in a Postgres or MySQL (>= 5.7.8) database.
+If you want to keep completed workflows for a long time, you can use the workflow archive to save them in a Postgres (>=9.4) or MySQL (>= 5.7.8) database.
The workflow archive stores the status of the workflow, which pods have been executed, what was the result etc.
The job logs of the workflow pods will not be archived.
If you need to save the logs of the pods, you must setup an [artifact repository](artifact-repository-ref.md) according to [this doc](configure-artifact-repository.md).
@@ -17,7 +17,7 @@ To enable archiving of the workflows, you must configure database parameters in
Example:
- persistence:
+ persistence:
archive: true
postgresql:
host: localhost
@@ -56,7 +56,7 @@ In this case you can delete all the above tables and restart the workflow-contro
If you know what are you doing you also have an option to skip migration:
- persistence:
+ persistence:
skipMigration: true
## Required database permissions
@@ -72,7 +72,7 @@ The default is forever.
Example:
- persistence:
+ persistence:
archiveTTL: 10d
The `ARCHIVED_WORKFLOW_GC_PERIOD` variable defines the periodicity of running the garbage collection function.
@@ -86,7 +86,7 @@ Optionally you can set a unique name of your Kubernetes cluster. This name will
Example:
- persistence:
+ persistence:
clusterName: dev-cluster
## Disabling Workflow Archive
@@ -95,5 +95,5 @@ To disable archiving of the workflows, set `archive:` to `false` in the `persis
Example:
- persistence:
+ persistence:
archive: false
diff --git a/docs/workflow-controller-configmap.yaml b/docs/workflow-controller-configmap.yaml
index efb6cdabe113..b91e457d9f1d 100644
--- a/docs/workflow-controller-configmap.yaml
+++ b/docs/workflow-controller-configmap.yaml
@@ -41,6 +41,13 @@ data:
nodeEvents: |
enabled: true
+ # Whether or not to emit events on workflow status changes. These can take a up a lot of space in
+ # k8s (typically etcd), see nodeEvents above.
+ # This config item allows you to disable this.
+ # (since v3.6)
+ workflowEvents: |
+ enabled: true
+
# uncomment following lines if workflow controller runs in a different k8s cluster with the
# workflow workloads, or needs to communicate with the k8s apiserver using an out-of-cluster
# kubeconfig secret
diff --git a/docs/workflow-creator.md b/docs/workflow-creator.md
index 6ad7cd6b4016..45ce7eee1c1a 100644
--- a/docs/workflow-creator.md
+++ b/docs/workflow-creator.md
@@ -11,10 +11,10 @@ metadata:
name: my-wf
labels:
workflows.argoproj.io/creator: admin
- # labels must be DNS formatted, so the "@" is replaces by '.at.'
+ # labels must be DNS formatted, so the "@" is replaces by '.at.'
workflows.argoproj.io/creator-email: admin.at.your.org
workflows.argoproj.io/creator-preferred-username: admin-preferred-username
```
-!!! NOTE
+!!! Note
Labels only contain `[-_.0-9a-zA-Z]`, so any other characters will be turned into `-`.
diff --git a/docs/workflow-templates.md b/docs/workflow-templates.md
index 66de9c71dd21..63b66dc29229 100644
--- a/docs/workflow-templates.md
+++ b/docs/workflow-templates.md
@@ -138,7 +138,6 @@ kind: WorkflowTemplate
metadata:
name: hello-world-template-global-arg
spec:
- serviceAccountName: argo
templates:
- name: hello-world
container:
@@ -151,7 +150,6 @@ kind: Workflow
metadata:
generateName: hello-world-wf-global-arg-
spec:
- serviceAccountName: argo
entrypoint: print-message
arguments:
parameters:
@@ -251,37 +249,6 @@ spec:
value: "hello world"
```
-You should **never** reference another template directly on a `template` object (outside of a `steps` or `dag` template).
-This includes both using `template` and `templateRef`.
-This behavior is deprecated, no longer supported, and will be removed in a future version.
-
-Here is an example of a **deprecated** reference that **should not be used**:
-
-```yaml
-apiVersion: argoproj.io/v1alpha1
-kind: Workflow
-metadata:
- generateName: workflow-template-hello-world-
-spec:
- entrypoint: hello-world
- templates:
- - name: hello-world
- template: # You should NEVER use "template" here. Use it under a "steps" or "dag" template (see above).
- templateRef: # You should NEVER use "templateRef" here. Use it under a "steps" or "dag" template (see above).
- name: workflow-template-1
- template: print-message
- arguments: # Arguments here are ignored. Use them under a "steps" or "dag" template (see above).
- parameters:
- - name: message
- value: "hello world"
-```
-
-The reasoning for deprecating this behavior is that a `template` is a "definition": it defines inputs and things to be
-done once instantiated. With this deprecated behavior, the same template object is allowed to be an "instantiator":
-to pass in "live" arguments and reference other templates (those other templates may be "definitions" or "instantiators").
-
-This behavior has been problematic and dangerous. It causes confusion and has design inconsistencies.
-
### Create `Workflow` from `WorkflowTemplate` Spec
> v2.9 and after
diff --git a/examples/arguments-parameters-from-configmap.yaml b/examples/arguments-parameters-from-configmap.yaml
index 39339ff41b7f..7e03b9bf70e4 100644
--- a/examples/arguments-parameters-from-configmap.yaml
+++ b/examples/arguments-parameters-from-configmap.yaml
@@ -11,7 +11,6 @@ metadata:
workflows.argoproj.io/verify.py: |
assert status["phase"] == "Succeeded"
spec:
- serviceAccountName: argo
entrypoint: print-message-from-configmap
templates:
diff --git a/examples/artifact-repository-ref.yaml b/examples/artifact-repository-ref.yaml
index b79812e6c8ee..349d3a748bf0 100644
--- a/examples/artifact-repository-ref.yaml
+++ b/examples/artifact-repository-ref.yaml
@@ -1,7 +1,7 @@
apiVersion: argoproj.io/v1alpha1
kind: Workflow
metadata:
- generateName: artifactory-repository-ref-
+ generateName: artifact-repository-ref-
spec:
entrypoint: main
artifactRepositoryRef:
diff --git a/examples/cron-when.yaml b/examples/cron-when.yaml
new file mode 100644
index 000000000000..c7904cd5ad7e
--- /dev/null
+++ b/examples/cron-when.yaml
@@ -0,0 +1,16 @@
+apiVersion: argoproj.io/v1alpha1
+kind: CronWorkflow
+metadata:
+ name: sleep-when
+spec:
+ schedule: "* * * * *"
+ concurrencyPolicy: "Allow"
+ when: "{{= cronworkflow.lastScheduledTime == nil || (now() - cronworkflow.lastScheduledTime).Seconds() > 360 }}"
+ workflowSpec:
+ entrypoint: sleep-busybox
+ templates:
+ - name: sleep-busybox
+ container:
+ image: busybox
+ command: [sleep]
+ args: ["10"]
diff --git a/examples/cron-workflow-multiple-schedules.yaml b/examples/cron-workflow-multiple-schedules.yaml
new file mode 100644
index 000000000000..5a6b8ebacb5c
--- /dev/null
+++ b/examples/cron-workflow-multiple-schedules.yaml
@@ -0,0 +1,22 @@
+apiVersion: argoproj.io/v1alpha1
+kind: CronWorkflow
+metadata:
+ name: hello-world-multiple-schedules
+spec:
+ schedules: # v3.6 and after
+ - "*/3 * * * *"
+ - "*/2 * * * *"
+ timezone: "America/Los_Angeles" # Default to local machine timezone
+ startingDeadlineSeconds: 0
+ concurrencyPolicy: "Replace" # Default to "Allow"
+ successfulJobsHistoryLimit: 4 # Default 3
+ failedJobsHistoryLimit: 4 # Default 1
+ suspend: false # Set to "true" to suspend scheduling
+ workflowSpec:
+ entrypoint: whalesay
+ templates:
+ - name: whalesay
+ container:
+ image: docker/whalesay:latest
+ command: [cowsay]
+ args: ["🕓 hello world. Scheduled on: {{workflow.scheduledTime}}"]
diff --git a/examples/example-golang/main.go b/examples/example-golang/main.go
index b19953f3bb01..4c3fb7d7432a 100644
--- a/examples/example-golang/main.go
+++ b/examples/example-golang/main.go
@@ -12,7 +12,7 @@ import (
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/fields"
"k8s.io/client-go/tools/clientcmd"
- "k8s.io/utils/pointer"
+ "k8s.io/utils/ptr"
wfv1 "github.com/argoproj/argo-workflows/v3/pkg/apis/workflow/v1alpha1"
wfclientset "github.com/argoproj/argo-workflows/v3/pkg/client/clientset/versioned"
@@ -61,7 +61,7 @@ func main() {
// wait for the workflow to complete
fieldSelector := fields.ParseSelectorOrDie(fmt.Sprintf("metadata.name=%s", createdWf.Name))
- watchIf, err := wfClient.Watch(ctx, metav1.ListOptions{FieldSelector: fieldSelector.String(), TimeoutSeconds: pointer.Int64(180)})
+ watchIf, err := wfClient.Watch(ctx, metav1.ListOptions{FieldSelector: fieldSelector.String(), TimeoutSeconds: ptr.To(int64(180))})
errors.CheckError(err)
defer watchIf.Stop()
for next := range watchIf.ResultChan() {
diff --git a/examples/global-parameters-from-configmap-referenced-as-local-variable.yaml b/examples/global-parameters-from-configmap-referenced-as-local-variable.yaml
index 701ebd1c1caa..72e25bd8918f 100644
--- a/examples/global-parameters-from-configmap-referenced-as-local-variable.yaml
+++ b/examples/global-parameters-from-configmap-referenced-as-local-variable.yaml
@@ -9,7 +9,6 @@ metadata:
This example demonstrates how a global parameter from a ConfigMap can be referenced as a template local variable.
Note that the "simple-parameters" ConfigMap (defined in `examples/configmaps/simple-parameters-configmap.yaml`) needs to be created first before submitting this workflow.
spec:
- serviceAccountName: argo
entrypoint: print-message
arguments:
parameters:
diff --git a/examples/global-parameters-from-configmap.yaml b/examples/global-parameters-from-configmap.yaml
index 4b8dc78114a2..349cbb83a405 100644
--- a/examples/global-parameters-from-configmap.yaml
+++ b/examples/global-parameters-from-configmap.yaml
@@ -9,7 +9,6 @@ metadata:
This example demonstrates loading global parameter values from a ConfigMap.
Note that the "simple-parameters" ConfigMap (defined in `examples/configmaps/simple-parameters-configmap.yaml`) needs to be created first before submitting this workflow.
spec:
- serviceAccountName: argo
entrypoint: print-message
# Parameters can also be passed via configmap reference.
arguments:
diff --git a/examples/http-hello-world.yaml b/examples/http-hello-world.yaml
index 1c58b604b507..429120d4582e 100644
--- a/examples/http-hello-world.yaml
+++ b/examples/http-hello-world.yaml
@@ -22,8 +22,8 @@ spec:
continueOn:
failed: true
arguments:
- parameters: [{name: url, value: "http://openlibrary.org/people/george08/nofound.json"}]
-
+ parameters: [{name: url, value: "https://raw.githubusercontent.com/argoproj/argo-workflows/thisisnotahash/pkg/apis/workflow/v1alpha1/generated.swagger.json"}]
+
- name: http
inputs:
parameters:
@@ -31,4 +31,3 @@ spec:
http:
# url: http://dummy.restapiexample.com/api/v1/employees
url: "{{inputs.parameters.url}}"
-
diff --git a/examples/synchronization-mutex-tmpl-level-legacy.yaml b/examples/synchronization-mutex-tmpl-level-legacy.yaml
new file mode 100644
index 000000000000..3ad2648c0b9c
--- /dev/null
+++ b/examples/synchronization-mutex-tmpl-level-legacy.yaml
@@ -0,0 +1,48 @@
+# This example demonstrates the use of a Synchronization Mutex lock on template execution. Mutex lock limits
+# only one of the template execution across the workflows in the namespace which has same Mutex lock.
+apiVersion: argoproj.io/v1alpha1
+kind: Workflow
+metadata:
+ generateName: synchronization-tmpl-level-mutex-
+spec:
+ entrypoint: synchronization-tmpl-level-mutex-example
+ templates:
+ - name: synchronization-tmpl-level-mutex-example
+ steps:
+ - - name: synchronization-acquire-lock
+ template: acquire-lock
+ arguments:
+ parameters:
+ - name: seconds
+ value: "{{item}}"
+ withParam: '["1","2","3","4","5"]'
+
+ - name: synchronization-acquire-lock1
+ template: acquire-lock-1
+ arguments:
+ parameters:
+ - name: seconds
+ value: "{{item}}"
+ withParam: '["1","2","3","4","5"]'
+
+ - name: acquire-lock
+ synchronization:
+ mutex: # deprecated: v3.5 and before
+ name: welcome
+ # mutexes: # v3.6 and after
+ # - name: welcome
+ container:
+ image: alpine:latest
+ command: [sh, -c]
+ args: ["sleep 20; echo acquired lock"]
+
+ - name: acquire-lock-1
+ synchronization:
+ mutex: # deprecated: v3.5 and before
+ name: test
+ # mutexes: # v3.6 and after
+ # - name: test
+ container:
+ image: alpine:latest
+ command: [sh, -c]
+ args: ["sleep 50; echo acquired lock"]
diff --git a/examples/synchronization-mutex-tmpl-level.yaml b/examples/synchronization-mutex-tmpl-level.yaml
index 9652e48a7d0a..948634e92e0f 100644
--- a/examples/synchronization-mutex-tmpl-level.yaml
+++ b/examples/synchronization-mutex-tmpl-level.yaml
@@ -1,6 +1,5 @@
# This example demonstrates the use of a Synchronization Mutex lock on template execution. Mutex lock limits
# only one of the template execution across the workflows in the namespace which has same Mutex lock.
-
apiVersion: argoproj.io/v1alpha1
kind: Workflow
metadata:
@@ -28,8 +27,10 @@ spec:
- name: acquire-lock
synchronization:
- mutex:
- name: welcome
+ mutexes: # v3.6 and after
+ - name: welcome
+ # mutex: # deprecated: v3.5 and before
+ # name: welcome
container:
image: alpine:latest
command: [sh, -c]
@@ -37,9 +38,11 @@ spec:
- name: acquire-lock-1
synchronization:
- mutex:
- name: test
+ mutexes: # v3.6 and after
+ - name: test
+ # mutex: # deprecated: v3.5 and before
+ # name: test
container:
image: alpine:latest
command: [sh, -c]
- args: ["sleep 50; echo acquired lock"]
\ No newline at end of file
+ args: ["sleep 50; echo acquired lock"]
diff --git a/examples/synchronization-mutex-wf-level-legacy.yaml b/examples/synchronization-mutex-wf-level-legacy.yaml
new file mode 100644
index 000000000000..cc4689bbd234
--- /dev/null
+++ b/examples/synchronization-mutex-wf-level-legacy.yaml
@@ -0,0 +1,19 @@
+# This example demonstrates the use of a Synchronization Mutex lock on workflow execution. Mutex lock limits
+# only one of the workflow execution in the namespace which has same Mutex lock.
+apiVersion: argoproj.io/v1alpha1
+kind: Workflow
+metadata:
+ generateName: synchronization-wf-level-
+spec:
+ entrypoint: hello-world
+ synchronization:
+ mutex: # deprecated: v3.5 and before
+ name: test
+ # mutexes: # v3.6 and after
+ # - name: test
+ templates:
+ - name: hello-world
+ container:
+ image: busybox
+ command: [echo]
+ args: ["hello world"]
diff --git a/examples/synchronization-mutex-wf-level.yaml b/examples/synchronization-mutex-wf-level.yaml
index f13b199c6aaa..8d3f45af4811 100644
--- a/examples/synchronization-mutex-wf-level.yaml
+++ b/examples/synchronization-mutex-wf-level.yaml
@@ -7,8 +7,10 @@ metadata:
spec:
entrypoint: hello-world
synchronization:
- mutex:
- name: test
+ mutexes: # v3.6 and after
+ - name: test
+ # mutex: # deprecated: v3.5 and before
+ # name: test
templates:
- name: hello-world
container:
diff --git a/examples/synchronization-tmpl-level-legacy.yaml b/examples/synchronization-tmpl-level-legacy.yaml
new file mode 100644
index 000000000000..1bc96e22f04f
--- /dev/null
+++ b/examples/synchronization-tmpl-level-legacy.yaml
@@ -0,0 +1,41 @@
+# This example demonstrates the use of a Synchronization lock on template execution. Synchronization lock limits
+# the number of concurrent template execution across the workflows in the namespace which has same Synchronization lock.
+# Synchronization limit value can be configured in configmap. Eg.:
+# apiVersion: v1
+# kind: ConfigMap
+# metadata:
+# name: my-config
+# data:
+# template: "3"
+#---
+apiVersion: argoproj.io/v1alpha1
+kind: Workflow
+metadata:
+ generateName: synchronization-tmpl-level-
+spec:
+ entrypoint: synchronization-tmpl-level-example
+ templates:
+ - name: synchronization-tmpl-level-example
+ steps:
+ - - name: synchronization-acquire-lock
+ template: acquire-lock
+ arguments:
+ parameters:
+ - name: seconds
+ value: "{{item}}"
+ withParam: '["1","2","3","4","5"]'
+
+ - name: acquire-lock
+ synchronization:
+ semaphore: # deprecated: v3.5 and before
+ configMapKeyRef:
+ name: my-config
+ key: template
+ # semaphores: # v3.6 and after
+ # - configMapKeyRef:
+ # name: my-config
+ # key: template
+ container:
+ image: alpine:latest
+ command: [sh, -c]
+ args: ["sleep 10; echo acquired lock"]
diff --git a/examples/synchronization-tmpl-level.yaml b/examples/synchronization-tmpl-level.yaml
index b8c0f79c6c6f..47232505ee32 100644
--- a/examples/synchronization-tmpl-level.yaml
+++ b/examples/synchronization-tmpl-level.yaml
@@ -27,10 +27,14 @@ spec:
- name: acquire-lock
synchronization:
- semaphore:
- configMapKeyRef:
- name: my-config
- key: template
+ semaphores: # v3.6 and after
+ - configMapKeyRef:
+ name: my-config
+ key: template
+ # semaphore: # deprecated: v3.5 and before
+ # configMapKeyRef:
+ # name: my-config
+ # key: template
container:
image: alpine:latest
command: [sh, -c]
diff --git a/examples/synchronization-wf-level-legacy.yaml b/examples/synchronization-wf-level-legacy.yaml
new file mode 100644
index 000000000000..fa89a65c200d
--- /dev/null
+++ b/examples/synchronization-wf-level-legacy.yaml
@@ -0,0 +1,32 @@
+# This example demonstrates the use of a Synchronization lock on workflow execution. Synchronization lock limits
+# the number of concurrent workflow execution in the namespace which has same Synchronization lock. Synchronization
+# limit value can be configured in configmap.
+# Eg.:
+# apiVersion: v1
+# kind: ConfigMap
+# metadata:
+# name: my-config
+# data:
+# workflow: "3"
+#---
+apiVersion: argoproj.io/v1alpha1
+kind: Workflow
+metadata:
+ generateName: synchronization-wf-level-
+spec:
+ entrypoint: hello-world
+ synchronization:
+ semaphore: # deprecated: v3.5 and before
+ configMapKeyRef:
+ name: my-config
+ key: workflow
+ # semaphores: # v3.6 and after
+ # - configMapKeyRef:
+ # name: my-config
+ # key: workflow
+ templates:
+ - name: hello-world
+ container:
+ image: busybox
+ command: [echo]
+ args: ["hello world"]
diff --git a/examples/synchronization-wf-level.yaml b/examples/synchronization-wf-level.yaml
index b7ed90a092ca..060c09cf1711 100644
--- a/examples/synchronization-wf-level.yaml
+++ b/examples/synchronization-wf-level.yaml
@@ -16,10 +16,14 @@ metadata:
spec:
entrypoint: hello-world
synchronization:
- semaphore:
- configMapKeyRef:
- name: my-config
- key: workflow
+ semaphores: # v3.6 and after
+ - configMapKeyRef:
+ name: my-config
+ key: workflow
+ # semaphore: # deprecated: v3.5 and before
+ # configMapKeyRef:
+ # name: my-config
+ # key: workflow
templates:
- name: hello-world
container:
diff --git a/go.mod b/go.mod
index 88f023089b8c..ae74bfe221d3 100644
--- a/go.mod
+++ b/go.mod
@@ -1,6 +1,6 @@
module github.com/argoproj/argo-workflows/v3
-go 1.22.5
+go 1.23.1
require (
cloud.google.com/go/storage v1.36.0
@@ -13,7 +13,7 @@ require (
github.com/aliyun/aliyun-oss-go-sdk v3.0.2+incompatible
github.com/aliyun/credentials-go v1.3.2
github.com/argoproj/argo-events v1.9.1
- github.com/argoproj/pkg v0.13.7-0.20240208112602-3bb8fe9a0527
+ github.com/argoproj/pkg v0.13.7-0.20240704113442-a69fd34a8117
github.com/blushft/go-diagrams v0.0.0-20201006005127-c78c821223d9
github.com/colinmarc/hdfs/v2 v2.4.0
github.com/coreos/go-oidc/v3 v3.9.0
@@ -38,7 +38,6 @@ require (
github.com/jcmturner/gokrb5/v8 v8.4.4
github.com/klauspost/pgzip v1.2.6
github.com/minio/minio-go/v7 v7.0.66
- github.com/pkg/errors v0.9.1
github.com/prometheus/client_golang v1.19.0
github.com/prometheus/common v0.48.0
github.com/robfig/cron/v3 v3.0.1
@@ -46,7 +45,7 @@ require (
github.com/sirupsen/logrus v1.9.3
github.com/skratchdot/open-golang v0.0.0-20200116055534-eef842397966
github.com/soheilhy/cmux v0.1.5
- github.com/spf13/cobra v1.8.0
+ github.com/spf13/cobra v1.8.1
github.com/spf13/pflag v1.0.5
github.com/spf13/viper v1.18.2
github.com/stretchr/testify v1.9.0
@@ -70,15 +69,15 @@ require (
google.golang.org/genproto/googleapis/api v0.0.0-20240125205218-1f4bbc51befe
google.golang.org/grpc v1.61.0
gopkg.in/go-playground/webhooks.v5 v5.17.0
- k8s.io/api v0.26.15
- k8s.io/apimachinery v0.26.15
- k8s.io/cli-runtime v0.26.15
- k8s.io/client-go v0.26.15
+ k8s.io/api v0.30.3
+ k8s.io/apimachinery v0.30.3
+ k8s.io/cli-runtime v0.30.3
+ k8s.io/client-go v0.30.3
k8s.io/gengo v0.0.0-20220902162205-c0856e24416d
- k8s.io/klog/v2 v2.80.1
- k8s.io/kube-openapi v0.0.0-20221012153701-172d655c2280
- k8s.io/kubectl v0.26.15
- k8s.io/utils v0.0.0-20221107191617-1a15be271d1d
+ k8s.io/klog/v2 v2.120.1
+ k8s.io/kube-openapi v0.0.0-20240228011516-70dd3763d340
+ k8s.io/kubectl v0.30.3
+ k8s.io/utils v0.0.0-20230726121419-3b25d923346b
sigs.k8s.io/yaml v1.4.0
zombiezen.com/go/sqlite v1.2.0
)
@@ -87,17 +86,19 @@ require (
dario.cat/mergo v1.0.0 // indirect
github.com/TylerBrock/colorjson v0.0.0-20200706003622-8a50f05110d2 // indirect
github.com/alibabacloud-go/debug v0.0.0-20190504072949-9472017b5c68 // indirect
- github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.10.4 // indirect
- github.com/aws/aws-sdk-go-v2/service/ssooidc v1.21.7 // indirect
+ github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.11.3 // indirect
+ github.com/aws/aws-sdk-go-v2/service/ssooidc v1.26.2 // indirect
github.com/cenkalti/backoff/v4 v4.2.1 // indirect
github.com/cloudflare/circl v1.3.7 // indirect
github.com/containerd/stargz-snapshotter/estargz v0.14.3 // indirect
github.com/cyphar/filepath-securejoin v0.2.4 // indirect
+ github.com/distribution/reference v0.5.0 // indirect
github.com/evilmonkeyinc/jsonpath v0.8.1 // indirect
github.com/fatih/color v1.15.0 // indirect
github.com/go-logr/stdr v1.2.2 // indirect
github.com/gobwas/glob v0.2.4-0.20181002190808-e7a84e9525fe // indirect
github.com/golang-jwt/jwt/v5 v5.2.1 // indirect
+ github.com/google/gnostic-models v0.6.8 // indirect
github.com/google/s2a-go v0.1.7 // indirect
github.com/grpc-ecosystem/grpc-gateway/v2 v2.19.0 // indirect
github.com/jackc/chunkreader/v2 v2.0.1 // indirect
@@ -116,6 +117,7 @@ require (
github.com/mattn/go-isatty v0.0.20 // indirect
github.com/ncruces/go-strftime v0.1.9 // indirect
github.com/pjbgf/sha1cd v0.3.0 // indirect
+ github.com/pkg/errors v0.9.1 // indirect
github.com/prometheus/client_model v0.6.0 // indirect
github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec // indirect
github.com/sagikazarmark/locafero v0.4.0 // indirect
@@ -128,7 +130,7 @@ require (
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.47.0 // indirect
go.opentelemetry.io/otel/trace v1.23.0 // indirect
go.opentelemetry.io/proto/otlp v1.1.0 // indirect
- go.uber.org/multierr v1.10.0 // indirect
+ go.uber.org/multierr v1.11.0 // indirect
golang.org/x/mod v0.17.0 // indirect
golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d // indirect
google.golang.org/genproto v0.0.0-20240116215550-a9fa1716bcac // indirect
@@ -137,6 +139,7 @@ require (
modernc.org/mathutil v1.6.0 // indirect
modernc.org/memory v1.7.2 // indirect
modernc.org/sqlite v1.29.1 // indirect
+ sigs.k8s.io/kustomize/kustomize/v5 v5.0.4-0.20230601165947-6ce0bf390ce3 // indirect
)
require (
@@ -165,25 +168,25 @@ require (
github.com/ajg/form v1.5.1 // indirect
github.com/andybalholm/brotli v1.0.4 // indirect
github.com/awalterschulze/gographviz v0.0.0-20200901124122-0eecad45bd71 // indirect
- github.com/aws/aws-sdk-go-v2 v1.24.1 // indirect
- github.com/aws/aws-sdk-go-v2/config v1.26.6 // indirect
- github.com/aws/aws-sdk-go-v2/credentials v1.16.16 // indirect
- github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.14.11 // indirect
- github.com/aws/aws-sdk-go-v2/internal/configsources v1.2.10 // indirect
- github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.5.10 // indirect
- github.com/aws/aws-sdk-go-v2/internal/ini v1.7.3 // indirect
+ github.com/aws/aws-sdk-go-v2 v1.30.1 // indirect
+ github.com/aws/aws-sdk-go-v2/config v1.27.23 // indirect
+ github.com/aws/aws-sdk-go-v2/credentials v1.17.24 // indirect
+ github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.9 // indirect
+ github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.13 // indirect
+ github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.13 // indirect
+ github.com/aws/aws-sdk-go-v2/internal/ini v1.8.0 // indirect
github.com/aws/aws-sdk-go-v2/service/ecr v1.17.8 // indirect
github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.13.8 // indirect
- github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.10.10 // indirect
- github.com/aws/aws-sdk-go-v2/service/sso v1.18.7 // indirect
- github.com/aws/aws-sdk-go-v2/service/sts v1.26.7 // indirect
- github.com/aws/smithy-go v1.19.0 // indirect
+ github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.15 // indirect
+ github.com/aws/aws-sdk-go-v2/service/sso v1.22.1 // indirect
+ github.com/aws/aws-sdk-go-v2/service/sts v1.30.1 // indirect
+ github.com/aws/smithy-go v1.20.3 // indirect
github.com/awslabs/amazon-ecr-credential-helper/ecr-login v0.0.0-20220706184558-ce46abcd012b // indirect
github.com/beorn7/perks v1.0.1 // indirect
github.com/cespare/xxhash/v2 v2.2.0 // indirect
github.com/chai2010/gettext-go v1.0.2 // indirect
github.com/chrismellard/docker-credential-acr-env v0.0.0-20220327082430-c57b701bfc08 // indirect
- github.com/cpuguy83/go-md2man/v2 v2.0.3 // indirect
+ github.com/cpuguy83/go-md2man/v2 v2.0.4 // indirect
github.com/creack/pty v1.1.21
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect
github.com/daviddengcn/go-colortext v1.0.0 // indirect
@@ -193,15 +196,15 @@ require (
github.com/docker/docker v27.1.1+incompatible // indirect
github.com/docker/docker-credential-helpers v0.7.0 // indirect
github.com/dustin/go-humanize v1.0.1 // indirect
- github.com/emicklei/go-restful/v3 v3.10.0 // indirect
+ github.com/emicklei/go-restful/v3 v3.11.0 // indirect
github.com/emirpasic/gods v1.18.1 // indirect
github.com/exponent-io/jsonpath v0.0.0-20151013193312-d6023ce2651d // indirect
github.com/fatih/camelcase v1.0.0 // indirect
github.com/fatih/structs v1.1.0 // indirect
github.com/felixge/httpsnoop v1.0.4 // indirect
github.com/fsnotify/fsnotify v1.7.0 // indirect
- github.com/fvbommel/sortorder v1.0.1 // indirect
- github.com/go-errors/errors v1.0.1 // indirect
+ github.com/fvbommel/sortorder v1.1.0 // indirect
+ github.com/go-errors/errors v1.4.2 // indirect
github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 // indirect
github.com/go-git/go-billy/v5 v5.5.0 // indirect
github.com/go-logr/logr v1.4.1 // indirect
@@ -211,7 +214,6 @@ require (
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect
github.com/golang/mock v1.6.0
github.com/google/btree v1.0.1 // indirect
- github.com/google/gnostic v0.6.9 // indirect
github.com/google/go-cmp v0.6.0 // indirect
github.com/google/go-containerregistry/pkg/authn/kubernetes v0.0.0-20220719135131-f79ec2192282 // indirect
github.com/google/go-querystring v1.1.0 // indirect
@@ -281,14 +283,14 @@ require (
github.com/xanzy/ssh-agent v0.3.3 // indirect
github.com/xeipuuv/gojsonpointer v0.0.0-20190905194746-02993c407bfb // indirect
github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415 // indirect
- github.com/xlab/treeprint v1.1.0 // indirect
+ github.com/xlab/treeprint v1.2.0 // indirect
github.com/yalp/jsonpath v0.0.0-20180802001716-5cc68e5049a0 // indirect
github.com/yudai/gojsondiff v1.0.0 // indirect
github.com/yudai/golcs v0.0.0-20170316035057-ecda9a501e82 // indirect
go.opencensus.io v0.24.0 // indirect
- go.starlark.net v0.0.0-20200306205701-8dd3e2ee1dd5 // indirect
+ go.starlark.net v0.0.0-20230525235612-a134d8f9ddca // indirect
golang.org/x/net v0.26.0 // indirect
- golang.org/x/sys v0.21.0 // indirect
+ golang.org/x/sys v0.21.0
golang.org/x/term v0.21.0
golang.org/x/text v0.16.0 // indirect
google.golang.org/appengine v1.6.8 // indirect
@@ -298,16 +300,12 @@ require (
gopkg.in/warnings.v0 v0.1.2 // indirect
gopkg.in/yaml.v2 v2.4.0 // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect
- k8s.io/component-base v0.26.15 // indirect
- k8s.io/component-helpers v0.26.15 // indirect
- k8s.io/metrics v0.26.15 // indirect
+ k8s.io/component-base v0.30.3 // indirect
+ k8s.io/component-helpers v0.30.3 // indirect
+ k8s.io/metrics v0.30.3 // indirect
moul.io/http2curl/v2 v2.3.0 // indirect
- sigs.k8s.io/json v0.0.0-20220713155537-f223a00ba0e2
- sigs.k8s.io/kustomize/api v0.12.1 // indirect
- sigs.k8s.io/kustomize/kustomize/v4 v4.5.7 // indirect
- sigs.k8s.io/kustomize/kyaml v0.13.9 // indirect
- sigs.k8s.io/structured-merge-diff/v4 v4.2.3 // indirect
+ sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd
+ sigs.k8s.io/kustomize/api v0.13.5-0.20230601165947-6ce0bf390ce3 // indirect
+ sigs.k8s.io/kustomize/kyaml v0.14.3-0.20230601165947-6ce0bf390ce3 // indirect
+ sigs.k8s.io/structured-merge-diff/v4 v4.4.1 // indirect
)
-
-// Avoid CVE-2023-45288
-replace golang.org/x/net => golang.org/x/net v0.23.0
diff --git a/go.sum b/go.sum
index 811b33266eff..9489e40083de 100644
--- a/go.sum
+++ b/go.sum
@@ -79,7 +79,6 @@ github.com/Microsoft/go-winio v0.5.2/go.mod h1:WpS1mjBmmwHBEWmogvA2mj8546UReBk4v
github.com/Microsoft/go-winio v0.6.1 h1:9/kr64B9VUZrLm5YYwbGtUJnMgqWVOdUAXu6Migciow=
github.com/Microsoft/go-winio v0.6.1/go.mod h1:LRdKpFKfdobln8UmuiYcKPot9D2v6svN5+sAH+4kjUM=
github.com/NYTimes/gziphandler v0.0.0-20170623195520-56545f4a5d46/go.mod h1:3wb06e3pkSAbeQ52E9H9iFoQsEEwGN64994WTCIhntQ=
-github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU=
github.com/ProtonMail/go-crypto v0.0.0-20230828082145-3c4c8a2d2371 h1:kkhsdkhsCvIsutKu5zLMgWtgh9YxGCNAw8Ad8hjwfYg=
github.com/ProtonMail/go-crypto v0.0.0-20230828082145-3c4c8a2d2371/go.mod h1:EjAoLdwvbIOoOQr3ihjnSoLZRtE8azugULFRteWMNc0=
github.com/PuerkitoBio/purell v1.0.0/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0=
@@ -107,53 +106,55 @@ github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be/go.mod h1:ySMOLuW
github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY=
github.com/argoproj/argo-events v1.9.1 h1:X7Sp8Xrj6OlUtrHJyJLOt6flzRwOAsKUifnf/sLJDac=
github.com/argoproj/argo-events v1.9.1/go.mod h1:yPwsLeU/Vp9nAEd4OBT8fOMEbIrmuvC4SIIqx5uJnxY=
-github.com/argoproj/pkg v0.13.7-0.20240208112602-3bb8fe9a0527 h1:Sq4xHtuYWOcEoAns6YiEnA3qseOl/l1Vztlwb7BZJm0=
-github.com/argoproj/pkg v0.13.7-0.20240208112602-3bb8fe9a0527/go.mod h1:5oQLcU9v8FllFnNfbonIW9xl/HISAreJCd7TxQzp7g4=
+github.com/argoproj/pkg v0.13.7-0.20240704113442-a69fd34a8117 h1:iOmb5RDUnQ80ZLaBYCbfgNxMJ7qC0boM267nlzMyFjo=
+github.com/argoproj/pkg v0.13.7-0.20240704113442-a69fd34a8117/go.mod h1:mwXbiH0ojJzbstR8XV9Ha/dK4IHHTKfgkQi2Kz8Aq0Y=
github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5 h1:0CwZNZbxp69SHPdPJAN/hZIm0C4OItdklCFmMRWYpio=
github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5/go.mod h1:wHh0iHkYZB8zMSxRWpUBQtwG5a7fFgvEO+odwuTv2gs=
github.com/awalterschulze/gographviz v0.0.0-20200901124122-0eecad45bd71 h1:m3N1Fv5vE5IcxuTOGFGGV0grrVFHV8UY2SV0wSBXAC8=
github.com/awalterschulze/gographviz v0.0.0-20200901124122-0eecad45bd71/go.mod h1:/ynarkO/43wP/JM2Okn61e8WFMtdbtA8he7GJxW+SFM=
github.com/aws/aws-sdk-go-v2 v1.16.7/go.mod h1:6CpKuLXg2w7If3ABZCl/qZ6rEgwtjZTn4eAf4RcEyuw=
-github.com/aws/aws-sdk-go-v2 v1.24.1 h1:xAojnj+ktS95YZlDf0zxWBkbFtymPeDP+rvUQIH3uAU=
-github.com/aws/aws-sdk-go-v2 v1.24.1/go.mod h1:LNh45Br1YAkEKaAqvmE1m8FUx6a5b/V0oAKV7of29b4=
+github.com/aws/aws-sdk-go-v2 v1.30.1 h1:4y/5Dvfrhd1MxRDD77SrfsDaj8kUkkljU7XE83NPV+o=
+github.com/aws/aws-sdk-go-v2 v1.30.1/go.mod h1:nIQjQVp5sfpQcTc9mPSr1B0PaWK5ByX9MOoDadSN4lc=
github.com/aws/aws-sdk-go-v2/config v1.15.13/go.mod h1:AcMu50uhV6wMBUlURnEXhr9b3fX6FLSTlEV89krTEGk=
-github.com/aws/aws-sdk-go-v2/config v1.26.6 h1:Z/7w9bUqlRI0FFQpetVuFYEsjzE3h7fpU6HuGmfPL/o=
-github.com/aws/aws-sdk-go-v2/config v1.26.6/go.mod h1:uKU6cnDmYCvJ+pxO9S4cWDb2yWWIH5hra+32hVh1MI4=
+github.com/aws/aws-sdk-go-v2/config v1.27.23 h1:Cr/gJEa9NAS7CDAjbnB7tHYb3aLZI2gVggfmSAasDac=
+github.com/aws/aws-sdk-go-v2/config v1.27.23/go.mod h1:WMMYHqLCFu5LH05mFOF5tsq1PGEMfKbu083VKqLCd0o=
github.com/aws/aws-sdk-go-v2/credentials v1.12.8/go.mod h1:P2Hd4Sy7mXRxPNcQMPBmqszSJoDXexX8XEDaT6lucO0=
-github.com/aws/aws-sdk-go-v2/credentials v1.16.16 h1:8q6Rliyv0aUFAVtzaldUEcS+T5gbadPbWdV1WcAddK8=
-github.com/aws/aws-sdk-go-v2/credentials v1.16.16/go.mod h1:UHVZrdUsv63hPXFo1H7c5fEneoVo9UXiz36QG1GEPi0=
+github.com/aws/aws-sdk-go-v2/credentials v1.17.23/go.mod h1:V/DvSURn6kKgcuKEk4qwSwb/fZ2d++FFARtWSbXnLqY=
+github.com/aws/aws-sdk-go-v2/credentials v1.17.24 h1:YclAsrnb1/GTQNt2nzv+756Iw4mF8AOzcDfweWwwm/M=
+github.com/aws/aws-sdk-go-v2/credentials v1.17.24/go.mod h1:Hld7tmnAkoBQdTMNYZGzztzKRdA4fCdn9L83LOoigac=
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.12.8/go.mod h1:oL1Q3KuCq1D4NykQnIvtRiBGLUXhcpY5pl6QZB2XEPU=
-github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.14.11 h1:c5I5iH+DZcH3xOIMlz3/tCKJDaHFwYEmxvlh2fAcFo8=
-github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.14.11/go.mod h1:cRrYDYAMUohBJUtUnOhydaMHtiK/1NZ0Otc9lIb6O0Y=
+github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.9 h1:Aznqksmd6Rfv2HQN9cpqIV/lQRMaIpJkLLaJ1ZI76no=
+github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.9/go.mod h1:WQr3MY7AxGNxaqAtsDWn+fBxmd4XvLkzeqQ8P1VM0/w=
github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.14/go.mod h1:kdjrMwHwrC3+FsKhNcCMJ7tUVj/8uSD5CZXeQ4wV6fM=
-github.com/aws/aws-sdk-go-v2/internal/configsources v1.2.10 h1:vF+Zgd9s+H4vOXd5BMaPWykta2a6Ih0AKLq/X6NYKn4=
-github.com/aws/aws-sdk-go-v2/internal/configsources v1.2.10/go.mod h1:6BkRjejp/GR4411UGqkX8+wFMbFbqsUIimfK4XjOKR4=
+github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.13 h1:5SAoZ4jYpGH4721ZNoS1znQrhOfZinOhc4XuTXx/nVc=
+github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.13/go.mod h1:+rdA6ZLpaSeM7tSg/B0IEDinCIBJGmW8rKDFkYpP04g=
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.8/go.mod h1:ZIV8GYoC6WLBW5KGs+o4rsc65/ozd+eQ0L31XF5VDwk=
-github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.5.10 h1:nYPe006ktcqUji8S2mqXf9c/7NdiKriOwMvWQHgYztw=
-github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.5.10/go.mod h1:6UV4SZkVvmODfXKql4LCbaZUpF7HO2BX38FgBf9ZOLw=
+github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.13 h1:WIijqeaAO7TYFLbhsZmi2rgLEAtWOC1LhxCAVTJlSKw=
+github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.13/go.mod h1:i+kbfa76PQbWw/ULoWnp51EYVWH4ENln76fLQE3lXT8=
github.com/aws/aws-sdk-go-v2/internal/ini v1.3.15/go.mod h1:Tkrthp/0sNBShQQsamR7j/zY4p19tVTAs+nnqhH6R3c=
-github.com/aws/aws-sdk-go-v2/internal/ini v1.7.3 h1:n3GDfwqF2tzEkXlv5cuy4iy7LpKDtqDMcNLfZDu9rls=
-github.com/aws/aws-sdk-go-v2/internal/ini v1.7.3/go.mod h1:6fQQgfuGmw8Al/3M2IgIllycxV7ZW7WCdVSqfBeUiCY=
+github.com/aws/aws-sdk-go-v2/internal/ini v1.8.0 h1:hT8rVHwugYE2lEfdFE0QWVo81lF7jMrYJVDWI+f+VxU=
+github.com/aws/aws-sdk-go-v2/internal/ini v1.8.0/go.mod h1:8tu/lYfQfFe6IGnaOdrpVgEL2IrrDOf6/m9RQum4NkY=
github.com/aws/aws-sdk-go-v2/service/ecr v1.17.8 h1:wgZo/yeY0f+2RWy2q1rTtZSPMmq37Zy3pY4QypHeurg=
github.com/aws/aws-sdk-go-v2/service/ecr v1.17.8/go.mod h1:ItZADKTnGxqcqXABHyNpoBljQ8ORt4h+D39RToM/3Ds=
github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.13.8 h1:uByYzUJNBrI4LN0H+HMA7yrDWQxe2f9cF7ZkiXltXRo=
github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.13.8/go.mod h1:nPSH6Ebmb3OkKl7+CLSjx+SMBaoFKbOe9mZhTAd352k=
-github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.10.4 h1:/b31bi3YVNlkzkBrm9LfpaKoaYZUxIAj4sHfOTmLfqw=
-github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.10.4/go.mod h1:2aGXHFmbInwgP9ZfpmdIfOELL79zhdNYNmReK8qDfdQ=
+github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.11.3 h1:dT3MqvGhSoaIhRseqw2I0yH81l7wiR2vjs57O51EAm8=
+github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.11.3/go.mod h1:GlAeCkHwugxdHaueRr4nhPuY+WW+gR8UjlcqzPr1SPI=
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.8/go.mod h1:rDVhIMAX9N2r8nWxDUlbubvvaFMnfsm+3jAV7q+rpM4=
-github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.10.10 h1:DBYTXwIGQSGs9w4jKm60F5dmCQ3EEruxdc0MFh+3EY4=
-github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.10.10/go.mod h1:wohMUQiFdzo0NtxbBg0mSRGZ4vL3n0dKjLTINdcIino=
+github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.15 h1:I9zMeF107l0rJrpnHpjEiiTSCKYAIw8mALiXcPsGBiA=
+github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.15/go.mod h1:9xWJ3Q/S6Ojusz1UIkfycgD1mGirJfLLKqq3LPT7WN8=
github.com/aws/aws-sdk-go-v2/service/sso v1.11.11/go.mod h1:MO4qguFjs3wPGcCSpQ7kOFTwRvb+eu+fn+1vKleGHUk=
-github.com/aws/aws-sdk-go-v2/service/sso v1.18.7 h1:eajuO3nykDPdYicLlP3AGgOyVN3MOlFmZv7WGTuJPow=
-github.com/aws/aws-sdk-go-v2/service/sso v1.18.7/go.mod h1:+mJNDdF+qiUlNKNC3fxn74WWNN+sOiGOEImje+3ScPM=
-github.com/aws/aws-sdk-go-v2/service/ssooidc v1.21.7 h1:QPMJf+Jw8E1l7zqhZmMlFw6w1NmfkfiSK8mS4zOx3BA=
-github.com/aws/aws-sdk-go-v2/service/ssooidc v1.21.7/go.mod h1:ykf3COxYI0UJmxcfcxcVuz7b6uADi1FkiUz6Eb7AgM8=
+github.com/aws/aws-sdk-go-v2/service/sso v1.22.1 h1:p1GahKIjyMDZtiKoIn0/jAj/TkMzfzndDv5+zi2Mhgc=
+github.com/aws/aws-sdk-go-v2/service/sso v1.22.1/go.mod h1:/vWdhoIoYA5hYoPZ6fm7Sv4d8701PiG5VKe8/pPJL60=
+github.com/aws/aws-sdk-go-v2/service/ssooidc v1.26.1/go.mod h1:xyFHA4zGxgYkdD73VeezHt3vSKEG9EmFnGwoKlP00u4=
+github.com/aws/aws-sdk-go-v2/service/ssooidc v1.26.2 h1:ORnrOK0C4WmYV/uYt3koHEWBLYsRDwk2Np+eEoyV4Z0=
+github.com/aws/aws-sdk-go-v2/service/ssooidc v1.26.2/go.mod h1:xyFHA4zGxgYkdD73VeezHt3vSKEG9EmFnGwoKlP00u4=
github.com/aws/aws-sdk-go-v2/service/sts v1.16.9/go.mod h1:O1IvkYxr+39hRf960Us6j0x1P8pDqhTX+oXM5kQNl/Y=
-github.com/aws/aws-sdk-go-v2/service/sts v1.26.7 h1:NzO4Vrau795RkUdSHKEwiR01FaGzGOH1EETJ+5QHnm0=
-github.com/aws/aws-sdk-go-v2/service/sts v1.26.7/go.mod h1:6h2YuIoxaMSCFf5fi1EgZAwdfkGMgDY+DVfa61uLe4U=
+github.com/aws/aws-sdk-go-v2/service/sts v1.30.1 h1:+woJ607dllHJQtsnJLi52ycuqHMwlW+Wqm2Ppsfp4nQ=
+github.com/aws/aws-sdk-go-v2/service/sts v1.30.1/go.mod h1:jiNR3JqT15Dm+QWq2SRgh0x0bCNSRP2L25+CqPNpJlQ=
github.com/aws/smithy-go v1.12.0/go.mod h1:Tg+OJXh4MB2R/uN61Ko2f6hTZwB/ZYGOtib8J3gBHzA=
-github.com/aws/smithy-go v1.19.0 h1:KWFKQV80DpP3vJrrA9sVAHQ5gc2z8i4EzrLhLlWXcBM=
-github.com/aws/smithy-go v1.19.0/go.mod h1:NukqUGpCZIILqqiV0NIjeFh24kd/FAa4beRb6nbIUPE=
+github.com/aws/smithy-go v1.20.3 h1:ryHwveWzPV5BIof6fyDvor6V3iUL7nTfiTKXHiW05nE=
+github.com/aws/smithy-go v1.20.3/go.mod h1:krry+ya/rV9RDcV/Q16kpu6ypI4K2czasz0NC3qS14E=
github.com/awslabs/amazon-ecr-credential-helper/ecr-login v0.0.0-20220706184558-ce46abcd012b h1:+I25t8HCatBZtvU9bFugfi8Y2zCpKUVcTRaeC0oOHOk=
github.com/awslabs/amazon-ecr-credential-helper/ecr-login v0.0.0-20220706184558-ce46abcd012b/go.mod h1:wHkLB7jZX+7D2RArMnwuFMvrLENsgd6zrwBEJo863aQ=
github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM=
@@ -161,12 +162,10 @@ github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6r
github.com/blushft/go-diagrams v0.0.0-20201006005127-c78c821223d9 h1:mV+hh0rMjzrhg7Jc/GKwpa+y/0BMHGOHdM9yY1GYyFI=
github.com/blushft/go-diagrams v0.0.0-20201006005127-c78c821223d9/go.mod h1:nDeXEIaeDV+mAK1gBD3/RJH67DYPC0GdaznWN7sB07s=
github.com/bmatcuk/doublestar v1.1.1/go.mod h1:UD6OnuiIn0yFxxA2le/rnRU1G4RaI4UvFv1sNto9p6w=
-github.com/buger/jsonparser v1.1.1/go.mod h1:6RYKKt7H4d4+iWqouImQ9R2FZql3VbhNgx27UK13J/0=
github.com/bwesterb/go-ristretto v1.2.3/go.mod h1:fUIoIZaG73pV5biE2Blr2xEzDoMj7NFEuV9ekS419A0=
github.com/cenkalti/backoff/v4 v4.2.1 h1:y4OZtCnogmCPw98Zjyt5a6+QwPLGkiQsYW5oUqylYbM=
github.com/cenkalti/backoff/v4 v4.2.1/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE=
github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU=
-github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc=
github.com/cespare/xxhash/v2 v2.2.0 h1:DC2CZ1Ep5Y4k3ZQ899DldepgrayRUGE6BBZ/cd9Cj44=
github.com/cespare/xxhash/v2 v2.2.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
github.com/chai2010/gettext-go v1.0.2 h1:1Lwwip6Q2QGsAdl/ZKPCwTe9fe0CjlUbqj5bFNSjIRk=
@@ -181,8 +180,6 @@ github.com/cloudflare/circl v1.3.3/go.mod h1:5XYMA4rFBvNIrhs50XuiBJ15vF2pZn4nnUK
github.com/cloudflare/circl v1.3.7 h1:qlCDlTPz2n9fu58M0Nh1J/JzcFpfgkFHHX3O35r5vcU=
github.com/cloudflare/circl v1.3.7/go.mod h1:sRTcRWXGLrKw6yIGJ+l7amYJFfAXbZG0kBSc8r4zxgA=
github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc=
-github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk=
-github.com/cncf/xds/go v0.0.0-20210312221358-fbca930ec8ed/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs=
github.com/cncf/xds/go v0.0.0-20231109132714-523115ebc101 h1:7To3pQ+pZo0i3dsWEbinPNFs5gPSBOsJtx3wTT94VBY=
github.com/cncf/xds/go v0.0.0-20231109132714-523115ebc101/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs=
github.com/cockroachdb/apd v1.1.0 h1:3LFP3629v+1aKXU5Q37mxmRxX/pIu1nijXydLShEq5I=
@@ -196,8 +193,8 @@ github.com/coreos/go-oidc/v3 v3.9.0/go.mod h1:rTKz2PYwftcrtoCzV5g5kvfJoWcm0Mk8AF
github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4=
github.com/coreos/go-systemd v0.0.0-20190719114852-fd7a80b32e1f/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4=
github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o=
-github.com/cpuguy83/go-md2man/v2 v2.0.3 h1:qMCsGGgs+MAzDFyp9LpAe1Lqy/fY/qCovCm0qnXZOBM=
-github.com/cpuguy83/go-md2man/v2 v2.0.3/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o=
+github.com/cpuguy83/go-md2man/v2 v2.0.4 h1:wfIWP927BUkWJb2NmU/kNDYIBTh/ziUX91+lVfRxZq4=
+github.com/cpuguy83/go-md2man/v2 v2.0.4/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o=
github.com/creack/pty v1.1.7/go.mod h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7DoTY=
github.com/creack/pty v1.1.21 h1:1/QdRyBaHHJP61QkWMXlOIBfsgdDeeKfK8SYVUWJKf0=
github.com/creack/pty v1.1.21/go.mod h1:MOBLtS5ELjhRRrroQr9kyvTxUAFNvYEK993ew/Vr4O4=
@@ -216,6 +213,8 @@ github.com/denisenkom/go-mssqldb v0.12.3/go.mod h1:k0mtMFOnU+AihqFxPMiF05rtiDror
github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ=
github.com/dimchansky/utfbom v1.1.1 h1:vV6w1AhK4VMnhBno/TPVCoK9U/LP0PkLCS9tbxHdi/U=
github.com/dimchansky/utfbom v1.1.1/go.mod h1:SxdoEBH5qIqFocHMyGOXVAybYJdr71b1Q/j0mACtrfE=
+github.com/distribution/reference v0.5.0 h1:/FUIFXtfc/x2gpa5/VGfiGLuOIdYa1t65IKK2OFGvA0=
+github.com/distribution/reference v0.5.0/go.mod h1:BbU0aIcezP1/5jX/8MP0YiH4SdvB5Y4f/wlDRiLyi3E=
github.com/dnaeon/go-vcr v1.2.0/go.mod h1:R4UdLID7HZT3taECzJs4YgbbH6PIGXB6W/sc5OLb6RQ=
github.com/docker/cli v24.0.7+incompatible h1:wa/nIwYFW7BVTGa7SWPVyyXU9lgORqUb1xfI36MSkFg=
github.com/docker/cli v24.0.7+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8=
@@ -227,7 +226,6 @@ github.com/docker/docker-credential-helpers v0.6.4/go.mod h1:ofX3UI0Gz1TteYBjtgs
github.com/docker/docker-credential-helpers v0.7.0 h1:xtCHsjxogADNZcdv1pKUHXryefjlVRqWqIhk/uXJp0A=
github.com/docker/docker-credential-helpers v0.7.0/go.mod h1:rETQfLdHNT3foU5kuNkFR1R1V12OJRRO5lzt2D1b5X0=
github.com/docker/spdystream v0.0.0-20160310174837-449fdfce4d96/go.mod h1:Qh8CwZgvJUkLughtfhJv5dyTYa91l1fOUCrgjqmcifM=
-github.com/docopt/docopt-go v0.0.0-20180111231733-ee0de3bc6815/go.mod h1:WwZ+bS3ebgob9U8Nd0kOddGdZWjyMGR8Wziv+TBNwSE=
github.com/doublerebel/bellows v0.0.0-20160303004610-f177d92a03d3 h1:7nllYTGLnq4CqBL27lV6oNfXzM2tJ2mrKF8E+aBXOV0=
github.com/doublerebel/bellows v0.0.0-20160303004610-f177d92a03d3/go.mod h1:v/MTKot4he5oRHGirOYGN4/hEOONNnWtDBLAzllSGMw=
github.com/dustin/go-humanize v1.0.1 h1:GzkhY7T5VNhEkwH0PVJgjz+fX1rhBrR7pRT3mDkpeCY=
@@ -237,15 +235,13 @@ github.com/elazarl/goproxy v0.0.0-20170405201442-c4fc26588b6e/go.mod h1:/Zj4wYkg
github.com/elazarl/goproxy v0.0.0-20230808193330-2592e75ae04a h1:mATvB/9r/3gvcejNsXKSkQ6lcIaNec2nyfOdlTBR2lU=
github.com/elazarl/goproxy v0.0.0-20230808193330-2592e75ae04a/go.mod h1:Ro8st/ElPeALwNFlcTpWmkr6IoMFfkjXAvTHpevnDsM=
github.com/emicklei/go-restful v0.0.0-20170410110728-ff4f55a20633/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs=
-github.com/emicklei/go-restful/v3 v3.10.0 h1:X4gma4HM7hFm6WMeAsTfqA0GOfdNoCzBIkHGoRLGXuM=
-github.com/emicklei/go-restful/v3 v3.10.0/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc=
+github.com/emicklei/go-restful/v3 v3.11.0 h1:rAQeMHw1c7zTmncogyy8VvRZwtkmkZ4FxERmMY4rD+g=
+github.com/emicklei/go-restful/v3 v3.11.0/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc=
github.com/emirpasic/gods v1.18.1 h1:FXtiHYKDGKCW2KzwZKx0iC0PQmdlorYgdFG9jPXJ1Bc=
github.com/emirpasic/gods v1.18.1/go.mod h1:8tpGGwCnJ5H4r6BWwaV6OrWmMoPhUl5jm/FMNAnJvWQ=
github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98=
-github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk=
-github.com/envoyproxy/go-control-plane v0.9.9-0.20210512163311-63b5d3c536b0/go.mod h1:hliV/p42l8fGbc6Y9bQ70uLwIvmJyVE5k4iMKlh8wCQ=
github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c=
github.com/envoyproxy/protoc-gen-validate v1.0.2 h1:QkIBuU5k+x7/QXPvPPnWXWlCdaBFApVqftFV6k087DA=
github.com/envoyproxy/protoc-gen-validate v1.0.2/go.mod h1:GpiZQP3dDbg4JouG/NNS7QWXpgx6x8QiMKdmN72jogE=
@@ -266,15 +262,14 @@ github.com/fatih/structs v1.1.0 h1:Q7juDM0QtcnhCpeyLGQKyg4TOIghuNXrkL32pHAUMxo=
github.com/fatih/structs v1.1.0/go.mod h1:9NiDSp5zOcgEDl+j00MP/WkGVPOlPRLejGD8Ga6PJ7M=
github.com/felixge/httpsnoop v1.0.4 h1:NFTV2Zj1bL4mc9sqWACXbQFVBBg2W3GPvqp8/ESS2Wg=
github.com/felixge/httpsnoop v1.0.4/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U=
-github.com/flowstack/go-jsonschema v0.1.1/go.mod h1:yL7fNggx1o8rm9RlgXv7hTBWxdBM0rVwpMwimd3F3N0=
github.com/frankban/quicktest v1.14.6 h1:7Xjx+VpznH+oBnejlPUj8oUpdxnVs4f8XU8WnHkI4W8=
github.com/frankban/quicktest v1.14.6/go.mod h1:4ptaffx2x8+WTWXmUCuVU6aPUX1/Mz7zb5vbUoiM6w0=
github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo=
github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ=
github.com/fsnotify/fsnotify v1.7.0 h1:8JEhPFa5W2WU7YfeZzPNqzMP6Lwt7L2715Ggo0nosvA=
github.com/fsnotify/fsnotify v1.7.0/go.mod h1:40Bi/Hjc2AVfZrqy+aj+yEI+/bRxZnMJyTJwOpGvigM=
-github.com/fvbommel/sortorder v1.0.1 h1:dSnXLt4mJYH25uDDGa3biZNQsozaUWDSWeKJ0qqFfzE=
-github.com/fvbommel/sortorder v1.0.1/go.mod h1:uk88iVf1ovNn1iLfgUVU2F9o5eO30ui720w+kxuqRs0=
+github.com/fvbommel/sortorder v1.1.0 h1:fUmoe+HLsBTctBDoaBwpQo5N+nrCp8g/BjKb/6ZQmYw=
+github.com/fvbommel/sortorder v1.1.0/go.mod h1:uk88iVf1ovNn1iLfgUVU2F9o5eO30ui720w+kxuqRs0=
github.com/gavv/httpexpect/v2 v2.16.0 h1:Ty2favARiTYTOkCRZGX7ojXXjGyNAIohM1lZ3vqaEwI=
github.com/gavv/httpexpect/v2 v2.16.0/go.mod h1:uJLaO+hQ25ukBJtQi750PsztObHybNllN+t+MbbW8PY=
github.com/ghodss/yaml v0.0.0-20150909031657-73d445a93680/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04=
@@ -282,8 +277,8 @@ github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeME
github.com/gizak/termui/v3 v3.1.0/go.mod h1:bXQEBkJpzxUAKf0+xq9MSWAvWZlE7c+aidmyFlkYTrY=
github.com/gliderlabs/ssh v0.3.5 h1:OcaySEmAQJgyYcArR+gGGTHCyE7nvhEMTlYY+Dp8CpY=
github.com/gliderlabs/ssh v0.3.5/go.mod h1:8XB4KraRrX39qHhT6yxPsHedjA08I/uBVwj4xC+/+z4=
-github.com/go-errors/errors v1.0.1 h1:LUHzmkK3GUKUrL/1gfBUxAHzcev3apQlezX/+O7ma6w=
-github.com/go-errors/errors v1.0.1/go.mod h1:f4zRHt4oKfwPJE5k8C9vpYG+aDHdBFUsgrm6/TyX73Q=
+github.com/go-errors/errors v1.4.2 h1:J6MZopCL4uSllY1OfXM374weqZFFItUbrImctkmUxIA=
+github.com/go-errors/errors v1.4.2/go.mod h1:sIVyrIiJhuEF+Pj9Ebtd6P/rEYROXFi3BopGUQ5a5Og=
github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 h1:+zs/tPmkDkHx3U66DAb0lQFJrpS6731Oaa12ikc+DiI=
github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376/go.mod h1:an3vInlBmSxCcxctByoQdvwPiA7DTK7jaaFDBTtu0ic=
github.com/go-git/go-billy/v5 v5.5.0 h1:yEY4yhzCDuMGSv83oGxiBotRzhwhNr8VZyphhiu+mTU=
@@ -302,7 +297,6 @@ github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG
github.com/go-logr/logr v0.1.0/go.mod h1:ixOQHD9gLJUVQQ2ZOR7zLEifBX6tGkNJF4QyIY7sIas=
github.com/go-logr/logr v0.2.0/go.mod h1:z6/tIYblkpsD+a4lm/fGIIU9mZ+XfAiaFtq7xTgseGU=
github.com/go-logr/logr v0.4.0/go.mod h1:z6/tIYblkpsD+a4lm/fGIIU9mZ+XfAiaFtq7xTgseGU=
-github.com/go-logr/logr v1.2.0/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A=
github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A=
github.com/go-logr/logr v1.4.1 h1:pKouT5E8xu9zeFC39JXRDukb6JFQPXM5p5I91188VAQ=
github.com/go-logr/logr v1.4.1/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY=
@@ -322,6 +316,8 @@ github.com/go-sql-driver/mysql v1.7.1 h1:lUIinVbN1DY0xBg0eMOzmmtGoHwWBbvnWubQUrt
github.com/go-sql-driver/mysql v1.7.1/go.mod h1:OXbVy3sEdcQ2Doequ6Z5BW6fXNQTmx+9S1MCJN5yJMI=
github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY=
github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0/go.mod h1:fyg7847qk6SyHyPtNmDHnmrv/HOrqktSC+C9fM+CJOE=
+github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572 h1:tfuBGBXKqDEevZMzYi5KSi8KkcZtzBcTgAUUtapy0OI=
+github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572/go.mod h1:9Pwr4B2jHnOSGXyyzV8ROjYa2ojvAY6HCGYYfMoC3Ls=
github.com/gobwas/glob v0.2.4-0.20181002190808-e7a84e9525fe h1:zn8tqiUbec4wR94o7Qj3LZCAT6uGobhEgnDRg6isG5U=
github.com/gobwas/glob v0.2.4-0.20181002190808-e7a84e9525fe/go.mod h1:d3Ez4x06l9bZtSvzIay5+Yzi0fmZzPgnTbPcKjJAkT8=
github.com/gofrs/uuid v4.0.0+incompatible h1:1SD/1F5pU8p29ybwgQSwpQk+mwdRrXCYuPhW6m+TnJw=
@@ -374,13 +370,14 @@ github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Z
github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ=
github.com/google/btree v1.0.1 h1:gK4Kx5IaGY9CD5sPJ36FHiBJ6ZXl0kilRiiCj+jdYp4=
github.com/google/btree v1.0.1/go.mod h1:xXMiIv4Fb/0kKde4SpL7qlzvu5cMJDRkFDxJfI9uaxA=
-github.com/google/gnostic v0.6.9 h1:ZK/5VhkoX835RikCHpSUJV9a+S3e1zLh59YnyWeBW+0=
-github.com/google/gnostic v0.6.9/go.mod h1:Nm8234We1lq6iB9OmlgNv3nH91XLLVZHCDayfA3xq+E=
+github.com/google/gnostic-models v0.6.8 h1:yo/ABAfM5IMRsS1VnXjTBvUb61tFIHozhlYvRgGre9I=
+github.com/google/gnostic-models v0.6.8/go.mod h1:5n7qKqH0f5wFt+aWF8CW6pZLLNOfYuF5OpfBSENuI8U=
github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M=
github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
+github.com/google/go-cmp v0.5.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-cmp v0.5.3/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
@@ -405,6 +402,8 @@ github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXi
github.com/google/martian/v3 v3.3.2 h1:IqNFLAmvJOgVlpdEBiQbDc2EwKW77amAycfTuWKdfvw=
github.com/google/martian/v3 v3.3.2/go.mod h1:oBOf6HBosgwRXnUGWUB05QECsc6uvmMiJ3+6W4l/CUk=
github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc=
+github.com/google/pprof v0.0.0-20221118152302-e6195bd50e26 h1:Xim43kblpZXfIBQsbuBVKCudVG457BR2GZFIz3uw3hQ=
+github.com/google/pprof v0.0.0-20221118152302-e6195bd50e26/go.mod h1:dDKJzRmX4S37WGHujM7tX//fmj1uioxKzKxz3lo4HJo=
github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI=
github.com/google/s2a-go v0.1.7 h1:60BLSyTrOV4/haCDW4zb1guZItoSq8foHCXrAnjBo/o=
github.com/google/s2a-go v0.1.7/go.mod h1:50CgR4k1jNlWBu4UfS4AcfhVe1r6pdZPygJ3R8F0Qdw=
@@ -664,14 +663,14 @@ github.com/onsi/ginkgo v1.10.1/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+
github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108oapk=
github.com/onsi/ginkgo v1.16.5 h1:8xi0RTUf59SOSfEtZMvwTvXYMzG4gV23XVHOZiXNtnE=
github.com/onsi/ginkgo v1.16.5/go.mod h1:+E8gABHa3K6zRBolWtd+ROzc/U5bkGt0FwiG042wbpU=
-github.com/onsi/ginkgo/v2 v2.4.0 h1:+Ig9nvqgS5OBSACXNk15PLdp0U9XPYROt9CFzVdFGIs=
-github.com/onsi/ginkgo/v2 v2.4.0/go.mod h1:iHkDK1fKGcBoEHT5W7YBq4RFWaQulw+caOMkAt4OrFo=
+github.com/onsi/ginkgo/v2 v2.15.0 h1:79HwNRBAZHOEwrczrgSOPy+eFTTlIGELKy5as+ClttY=
+github.com/onsi/ginkgo/v2 v2.15.0/go.mod h1:HlxMHtYF57y6Dpf+mc5529KKmSq9h2FpCF+/ZkwUxKM=
github.com/onsi/gomega v0.0.0-20170829124025-dcabb60a477c/go.mod h1:C1qb7wdrVGGVU+Z6iS04AVkA3Q65CEZX59MT0QO5uiA=
github.com/onsi/gomega v1.7.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY=
github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY=
github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo=
-github.com/onsi/gomega v1.27.10 h1:naR28SdDFlqrG6kScpT8VWpu1xWY5nJRCF3XaYyBjhI=
-github.com/onsi/gomega v1.27.10/go.mod h1:RsS8tutOdbdgzbPtzzATp12yT7kM5I5aElG3evPbQ0M=
+github.com/onsi/gomega v1.31.0 h1:54UJxxj6cPInHS3a35wm6BK/F9nHYueZ1NVujHDrnXE=
+github.com/onsi/gomega v1.31.0/go.mod h1:DW9aCi7U6Yi40wNVAvT6kzFnEVEI5n3DloYBiKiT6zk=
github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U=
github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM=
github.com/opencontainers/image-spec v1.1.0-rc3 h1:fzg1mXZFj8YdPeNkRXMg+zb88BFV0Ys52cJydRwBkb8=
@@ -756,21 +755,19 @@ github.com/soheilhy/cmux v0.1.5 h1:jjzc5WVemNEDTLwv9tlmemhC73tI08BNOIGwBOo10Js=
github.com/soheilhy/cmux v0.1.5/go.mod h1:T7TcVDs9LWfQgPlPsdngu6I6QIoyIFZDDC6sNE1GqG0=
github.com/sourcegraph/conc v0.3.0 h1:OQTbbt6P72L20UqAkXXuLOj79LfEanQ+YQFNpLA9ySo=
github.com/sourcegraph/conc v0.3.0/go.mod h1:Sdozi7LEKbFPqYX2/J+iBAM6HpqSLTASQIKqDmF7Mt0=
-github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA=
github.com/spf13/afero v1.2.2/go.mod h1:9ZxEEn6pIJ8Rxe320qSDBk6AsU0r9pR7Q4OcevTdifk=
github.com/spf13/afero v1.11.0 h1:WJQKhtpdm3v2IzqG8VMqrr6Rf3UYpEF239Jy9wNepM8=
github.com/spf13/afero v1.11.0/go.mod h1:GH9Y3pIexgf1MTIWtNGyogA5MwRIDXGUr+hbWNoBjkY=
github.com/spf13/cast v1.3.1/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE=
github.com/spf13/cast v1.6.0 h1:GEiTHELF+vaR5dhz3VqZfFSzZjYbgeKDpBxQVS4GYJ0=
github.com/spf13/cast v1.6.0/go.mod h1:ancEpBxwJDODSW/UG4rDrAqiKolqNNh2DX3mk86cAdo=
-github.com/spf13/cobra v1.8.0 h1:7aJaZx1B85qltLMc546zn58BxxfZdR/W22ej9CFoEf0=
-github.com/spf13/cobra v1.8.0/go.mod h1:WXLWApfZ71AjXPya3WOlMsY9yMs7YeiHhFVlvLyhcho=
+github.com/spf13/cobra v1.8.1 h1:e5/vxKd/rZsfSJMUX1agtjeTDf+qv1/JdBF8gg5k9ZM=
+github.com/spf13/cobra v1.8.1/go.mod h1:wHxEcudfqmLYa8iTfL+OuZPbBZkmvliBWKIezN3kD9Y=
github.com/spf13/pflag v0.0.0-20170130214245-9ff6c6923cff/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4=
github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA=
github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
github.com/spf13/viper v1.18.2 h1:LUXCnvUvSM6FXAsj6nnfc8Q2tp1dIgUfY9Kc8GsSOiQ=
github.com/spf13/viper v1.18.2/go.mod h1:EKmWIqdnk5lOcmR72yw6hS+8OPYcwD0jteitLMVB+yk=
-github.com/stoewer/go-strcase v1.2.0/go.mod h1:IBiWB2sKIp3wVVQ3Y035++gc+knqhUQag1KpM8ahLw8=
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/objx v0.2.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE=
@@ -823,8 +820,8 @@ github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415 h1:EzJWgHo
github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415/go.mod h1:GwrjFmJcFw6At/Gs6z4yjiIwzuJ1/+UwLxMQDVQXShQ=
github.com/xeipuuv/gojsonschema v1.2.0 h1:LhYJRs+L4fBtjZUfuSZIKGeVu0QRy8e5Xi7D17UxZ74=
github.com/xeipuuv/gojsonschema v1.2.0/go.mod h1:anYRn/JVcOK2ZgGU+IjEV4nwlhoK5sQluxsYJ78Id3Y=
-github.com/xlab/treeprint v1.1.0 h1:G/1DjNkPpfZCFt9CSh6b5/nY4VimlbHF3Rh4obvtzDk=
-github.com/xlab/treeprint v1.1.0/go.mod h1:gj5Gd3gPdKtR1ikdDK6fnFLdmIS0X30kTTuNd/WEJu0=
+github.com/xlab/treeprint v1.2.0 h1:HzHnuAF1plUN2zGlAFHbSQP2qJ0ZAD3XF5XD7OesXRQ=
+github.com/xlab/treeprint v1.2.0/go.mod h1:gj5Gd3gPdKtR1ikdDK6fnFLdmIS0X30kTTuNd/WEJu0=
github.com/yalp/jsonpath v0.0.0-20180802001716-5cc68e5049a0 h1:6fRhSjgLCkTD3JnJxvaJ4Sj+TYblw757bqYgZaOq5ZY=
github.com/yalp/jsonpath v0.0.0-20180802001716-5cc68e5049a0/go.mod h1:/LWChgwKmvncFJFHJ7Gvn9wZArjbV5/FppcK2fKk/tI=
github.com/yudai/gojsondiff v1.0.0 h1:27cbfqXLVEJ1o8I6v3y9lg8Ydm53EKqHXAOMxEGlCOA=
@@ -861,11 +858,10 @@ go.opentelemetry.io/otel/sdk/metric v1.23.0 h1:u81lMvmK6GMgN4Fty7K7S6cSKOZhMKJMK
go.opentelemetry.io/otel/sdk/metric v1.23.0/go.mod h1:2LUOToN/FdX6wtfpHybOnCZjoZ6ViYajJYMiJ1LKDtQ=
go.opentelemetry.io/otel/trace v1.23.0 h1:37Ik5Ib7xfYVb4V1UtnT97T1jI+AoIYkJyPkuL4iJgI=
go.opentelemetry.io/otel/trace v1.23.0/go.mod h1:GSGTbIClEsuZrGIzoEHqsVfxgn5UkggkflQwDScNUsk=
-go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI=
go.opentelemetry.io/proto/otlp v1.1.0 h1:2Di21piLrCqJ3U3eXGCTPHE9R8Nh+0uglSnOyxikMeI=
go.opentelemetry.io/proto/otlp v1.1.0/go.mod h1:GpBHCBWiqvVLDqmHZsoMM3C5ySeKTC7ej/RNTae6MdY=
-go.starlark.net v0.0.0-20200306205701-8dd3e2ee1dd5 h1:+FNtrFTmVw0YZGpBGX56XDee331t6JAXeK2bcyhLOOc=
-go.starlark.net v0.0.0-20200306205701-8dd3e2ee1dd5/go.mod h1:nmDLcffg48OtT/PSW0Hg7FvpRQsQh5OSqIylirxKC7o=
+go.starlark.net v0.0.0-20230525235612-a134d8f9ddca h1:VdD38733bfYv5tUZwEIskMM93VanwNIi5bIKnDrJdEY=
+go.starlark.net v0.0.0-20230525235612-a134d8f9ddca/go.mod h1:jxU+3+j+71eXOW14274+SmmuW82qJzl6iZSeqEtTGds=
go.uber.org/atomic v1.3.2/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE=
go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE=
go.uber.org/atomic v1.5.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ=
@@ -873,8 +869,8 @@ go.uber.org/atomic v1.6.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ=
go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0=
go.uber.org/multierr v1.3.0/go.mod h1:VgVr7evmIr6uPjLBxg28wmKNXyqE9akIJ5XnfpiKl+4=
go.uber.org/multierr v1.5.0/go.mod h1:FeouvMocqHpRaaGuG9EjoKcStLC43Zu/fmqdUMPcKYU=
-go.uber.org/multierr v1.10.0 h1:S0h4aNzvfcFsC3dRF1jLoaov7oRaKqRGC/pUEJ2yvPQ=
-go.uber.org/multierr v1.10.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y=
+go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0=
+go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y=
go.uber.org/tools v0.0.0-20190618225709-2cfd321de3ee/go.mod h1:vJERXedbb3MVM5f9Ejo0C68/HhF8uaILCdgjnY+goOA=
go.uber.org/zap v1.9.1/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q=
go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q=
@@ -901,10 +897,13 @@ golang.org/x/crypto v0.3.0/go.mod h1:hebNnKkNXi2UzZN1eVRvBB7co0a+JxK6XbPiWVs/3J4
golang.org/x/crypto v0.3.1-0.20221117191849-2c476679df9a/go.mod h1:hebNnKkNXi2UzZN1eVRvBB7co0a+JxK6XbPiWVs/3J4=
golang.org/x/crypto v0.6.0/go.mod h1:OFC/31mSvZgRz0V1QTNCzfAI1aIRzbiufJtkMIlEp58=
golang.org/x/crypto v0.7.0/go.mod h1:pYwdfH91IfpZVANVyUOhSIPZaFoJGxTFbZhFTx+dXZU=
+golang.org/x/crypto v0.10.0/go.mod h1:o4eNf7Ede1fv+hwOwZsTHl9EsPFO6q6ZvYR8vYfY45I=
golang.org/x/crypto v0.12.0/go.mod h1:NF0Gs7EO5K4qLn+Ylc+fih8BSTeIjAP05siRnAh98yw=
+golang.org/x/crypto v0.13.0/go.mod h1:y6Z2r+Rw4iayiXXAIxJIDAJ1zMW4yaTpebo8fPOliYc=
+golang.org/x/crypto v0.14.0/go.mod h1:MVFd36DqK4CsrnJYDkBA3VC4m2GkXAM0PvzMCn4JQf4=
golang.org/x/crypto v0.16.0/go.mod h1:gCAAfMLgwOJRpTjQ2zCCt2OcSfYMTeZVSRtQlPC7Nq4=
golang.org/x/crypto v0.19.0/go.mod h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDfU=
-golang.org/x/crypto v0.21.0/go.mod h1:0BP7YvVV9gBbVKyeTG0Gyn+gZm94bibOW5BjDEYAOMs=
+golang.org/x/crypto v0.23.0/go.mod h1:CKFgDieR+mRhux2Lsu27y0fO304Db0wZe70UKqHu0v8=
golang.org/x/crypto v0.24.0 h1:mnl8DM0o513X8fdIkmyFE/5hTYxbwYOjDS/+rK6qpRI=
golang.org/x/crypto v0.24.0/go.mod h1:Z1PMYSOR5nyMcyAVAIQSKCDwalqy85Aqn1x3Ws4L5DM=
golang.org/x/exp v0.0.0-20181106170214-d68db9428509/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
@@ -930,10 +929,48 @@ golang.org/x/mod v0.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4=
golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
+golang.org/x/mod v0.12.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
+golang.org/x/mod v0.15.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c=
golang.org/x/mod v0.17.0 h1:zY54UmvipHiNd+pm+m0x9KhZ9hl1/7QNMyxXbc6ICqA=
golang.org/x/mod v0.17.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c=
-golang.org/x/net v0.23.0 h1:7EYJ93RZ9vYSZAIb2x3lnuvqO5zneoD6IvWjuhfxjTs=
-golang.org/x/net v0.23.0/go.mod h1:JKghWKKOSdJwpW2GEx0Ja7fmaKnMsbu+MWVZTokSYmg=
+golang.org/x/net v0.0.0-20170114055629-f2499483f923/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
+golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
+golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
+golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
+golang.org/x/net v0.0.0-20180921000356-2f5d2388922f/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
+golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
+golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
+golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
+golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
+golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
+golang.org/x/net v0.0.0-20190813141303-74dc4d7220e7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
+golang.org/x/net v0.0.0-20191004110552-13f9640d40b9/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
+golang.org/x/net v0.0.0-20200114155413-6afb5195e5aa/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
+golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
+golang.org/x/net v0.0.0-20200520004742-59133d7f0dd7/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A=
+golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA=
+golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
+golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
+golang.org/x/net v0.0.0-20201202161906-c7110b5ffcbb/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
+golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
+golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM=
+golang.org/x/net v0.0.0-20210610132358-84b48f89b13b/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
+golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
+golang.org/x/net v0.0.0-20220225172249-27dd8689420f/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk=
+golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c=
+golang.org/x/net v0.2.0/go.mod h1:KqCZLdyyvdV855qA2rE3GC2aiw5xGR5TEjj8smXukLY=
+golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs=
+golang.org/x/net v0.7.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs=
+golang.org/x/net v0.8.0/go.mod h1:QVkue5JL9kW//ek3r6jTKnTFis1tRmNAW2P1shuFdJc=
+golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg=
+golang.org/x/net v0.11.0/go.mod h1:2L/ixqYpgIVXmeoSA/4Lu7BzTG4KIyPIryS4IsOd1oQ=
+golang.org/x/net v0.15.0/go.mod h1:idbUs1IY1+zTqbi8yxTbhexhEEk5ur9LInksu6HrEpk=
+golang.org/x/net v0.17.0/go.mod h1:NxSsAGuq816PNPmqtQdLE42eU2Fs7NoRIZrHJAlaCOE=
+golang.org/x/net v0.19.0/go.mod h1:CfAk/cbD4CthTvqiEl8NpboMuiuOYsAr/7NOjZJtv1U=
+golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44=
+golang.org/x/net v0.25.0/go.mod h1:JkAGAh7GEvH74S6FOH42FLoXpXbE/aqXSrIQjXgsiwM=
+golang.org/x/net v0.26.0 h1:soB7SVo0PWrY4vPW/+ay0jKDNScG2X9wFeYlXIvJsOQ=
+golang.org/x/net v0.26.0/go.mod h1:5YKkiSynbBIh3p6iOc/vibscux0x38BZDkn8sCUPxHE=
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
@@ -950,6 +987,8 @@ golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJ
golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
+golang.org/x/sync v0.3.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y=
+golang.org/x/sync v0.6.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
golang.org/x/sync v0.7.0 h1:YsImfSBoP9QPYL0xyKJPq0gcaJdG3rInoqxTWbfQu9M=
golang.org/x/sync v0.7.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
golang.org/x/sys v0.0.0-20170830134202-bb24a47a89ea/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
@@ -968,23 +1007,25 @@ golang.org/x/sys v0.0.0-20190813064441-fde4db37ae7a/go.mod h1:h1NjWce9XRLGQEsW7w
golang.org/x/sys v0.0.0-20190826190057-c7b8b68b1456/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190904154756-749cb33beabd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20191002063906-3421d5a6bb1c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20191120155948-bd437916bb0e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210112080510-489259a85091/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20210616094352-59db8d763f22/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220227234510-4e6760a101f9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220704084225-05e143d24a9e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
@@ -996,22 +1037,31 @@ golang.org/x/sys v0.3.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.9.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.11.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.13.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.15.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
-golang.org/x/sys v0.18.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
+golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
golang.org/x/sys v0.21.0 h1:rF+pYz3DAGSQAxAu1CbC7catZg4ebC4UIeIhKxBZvws=
golang.org/x/sys v0.21.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
+golang.org/x/telemetry v0.0.0-20240228155512-f48c80bd79b2/go.mod h1:TeRTkGYfJXctD9OcfyVLyj2J3IxLnKwHJR8f4D8a3YE=
golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw=
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
+golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
+golang.org/x/term v0.0.0-20220526004731-065cf7ba2467/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
golang.org/x/term v0.2.0/go.mod h1:TVmDHMZPmdnySmBfhjOoOdhjzdE1h4u1VwSiw2l1Nuc=
golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k=
golang.org/x/term v0.6.0/go.mod h1:m6U89DPEgQRMq3DNkDClhWw02AUbt2daBVO4cn4Hv9U=
+golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo=
+golang.org/x/term v0.9.0/go.mod h1:M6DEAAIenWoTxdKrOltXcmDY3rSplQUkrvaDU5FcQyo=
golang.org/x/term v0.11.0/go.mod h1:zC9APTIj3jG3FdV/Ons+XE1riIZXG4aZ4GTHiPZJPIU=
+golang.org/x/term v0.12.0/go.mod h1:owVbMEjm3cBLCHdkQu9b1opXd4ETQWc3BhuQGKgXgvU=
+golang.org/x/term v0.13.0/go.mod h1:LTmsnFJwVN6bCy1rVCoS+qHT1HhALEFxKncY3WNNh4U=
golang.org/x/term v0.15.0/go.mod h1:BDl952bC7+uMoWR75FIrCDx79TPU9oHkTZ9yRbYOrX0=
golang.org/x/term v0.17.0/go.mod h1:lLRBjIVuehSbZlaOtGMbcMncT+aqLLLmKrsjNrUguwk=
-golang.org/x/term v0.18.0/go.mod h1:ILwASektA3OnRv7amZ1xhE/KTR+u50pbXfZ03+6Nx58=
+golang.org/x/term v0.20.0/go.mod h1:8UkIAJTvZgivsXaD6/pH6U9ecQzZ45awqEOzuCvwpFY=
golang.org/x/term v0.21.0 h1:WVXCp+/EBEHOj53Rvu+7KiT/iElMrO8ACK16SMZ3jaA=
golang.org/x/term v0.21.0/go.mod h1:ooXLefLobQVslOqselCNF4SxFAaoS6KujMbsGzSDmX0=
golang.org/x/text v0.0.0-20160726164857-2910a502d2bf/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
@@ -1020,16 +1070,18 @@ golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3
golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
-golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
golang.org/x/text v0.3.8/go.mod h1:E6s5w1FMmriuDzIBO73fBruAKo1PCIq6d2Q6DHfQ8WQ=
golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
golang.org/x/text v0.8.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8=
+golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8=
+golang.org/x/text v0.10.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE=
golang.org/x/text v0.12.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE=
golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE=
golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
+golang.org/x/text v0.15.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
golang.org/x/text v0.16.0 h1:a94ExnEXNtEwYLGJSIUxnWoxoRz/ZcCsV63ROupILh4=
golang.org/x/text v0.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI=
golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
@@ -1061,6 +1113,7 @@ golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4f
golang.org/x/tools v0.1.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc=
golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU=
+golang.org/x/tools v0.13.0/go.mod h1:HvlwmtVNQAhOuCjW7xxvovg8wbNq7LwfXh/k7wXUl58=
golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d h1:vU5i/LfpvrRCpgM/VPfJLg5KjxD3E+hfT1SH+d9zLwg=
golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk=
golang.org/x/xerrors v0.0.0-20190410155217-1f06c39b4373/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
@@ -1086,7 +1139,6 @@ google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98
google.golang.org/genproto v0.0.0-20200423170343-7949de9c1215/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
google.golang.org/genproto v0.0.0-20200513103714-09dca8ec2884/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo=
-google.golang.org/genproto v0.0.0-20220107163113-42d7afdf6368/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc=
google.golang.org/genproto v0.0.0-20240116215550-a9fa1716bcac h1:ZL/Teoy/ZGnzyrqK/Optxxp2pmVh+fmJ97slxSRyzUg=
google.golang.org/genproto v0.0.0-20240116215550-a9fa1716bcac/go.mod h1:+Rvu7ElI+aLzyDQhpHMFMMltsD6m7nqpuWDd2CwJw3k=
google.golang.org/genproto/googleapis/api v0.0.0-20240125205218-1f4bbc51befe h1:0poefMBYvYbs7g5UkjS6HcxBPaTRAmznle9jnxYoAI8=
@@ -1100,8 +1152,6 @@ google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8
google.golang.org/grpc v1.29.1/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3IjizoKk=
google.golang.org/grpc v1.33.1/go.mod h1:fr5YgcSWrqhRRxogOsw7RzIpsmvOZ6IcH4kBYTpR3n0=
google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc=
-google.golang.org/grpc v1.36.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU=
-google.golang.org/grpc v1.40.0/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34=
google.golang.org/grpc v1.61.0 h1:TOvOcuXn30kRao+gfcvsebNEa5iZIiLkisYEkf7R7o0=
google.golang.org/grpc v1.61.0/go.mod h1:VUbo7IFqmF1QtCAstipjG0GIoq49KvMe9+h1jFLBNJs=
google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8=
@@ -1115,7 +1165,6 @@ google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpAD
google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c=
google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw=
google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
-google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
google.golang.org/protobuf v1.33.0 h1:uNO2rsAINq/JlFpSdYEKIZ0uKD/R9cpdv0T+yoGwGmI=
google.golang.org/protobuf v1.33.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
@@ -1149,7 +1198,6 @@ gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY=
gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ=
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
-gopkg.in/yaml.v3 v3.0.0-20200615113413-eeeca48fe776/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
@@ -1160,20 +1208,20 @@ honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWh
honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg=
k8s.io/api v0.17.8/go.mod h1:N++Llhs8kCixMUoCaXXAyMMPbo8dDVnh+IQ36xZV2/0=
-k8s.io/api v0.26.15 h1:tjMERUjIwkq+2UtPZL5ZbSsLkpxUv4gXWZfV5lQl+Og=
-k8s.io/api v0.26.15/go.mod h1:CtWOrFl8VLCTLolRlhbBxo4fy83tjCLEtYa5pMubIe0=
+k8s.io/api v0.30.3 h1:ImHwK9DCsPA9uoU3rVh4QHAHHK5dTSv1nxJUapx8hoQ=
+k8s.io/api v0.30.3/go.mod h1:GPc8jlzoe5JG3pb0KJCSLX5oAFIW3/qNJITlDj8BH04=
k8s.io/apimachinery v0.17.8/go.mod h1:Lg8zZ5iC/O8UjCqW6DNhcQG2m4TdjF9kwG3891OWbbA=
-k8s.io/apimachinery v0.26.15 h1:GPxeERYBSqSZlj3xIkX4L6mBjzZ9q8JPnJ+Vj15qe+g=
-k8s.io/apimachinery v0.26.15/go.mod h1:O/uIhIOWuy6ndHqQ6qbkjD7OgeMhVtlk8+Z66ZcmJQc=
-k8s.io/cli-runtime v0.26.15 h1:+y3am0YLVBEfe4je5taxVUM8EKQKnUqzmXBdn3Ytxko=
-k8s.io/cli-runtime v0.26.15/go.mod h1:AXABAdbXP0xeIJV4SpJ1caMR7FY8GjXTxMsJ5/1iMF0=
+k8s.io/apimachinery v0.30.3 h1:q1laaWCmrszyQuSQCfNB8cFgCuDAoPszKY4ucAjDwHc=
+k8s.io/apimachinery v0.30.3/go.mod h1:iexa2somDaxdnj7bha06bhb43Zpa6eWH8N8dbqVjTUc=
+k8s.io/cli-runtime v0.30.3 h1:aG69oRzJuP2Q4o8dm+f5WJIX4ZBEwrvdID0+MXyUY6k=
+k8s.io/cli-runtime v0.30.3/go.mod h1:hwrrRdd9P84CXSKzhHxrOivAR9BRnkMt0OeP5mj7X30=
k8s.io/client-go v0.17.8/go.mod h1:SJsDS64AAtt9VZyeaQMb4Ck5etCitZ/FwajWdzua5eY=
-k8s.io/client-go v0.26.15 h1:A2Yav2v+VZQfpEsf5ESFp2Lqq5XACKBDrwkG+jEtOg0=
-k8s.io/client-go v0.26.15/go.mod h1:KJs7snLEyKPlypqTQG/ngcaqE6h3/6qTvVHDViRL+iI=
-k8s.io/component-base v0.26.15 h1:32XJyv5fo/lbDZhYU1HyISXTgdSUkbW5cO4DhfR6Y/8=
-k8s.io/component-base v0.26.15/go.mod h1:9V+nBzUtTNtRuYfYmQQEhuKrjhL80i2l6F2H2qUsHAI=
-k8s.io/component-helpers v0.26.15 h1:2ln2voQ6oLMUKzksr29g47iE1Y0rLdB+2KICF8F1f5Q=
-k8s.io/component-helpers v0.26.15/go.mod h1:UwLS62rpGU8sIJfnBWChicMdf14y9hdu5DXicHay4Hk=
+k8s.io/client-go v0.30.3 h1:bHrJu3xQZNXIi8/MoxYtZBBWQQXwy16zqJwloXXfD3k=
+k8s.io/client-go v0.30.3/go.mod h1:8d4pf8vYu665/kUbsxWAQ/JDBNWqfFeZnvFiVdmx89U=
+k8s.io/component-base v0.30.3 h1:Ci0UqKWf4oiwy8hr1+E3dsnliKnkMLZMVbWzeorlk7s=
+k8s.io/component-base v0.30.3/go.mod h1:C1SshT3rGPCuNtBs14RmVD2xW0EhRSeLvBh7AGk1quA=
+k8s.io/component-helpers v0.30.3 h1:KPc8l0eGx9Wg2OcKc58k9ozNcVcOInAi3NGiuS2xJ/c=
+k8s.io/component-helpers v0.30.3/go.mod h1:VOQ7g3q+YbKWwKeACG2BwPv4ftaN8jXYJ5U3xpzuYAE=
k8s.io/gengo v0.0.0-20190128074634-0689ccc1d7d6/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8IAqLxYwwyPxAX1Pzy0ii0=
k8s.io/gengo v0.0.0-20220902162205-c0856e24416d h1:U9tB195lKdzwqicbJvyJeOXV7Klv+wNAWENRnXEGi08=
k8s.io/gengo v0.0.0-20220902162205-c0856e24416d/go.mod h1:FiNAH4ZV3gBg2Kwh89tzAEV2be7d5xI0vBa/VySYy3E=
@@ -1182,18 +1230,18 @@ k8s.io/klog v0.3.0/go.mod h1:Gq+BEi5rUBO/HRz0bTSXDUcqjScdoY3a9IHpCEIOOfk=
k8s.io/klog v1.0.0/go.mod h1:4Bi6QPql/J/LkTDqv7R/cd3hPo4k2DG6Ptcz060Ez5I=
k8s.io/klog/v2 v2.2.0/go.mod h1:Od+F08eJP+W3HUb4pSrPpgp9DGU4GzlpG/TmITuYh/Y=
k8s.io/klog/v2 v2.5.0/go.mod h1:hy9LJ/NvuK+iVyP4Ehqva4HxZG/oXyIS3n3Jmire4Ec=
-k8s.io/klog/v2 v2.80.1 h1:atnLQ121W371wYYFawwYx1aEY2eUfs4l3J72wtgAwV4=
-k8s.io/klog/v2 v2.80.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0=
+k8s.io/klog/v2 v2.120.1 h1:QXU6cPEOIslTGvZaXvFWiP9VKyeet3sawzTOvdXb4Vw=
+k8s.io/klog/v2 v2.120.1/go.mod h1:3Jpz1GvMt720eyJH1ckRHK1EDfpxISzJ7I9OYgaDtPE=
k8s.io/kube-openapi v0.0.0-20200410145947-bcb3869e6f29/go.mod h1:F+5wygcW0wmRTnM3cOgIqGivxkwSWIWT5YdsDbeAOaU=
-k8s.io/kube-openapi v0.0.0-20221012153701-172d655c2280 h1:+70TFaan3hfJzs+7VK2o+OGxg8HsuBr/5f6tVAjDu6E=
-k8s.io/kube-openapi v0.0.0-20221012153701-172d655c2280/go.mod h1:+Axhij7bCpeqhklhUTe3xmOn6bWxolyZEeyaFpjGtl4=
-k8s.io/kubectl v0.26.15 h1:Q118/ZVWmUYEm6Iod8MKuxQFwTBBopBogGq5tkudvhg=
-k8s.io/kubectl v0.26.15/go.mod h1:JgN3H70qdFjI/93T91gVOAsSExxNmccoCQLDNX//aYw=
-k8s.io/metrics v0.26.15 h1:U+FLqs8aFMVBWycx/lZn8nSBP5lfdmQMCqG288XOsbs=
-k8s.io/metrics v0.26.15/go.mod h1:zUiNijWF/4zP8s+BXjPNEaswdwE7g2VSJr5lT3eBMYs=
+k8s.io/kube-openapi v0.0.0-20240228011516-70dd3763d340 h1:BZqlfIlq5YbRMFko6/PM7FjZpUb45WallggurYhKGag=
+k8s.io/kube-openapi v0.0.0-20240228011516-70dd3763d340/go.mod h1:yD4MZYeKMBwQKVht279WycxKyM84kkAx2DPrTXaeb98=
+k8s.io/kubectl v0.30.3 h1:YIBBvMdTW0xcDpmrOBzcpUVsn+zOgjMYIu7kAq+yqiI=
+k8s.io/kubectl v0.30.3/go.mod h1:IcR0I9RN2+zzTRUa1BzZCm4oM0NLOawE6RzlDvd1Fpo=
+k8s.io/metrics v0.30.3 h1:gKCpte5zykrOmQhZ8qmsxyJslMdiLN+sqbBfIWNpbGM=
+k8s.io/metrics v0.30.3/go.mod h1:W06L2nXRhOwPkFYDJYWdEIS3u6JcJy3ebIPYbndRs6A=
k8s.io/utils v0.0.0-20191114184206-e782cd3c129f/go.mod h1:sZAwmy6armz5eXlNoLmJcl4F1QuKu7sr+mFQ0byX7Ew=
-k8s.io/utils v0.0.0-20221107191617-1a15be271d1d h1:0Smp/HP1OH4Rvhe+4B8nWGERtlqAGSftbSbbmm45oFs=
-k8s.io/utils v0.0.0-20221107191617-1a15be271d1d/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0=
+k8s.io/utils v0.0.0-20230726121419-3b25d923346b h1:sgn3ZU783SCgtaSJjpcVVlRqd6GSnlTLKgpAAttJvpI=
+k8s.io/utils v0.0.0-20230726121419-3b25d923346b/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0=
modernc.org/b v1.0.4/go.mod h1:Oqc2xtmGT0tvBUsPZIanirLhxBCQZhM7Lu3TlzBj9w8=
modernc.org/b v1.1.0/go.mod h1:yF+wmBAFjebNdVqZNTeNfmnLaLqq91wozvDLcuXz+ck=
modernc.org/db v1.0.8/go.mod h1:L8Az96H46DF2+BGeaS6+WiEqLORR2sjp0yBn6LA/lAQ=
@@ -1240,17 +1288,17 @@ modernc.org/zappy v1.0.9/go.mod h1:y2c4Hv5jzyBP179SxNmx5H/BM6cVgNIXPQv2bCeR6IM=
modernc.org/zappy v1.1.0/go.mod h1:cxC0dWAgZuyMsJ+KL3ZBgo3twyKGBB/0By/umSZE2bQ=
moul.io/http2curl/v2 v2.3.0 h1:9r3JfDzWPcbIklMOs2TnIFzDYvfAZvjeavG6EzP7jYs=
moul.io/http2curl/v2 v2.3.0/go.mod h1:RW4hyBjTWSYDOxapodpNEtX0g5Eb16sxklBqmd2RHcE=
-sigs.k8s.io/json v0.0.0-20220713155537-f223a00ba0e2 h1:iXTIw73aPyC+oRdyqqvVJuloN1p0AC/kzH07hu3NE+k=
-sigs.k8s.io/json v0.0.0-20220713155537-f223a00ba0e2/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0=
-sigs.k8s.io/kustomize/api v0.12.1 h1:7YM7gW3kYBwtKvoY216ZzY+8hM+lV53LUayghNRJ0vM=
-sigs.k8s.io/kustomize/api v0.12.1/go.mod h1:y3JUhimkZkR6sbLNwfJHxvo1TCLwuwm14sCYnkH6S1s=
-sigs.k8s.io/kustomize/kustomize/v4 v4.5.7 h1:cDW6AVMl6t/SLuQaezMET8hgnadZGIAr8tUrxFVOrpg=
-sigs.k8s.io/kustomize/kustomize/v4 v4.5.7/go.mod h1:VSNKEH9D9d9bLiWEGbS6Xbg/Ih0tgQalmPvntzRxZ/Q=
-sigs.k8s.io/kustomize/kyaml v0.13.9 h1:Qz53EAaFFANyNgyOEJbT/yoIHygK40/ZcvU3rgry2Tk=
-sigs.k8s.io/kustomize/kyaml v0.13.9/go.mod h1:QsRbD0/KcU+wdk0/L0fIp2KLnohkVzs6fQ85/nOXac4=
+sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd h1:EDPBXCAspyGV4jQlpZSudPeMmr1bNJefnuqLsRAsHZo=
+sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0=
+sigs.k8s.io/kustomize/api v0.13.5-0.20230601165947-6ce0bf390ce3 h1:XX3Ajgzov2RKUdc5jW3t5jwY7Bo7dcRm+tFxT+NfgY0=
+sigs.k8s.io/kustomize/api v0.13.5-0.20230601165947-6ce0bf390ce3/go.mod h1:9n16EZKMhXBNSiUC5kSdFQJkdH3zbxS/JoO619G1VAY=
+sigs.k8s.io/kustomize/kustomize/v5 v5.0.4-0.20230601165947-6ce0bf390ce3 h1:vq2TtoDcQomhy7OxXLUOzSbHMuMYq0Bjn93cDtJEdKw=
+sigs.k8s.io/kustomize/kustomize/v5 v5.0.4-0.20230601165947-6ce0bf390ce3/go.mod h1:/d88dHCvoy7d0AKFT0yytezSGZKjsZBVs9YTkBHSGFk=
+sigs.k8s.io/kustomize/kyaml v0.14.3-0.20230601165947-6ce0bf390ce3 h1:W6cLQc5pnqM7vh3b7HvGNfXrJ/xL6BDMS0v1V/HHg5U=
+sigs.k8s.io/kustomize/kyaml v0.14.3-0.20230601165947-6ce0bf390ce3/go.mod h1:JWP1Fj0VWGHyw3YUPjXSQnRnrwezrZSrApfX5S0nIag=
sigs.k8s.io/structured-merge-diff/v2 v2.0.1/go.mod h1:Wb7vfKAodbKgf6tn1Kl0VvGj7mRH6DGaRcixXEJXTsE=
-sigs.k8s.io/structured-merge-diff/v4 v4.2.3 h1:PRbqxJClWWYMNV1dhaG4NsibJbArud9kFxnAMREiWFE=
-sigs.k8s.io/structured-merge-diff/v4 v4.2.3/go.mod h1:qjx8mGObPmV2aSZepjQjbmb2ihdVs8cGKBraizNC69E=
+sigs.k8s.io/structured-merge-diff/v4 v4.4.1 h1:150L+0vs/8DA78h1u02ooW1/fFq/Lwr+sGiqlzvrtq4=
+sigs.k8s.io/structured-merge-diff/v4 v4.4.1/go.mod h1:N8hJocpFajUSSeSJ9bOZ77VzejKZaXsTtZo4/u7Io08=
sigs.k8s.io/yaml v1.1.0/go.mod h1:UJmg0vDUVViEyp3mgSv9WPwZCDxu4rQW1olrI1uml+o=
sigs.k8s.io/yaml v1.2.0/go.mod h1:yfXDCHCao9+ENCvLSE62v9VSji2MKu5jeNfTrofGhJc=
sigs.k8s.io/yaml v1.4.0 h1:Mk1wCc2gy/F0THH0TAp1QYyJNzRm2KCLy3o5ASXVI5E=
diff --git a/hack/docs/fields.go b/hack/docs/fields.go
index 37762d54b7ef..992f3cf32880 100644
--- a/hack/docs/fields.go
+++ b/hack/docs/fields.go
@@ -202,7 +202,7 @@ func NewDocGeneratorContext() *DocGeneratorContext {
doneFields: make(Set),
queue: []string{
"io.argoproj.workflow.v1alpha1.Workflow", "io.argoproj.workflow.v1alpha1.CronWorkflow",
- "io.argoproj.workflow.v1alpha1.WorkflowTemplate",
+ "io.argoproj.workflow.v1alpha1.WorkflowTemplate", "io.argoproj.workflow.v1alpha1.WorkflowEventBinding",
},
external: []string{},
index: make(map[string]Set),
@@ -239,7 +239,7 @@ FILES:
for _, m := range matches {
kind := m[1]
switch kind {
- case "ClusterWorkflowTemplate", "CronWorkflow", "Workflow", "WorkflowTemplate":
+ case "ClusterWorkflowTemplate", "CronWorkflow", "Workflow", "WorkflowTemplate", "WorkflowEventBinding":
default:
continue FILES
}
@@ -301,7 +301,11 @@ func (c *DocGeneratorContext) getTemplate(key string) string {
}
if jsonName, ok := c.jsonName[key]; ok {
if set, ok := c.index[jsonName]; ok {
- out += getExamples(set, "Examples with this field")
+ // HACK: The "spec" field usually refers to a WorkflowSpec, but other CRDs
+ // have different definitions, and the examples with "spec" aren't applicable.
+ if jsonName != "spec" || name == "WorkflowSpec" || name == "CronWorkflowSpec" {
+ out += getExamples(set, "Examples with this field")
+ }
}
}
diff --git a/hack/git/hooks/commit-msg b/hack/git/hooks/commit-msg
index bae720f594fc..73600e06f051 100755
--- a/hack/git/hooks/commit-msg
+++ b/hack/git/hooks/commit-msg
@@ -6,7 +6,7 @@ grep -q 'Signed-off-by: ' "$1" || {
exit 1
}
-grep -qE '^(?:build|feat|fix|docs|style|refactor|perf|test|ci|chore|revert)\(?(?:\w+|\s|\-|_)?\)?!?:\s\w+' "$1" || grep -q 'Merge' "$1" || {
+grep -qE '^(build|feat|fix|docs|style|refactor|perf|test|ci|chore|revert)\(?(\w+|\s|\-|_)?\)?!?:\s\w+' "$1" || grep -q 'Merge' "$1" || {
echo >&2 '❌ Commit message must be semantic: https://github.com/zeke/semantic-pull-requests' >&2
exit 1
}
diff --git a/hack/manifests/crdgen.sh b/hack/manifests/crdgen.sh
index e75feab2af32..2b503ee91ca4 100755
--- a/hack/manifests/crdgen.sh
+++ b/hack/manifests/crdgen.sh
@@ -18,5 +18,5 @@ find manifests/base/crds/full -name 'argoproj.io*.yaml' | while read -r file; do
minimal="manifests/base/crds/minimal/$(basename "$file")"
echo "Creating minimal CRD file: ${minimal}"
cp "$file" "$minimal"
- go run ./hack/manifests removecrdvalidation "$minimal"
+ go run ./hack/manifests minimizecrd "$minimal"
done
diff --git a/hack/manifests/crds.go b/hack/manifests/crds.go
index b34096161bc5..5162500a920b 100644
--- a/hack/manifests/crds.go
+++ b/hack/manifests/crds.go
@@ -1,6 +1,7 @@
package main
import (
+ "fmt"
"os"
"path/filepath"
@@ -46,25 +47,42 @@ func cleanCRD(filename string) {
}
}
-func removeCRDValidation(filename string) {
+// minimizeCRD is a workaround for two separate issues:
+// 1. "Request entity too large: limit is 3145728" errors due to https://github.com/kubernetes/kubernetes/issues/82292
+// 2. "spec.validation.openAPIV3Schema.properties[spec].properties[tasks].additionalProperties.properties[steps].items.items: Required value: must be specified" due to kubebuilder issues (https://github.com/argoproj/argo-workflows/pull/3809#discussion_r472383090)
+func minimizeCRD(filename string) {
data, err := os.ReadFile(filepath.Clean(filename))
if err != nil {
panic(err)
}
+
+ shouldMinimize := false
+ if len(data) > 1024*1024 {
+ fmt.Printf("Minimizing %s due to CRD size (%d) exceeding 1MB\n", filename, len(data))
+ shouldMinimize = true
+ }
+
crd := make(obj)
err = yaml.Unmarshal(data, &crd)
if err != nil {
panic(err)
}
- spec := crd["spec"].(obj)
- versions := spec["versions"].([]interface{})
- version := versions[0].(obj)
- properties := version["schema"].(obj)["openAPIV3Schema"].(obj)["properties"].(obj)
- for k := range properties {
- if k == "spec" || k == "status" {
- properties[k] = obj{"type": "object", "x-kubernetes-preserve-unknown-fields": true, "x-kubernetes-map-type": "atomic"}
+
+ if !shouldMinimize {
+ name := crd["metadata"].(obj)["name"].(string)
+ switch name {
+ case "cronworkflows.argoproj.io", "clusterworkflowtemplates.argoproj.io", "workflows.argoproj.io", "workflowtemplates.argoproj.io", "workflowtasksets.argoproj.io":
+ fmt.Printf("Minimizing %s due to kubebuilder issues\n", filename)
+ shouldMinimize = true
}
}
+
+ if !shouldMinimize {
+ return
+ }
+
+ crd = stripSpecAndStatusFields(crd)
+
data, err = yaml.Marshal(crd)
if err != nil {
panic(err)
@@ -74,3 +92,17 @@ func removeCRDValidation(filename string) {
panic(err)
}
}
+
+// stripSpecAndStatusFields strips the "spec" and "status" fields from the CRD, as those are usually the largest.
+func stripSpecAndStatusFields(crd obj) obj {
+ spec := crd["spec"].(obj)
+ versions := spec["versions"].([]interface{})
+ version := versions[0].(obj)
+ properties := version["schema"].(obj)["openAPIV3Schema"].(obj)["properties"].(obj)
+ for k := range properties {
+ if k == "spec" || k == "status" {
+ properties[k] = obj{"type": "object", "x-kubernetes-preserve-unknown-fields": true, "x-kubernetes-map-type": "atomic"}
+ }
+ }
+ return crd
+}
diff --git a/hack/manifests/main.go b/hack/manifests/main.go
index 5a5292f99326..0b3284b5dc9b 100644
--- a/hack/manifests/main.go
+++ b/hack/manifests/main.go
@@ -8,8 +8,8 @@ func main() {
switch os.Args[1] {
case "cleancrd":
cleanCRD(os.Args[2])
- case "removecrdvalidation":
- removeCRDValidation(os.Args[2])
+ case "minimizecrd":
+ minimizeCRD(os.Args[2])
default:
panic(os.Args[1])
}
diff --git a/hack/test-examples.sh b/hack/test-examples.sh
index 1848f3a5b41a..78ddec9135e0 100755
--- a/hack/test-examples.sh
+++ b/hack/test-examples.sh
@@ -13,12 +13,15 @@ done
trap 'kubectl get wf' EXIT
grep -lR 'workflows.argoproj.io/test' examples/* | while read f ; do
- kubectl delete workflow -l workflows.argoproj.io/test
echo "Running $f..."
- kubectl create -f $f
- name=$(kubectl get workflow -o name)
+ name=$(kubectl create -f $f -o name)
+
+ echo "Waiting for completion of $f..."
kubectl wait --for=condition=Completed $name
phase="$(kubectl get $name -o 'jsonpath={.status.phase}')"
echo " -> $phase"
test Succeeded == $phase
+
+ echo "Deleting $f..."
+ kubectl delete $name
done
diff --git a/hack/update-sso-redirect-url.sh b/hack/update-sso-redirect-url.sh
new file mode 100755
index 000000000000..dece268307d5
--- /dev/null
+++ b/hack/update-sso-redirect-url.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+set -eu -o pipefail
+
+# Rewrite the SSO redirect URL to use HTTPS to support "make start PROFILE=sso UI_SECURE=true".
+# Can't use "kubectl patch" because the SSO config is a YAML string.
+kubectl -n "${KUBE_NAMESPACE}" get configmap workflow-controller-configmap -o yaml | \
+ sed 's@redirectUrl: http://localhost:8080/oauth2/callback@redirectUrl: https://localhost:8080/oauth2/callback@' | \
+ kubectl apply -n "${KUBE_NAMESPACE}" -f -
\ No newline at end of file
diff --git a/manifests/base/crds/full/README.md b/manifests/base/crds/full/README.md
index bca5186fefe5..e81aba5a49ea 100644
--- a/manifests/base/crds/full/README.md
+++ b/manifests/base/crds/full/README.md
@@ -1,3 +1,4 @@
# Full CRDs
-These CRDs have full schema validation. As a result, they are large and probably not suitable to be used in your cluster.
+These CRDs have the full schema.
+As a result, they are large and probably not suitable to be used in your cluster due to [kubernetes/kubernetes#82292](https://github.com/kubernetes/kubernetes/issues/82292).
\ No newline at end of file
diff --git a/manifests/base/crds/full/argoproj.io_clusterworkflowtemplates.yaml b/manifests/base/crds/full/argoproj.io_clusterworkflowtemplates.yaml
index 58e539a768f9..0cc5f7ca2477 100644
--- a/manifests/base/crds/full/argoproj.io_clusterworkflowtemplates.yaml
+++ b/manifests/base/crds/full/argoproj.io_clusterworkflowtemplates.yaml
@@ -50,11 +50,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchFields:
items:
properties:
@@ -66,11 +68,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
type: object
x-kubernetes-map-type: atomic
weight:
@@ -81,6 +85,7 @@ spec:
- weight
type: object
type: array
+ x-kubernetes-list-type: atomic
requiredDuringSchedulingIgnoredDuringExecution:
properties:
nodeSelectorTerms:
@@ -97,11 +102,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchFields:
items:
properties:
@@ -113,14 +120,17 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
type: object
x-kubernetes-map-type: atomic
type: array
+ x-kubernetes-list-type: atomic
required:
- nodeSelectorTerms
type: object
@@ -146,17 +156,29 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
type: object
type: object
x-kubernetes-map-type: atomic
+ matchLabelKeys:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
+ mismatchLabelKeys:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
namespaceSelector:
properties:
matchExpressions:
@@ -170,11 +192,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
@@ -185,6 +209,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
topologyKey:
type: string
required:
@@ -198,6 +223,7 @@ spec:
- weight
type: object
type: array
+ x-kubernetes-list-type: atomic
requiredDuringSchedulingIgnoredDuringExecution:
items:
properties:
@@ -214,17 +240,29 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
type: object
type: object
x-kubernetes-map-type: atomic
+ matchLabelKeys:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
+ mismatchLabelKeys:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
namespaceSelector:
properties:
matchExpressions:
@@ -238,11 +276,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
@@ -253,12 +293,14 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
topologyKey:
type: string
required:
- topologyKey
type: object
type: array
+ x-kubernetes-list-type: atomic
type: object
podAntiAffinity:
properties:
@@ -280,17 +322,29 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
type: object
type: object
x-kubernetes-map-type: atomic
+ matchLabelKeys:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
+ mismatchLabelKeys:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
namespaceSelector:
properties:
matchExpressions:
@@ -304,11 +358,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
@@ -319,6 +375,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
topologyKey:
type: string
required:
@@ -332,6 +389,7 @@ spec:
- weight
type: object
type: array
+ x-kubernetes-list-type: atomic
requiredDuringSchedulingIgnoredDuringExecution:
items:
properties:
@@ -348,17 +406,29 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
type: object
type: object
x-kubernetes-map-type: atomic
+ matchLabelKeys:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
+ mismatchLabelKeys:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
namespaceSelector:
properties:
matchExpressions:
@@ -372,11 +442,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
@@ -387,12 +459,14 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
topologyKey:
type: string
required:
- topologyKey
type: object
type: array
+ x-kubernetes-list-type: atomic
type: object
type: object
archiveLogs:
@@ -447,6 +521,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -461,6 +536,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -478,6 +554,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -515,6 +592,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -540,11 +618,14 @@ spec:
type: array
insecureIgnoreHostKey:
type: boolean
+ insecureSkipTLS:
+ type: boolean
passwordSecret:
properties:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -563,6 +644,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -575,6 +657,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -604,6 +687,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -616,6 +700,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -628,6 +713,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -657,6 +743,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -669,6 +756,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -684,6 +772,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -696,6 +785,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -711,6 +801,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -723,6 +814,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -750,6 +842,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -790,6 +883,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -819,6 +913,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -851,6 +946,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -865,6 +961,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -890,6 +987,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -913,6 +1011,20 @@ spec:
key:
type: string
name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ sessionTokenSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
type: string
optional:
type: boolean
@@ -953,6 +1065,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -1024,6 +1137,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
options:
items:
properties:
@@ -1033,10 +1147,12 @@ spec:
type: string
type: object
type: array
+ x-kubernetes-list-type: atomic
searches:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
dnsPolicy:
type: string
@@ -1100,6 +1216,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -1114,6 +1231,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -1131,6 +1249,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -1168,6 +1287,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -1193,11 +1313,14 @@ spec:
type: array
insecureIgnoreHostKey:
type: boolean
+ insecureSkipTLS:
+ type: boolean
passwordSecret:
properties:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -1216,6 +1339,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -1228,6 +1352,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -1257,6 +1382,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -1269,6 +1395,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -1281,6 +1408,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -1310,6 +1438,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -1322,6 +1451,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -1337,6 +1467,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -1349,6 +1480,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -1364,6 +1496,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -1376,6 +1509,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -1403,6 +1537,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -1443,6 +1578,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -1472,6 +1608,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -1504,6 +1641,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -1518,6 +1656,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -1543,6 +1682,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -1566,6 +1706,20 @@ spec:
key:
type: string
name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ sessionTokenSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
type: string
optional:
type: boolean
@@ -1606,6 +1760,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -1657,8 +1812,11 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
ip:
type: string
+ required:
+ - ip
type: object
type: array
hostNetwork:
@@ -1667,6 +1825,7 @@ spec:
items:
properties:
name:
+ default: ""
type: string
type: object
x-kubernetes-map-type: atomic
@@ -1767,11 +1926,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
@@ -1798,11 +1959,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
@@ -1866,6 +2029,15 @@ spec:
type: string
securityContext:
properties:
+ appArmorProfile:
+ properties:
+ localhostProfile:
+ type: string
+ type:
+ type: string
+ required:
+ - type
+ type: object
fsGroup:
format: int64
type: integer
@@ -1904,6 +2076,7 @@ spec:
format: int64
type: integer
type: array
+ x-kubernetes-list-type: atomic
sysctls:
items:
properties:
@@ -1916,6 +2089,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
windowsOptions:
properties:
gmsaCredentialSpec:
@@ -1943,6 +2117,15 @@ spec:
namespace:
type: string
type: object
+ mutexes:
+ items:
+ properties:
+ name:
+ type: string
+ namespace:
+ type: string
+ type: object
+ type: array
semaphore:
properties:
configMapKeyRef:
@@ -1950,6 +2133,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -1960,6 +2144,26 @@ spec:
namespace:
type: string
type: object
+ semaphores:
+ items:
+ properties:
+ configMapKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ namespace:
+ type: string
+ type: object
+ type: array
type: object
templateDefaults:
properties:
@@ -1988,11 +2192,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchFields:
items:
properties:
@@ -2004,11 +2210,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
type: object
x-kubernetes-map-type: atomic
weight:
@@ -2019,6 +2227,7 @@ spec:
- weight
type: object
type: array
+ x-kubernetes-list-type: atomic
requiredDuringSchedulingIgnoredDuringExecution:
properties:
nodeSelectorTerms:
@@ -2035,11 +2244,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchFields:
items:
properties:
@@ -2051,14 +2262,17 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
type: object
x-kubernetes-map-type: atomic
type: array
+ x-kubernetes-list-type: atomic
required:
- nodeSelectorTerms
type: object
@@ -2084,17 +2298,29 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
type: object
type: object
x-kubernetes-map-type: atomic
+ matchLabelKeys:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
+ mismatchLabelKeys:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
namespaceSelector:
properties:
matchExpressions:
@@ -2108,11 +2334,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
@@ -2123,6 +2351,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
topologyKey:
type: string
required:
@@ -2136,6 +2365,7 @@ spec:
- weight
type: object
type: array
+ x-kubernetes-list-type: atomic
requiredDuringSchedulingIgnoredDuringExecution:
items:
properties:
@@ -2152,17 +2382,29 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
type: object
type: object
x-kubernetes-map-type: atomic
+ matchLabelKeys:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
+ mismatchLabelKeys:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
namespaceSelector:
properties:
matchExpressions:
@@ -2176,11 +2418,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
@@ -2191,12 +2435,14 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
topologyKey:
type: string
required:
- topologyKey
type: object
type: array
+ x-kubernetes-list-type: atomic
type: object
podAntiAffinity:
properties:
@@ -2218,17 +2464,29 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
type: object
type: object
x-kubernetes-map-type: atomic
+ matchLabelKeys:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
+ mismatchLabelKeys:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
namespaceSelector:
properties:
matchExpressions:
@@ -2242,11 +2500,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
@@ -2257,6 +2517,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
topologyKey:
type: string
required:
@@ -2270,6 +2531,7 @@ spec:
- weight
type: object
type: array
+ x-kubernetes-list-type: atomic
requiredDuringSchedulingIgnoredDuringExecution:
items:
properties:
@@ -2286,17 +2548,29 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
type: object
type: object
x-kubernetes-map-type: atomic
+ matchLabelKeys:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
+ mismatchLabelKeys:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
namespaceSelector:
properties:
matchExpressions:
@@ -2310,11 +2584,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
@@ -2325,12 +2601,14 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
topologyKey:
type: string
required:
- topologyKey
type: object
type: array
+ x-kubernetes-list-type: atomic
type: object
type: object
archiveLocation:
@@ -2344,6 +2622,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -2358,6 +2637,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -2375,6 +2655,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -2406,6 +2687,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -2431,11 +2713,14 @@ spec:
type: array
insecureIgnoreHostKey:
type: boolean
+ insecureSkipTLS:
+ type: boolean
passwordSecret:
properties:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -2454,6 +2739,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -2466,6 +2752,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -2493,6 +2780,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -2505,6 +2793,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -2517,6 +2806,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -2546,6 +2836,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -2558,6 +2849,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -2573,6 +2865,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -2585,6 +2878,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -2600,6 +2894,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -2612,6 +2907,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -2639,6 +2935,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -2672,6 +2969,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -2701,6 +2999,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -2729,6 +3028,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -2743,6 +3043,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -2768,6 +3069,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -2791,6 +3093,20 @@ spec:
key:
type: string
name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ sessionTokenSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
type: string
optional:
type: boolean
@@ -2810,10 +3126,12 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
command:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
env:
items:
properties:
@@ -2828,6 +3146,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -2866,6 +3185,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -2878,12 +3198,16 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - name
+ x-kubernetes-list-type: map
envFrom:
items:
properties:
configMapRef:
properties:
name:
+ default: ""
type: string
optional:
type: boolean
@@ -2894,6 +3218,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
optional:
type: boolean
@@ -2901,6 +3226,7 @@ spec:
x-kubernetes-map-type: atomic
type: object
type: array
+ x-kubernetes-list-type: atomic
image:
type: string
imagePullPolicy:
@@ -2915,6 +3241,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
httpGet:
properties:
@@ -2932,6 +3259,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -2944,6 +3272,14 @@ spec:
required:
- port
type: object
+ sleep:
+ properties:
+ seconds:
+ format: int64
+ type: integer
+ required:
+ - seconds
+ type: object
tcpSocket:
properties:
host:
@@ -2965,6 +3301,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
httpGet:
properties:
@@ -2982,6 +3319,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -2994,6 +3332,14 @@ spec:
required:
- port
type: object
+ sleep:
+ properties:
+ seconds:
+ format: int64
+ type: integer
+ required:
+ - seconds
+ type: object
tcpSocket:
properties:
host:
@@ -3016,6 +3362,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -3046,6 +3393,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -3120,6 +3468,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -3150,6 +3499,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -3190,6 +3540,19 @@ spec:
format: int32
type: integer
type: object
+ resizePolicy:
+ items:
+ properties:
+ resourceName:
+ type: string
+ restartPolicy:
+ type: string
+ required:
+ - resourceName
+ - restartPolicy
+ type: object
+ type: array
+ x-kubernetes-list-type: atomic
resources:
properties:
claims:
@@ -3221,20 +3584,33 @@ spec:
x-kubernetes-int-or-string: true
type: object
type: object
+ restartPolicy:
+ type: string
securityContext:
properties:
allowPrivilegeEscalation:
type: boolean
+ appArmorProfile:
+ properties:
+ localhostProfile:
+ type: string
+ type:
+ type: string
+ required:
+ - type
+ type: object
capabilities:
properties:
add:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
drop:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
privileged:
type: boolean
@@ -3290,6 +3666,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -3320,6 +3697,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -3382,6 +3760,9 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - devicePath
+ x-kubernetes-list-type: map
volumeMounts:
items:
properties:
@@ -3393,6 +3774,8 @@ spec:
type: string
readOnly:
type: boolean
+ recursiveReadOnly:
+ type: string
subPath:
type: string
subPathExpr:
@@ -3402,6 +3785,9 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - mountPath
+ x-kubernetes-list-type: map
workingDir:
type: string
required:
@@ -3416,10 +3802,12 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
command:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
dependencies:
items:
type: string
@@ -3438,6 +3826,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -3476,6 +3865,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -3488,12 +3878,16 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - name
+ x-kubernetes-list-type: map
envFrom:
items:
properties:
configMapRef:
properties:
name:
+ default: ""
type: string
optional:
type: boolean
@@ -3504,6 +3898,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
optional:
type: boolean
@@ -3511,6 +3906,7 @@ spec:
x-kubernetes-map-type: atomic
type: object
type: array
+ x-kubernetes-list-type: atomic
image:
type: string
imagePullPolicy:
@@ -3525,6 +3921,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
httpGet:
properties:
@@ -3542,6 +3939,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -3554,6 +3952,14 @@ spec:
required:
- port
type: object
+ sleep:
+ properties:
+ seconds:
+ format: int64
+ type: integer
+ required:
+ - seconds
+ type: object
tcpSocket:
properties:
host:
@@ -3575,6 +3981,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
httpGet:
properties:
@@ -3592,6 +3999,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -3604,6 +4012,14 @@ spec:
required:
- port
type: object
+ sleep:
+ properties:
+ seconds:
+ format: int64
+ type: integer
+ required:
+ - seconds
+ type: object
tcpSocket:
properties:
host:
@@ -3626,6 +4042,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -3656,6 +4073,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -3730,6 +4148,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -3760,6 +4179,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -3800,6 +4220,19 @@ spec:
format: int32
type: integer
type: object
+ resizePolicy:
+ items:
+ properties:
+ resourceName:
+ type: string
+ restartPolicy:
+ type: string
+ required:
+ - resourceName
+ - restartPolicy
+ type: object
+ type: array
+ x-kubernetes-list-type: atomic
resources:
properties:
claims:
@@ -3831,20 +4264,33 @@ spec:
x-kubernetes-int-or-string: true
type: object
type: object
+ restartPolicy:
+ type: string
securityContext:
properties:
allowPrivilegeEscalation:
type: boolean
+ appArmorProfile:
+ properties:
+ localhostProfile:
+ type: string
+ type:
+ type: string
+ required:
+ - type
+ type: object
capabilities:
properties:
add:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
drop:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
privileged:
type: boolean
@@ -3900,6 +4346,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -3930,6 +4377,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -3992,6 +4440,9 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - devicePath
+ x-kubernetes-list-type: map
volumeMounts:
items:
properties:
@@ -4003,6 +4454,8 @@ spec:
type: string
readOnly:
type: boolean
+ recursiveReadOnly:
+ type: string
subPath:
type: string
subPathExpr:
@@ -4012,6 +4465,9 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - mountPath
+ x-kubernetes-list-type: map
workingDir:
type: string
required:
@@ -4041,6 +4497,8 @@ spec:
type: string
readOnly:
type: boolean
+ recursiveReadOnly:
+ type: string
subPath:
type: string
subPathExpr:
@@ -4114,6 +4572,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4128,6 +4587,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4145,6 +4605,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4182,6 +4643,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4207,11 +4669,14 @@ spec:
type: array
insecureIgnoreHostKey:
type: boolean
+ insecureSkipTLS:
+ type: boolean
passwordSecret:
properties:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4230,6 +4695,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4242,6 +4708,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4271,6 +4738,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4283,6 +4751,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4295,6 +4764,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4324,6 +4794,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4336,6 +4807,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4351,6 +4823,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4363,6 +4836,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4378,6 +4852,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4390,6 +4865,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4417,6 +4893,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4457,6 +4934,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4486,6 +4964,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4518,6 +4997,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4532,6 +5012,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4557,6 +5038,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4580,6 +5062,20 @@ spec:
key:
type: string
name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ sessionTokenSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
type: string
optional:
type: boolean
@@ -4620,6 +5116,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4715,6 +5212,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4729,6 +5227,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4746,6 +5245,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4783,6 +5283,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4808,11 +5309,14 @@ spec:
type: array
insecureIgnoreHostKey:
type: boolean
+ insecureSkipTLS:
+ type: boolean
passwordSecret:
properties:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4831,6 +5335,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4843,6 +5348,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4872,6 +5378,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4884,6 +5391,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4896,6 +5404,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4925,6 +5434,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4937,6 +5447,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4952,6 +5463,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4964,6 +5476,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4979,6 +5492,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4991,6 +5505,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -5018,6 +5533,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -5058,6 +5574,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -5087,6 +5604,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -5119,6 +5637,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -5133,6 +5652,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -5158,6 +5678,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -5181,6 +5702,20 @@ spec:
key:
type: string
name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ sessionTokenSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
type: string
optional:
type: boolean
@@ -5221,6 +5756,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -5367,6 +5903,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -5381,6 +5918,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -5398,6 +5936,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -5435,6 +5974,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -5460,11 +6000,14 @@ spec:
type: array
insecureIgnoreHostKey:
type: boolean
+ insecureSkipTLS:
+ type: boolean
passwordSecret:
properties:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -5483,6 +6026,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -5495,6 +6039,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -5524,6 +6069,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -5536,6 +6082,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -5548,6 +6095,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -5577,6 +6125,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -5589,6 +6138,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -5604,6 +6154,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -5616,6 +6167,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -5631,6 +6183,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -5643,6 +6196,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -5670,6 +6224,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -5710,6 +6265,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -5739,6 +6295,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -5771,6 +6328,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -5785,6 +6343,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -5810,6 +6369,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -5833,6 +6393,20 @@ spec:
key:
type: string
name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ sessionTokenSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
type: string
optional:
type: boolean
@@ -5876,8 +6450,11 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
ip:
type: string
+ required:
+ - ip
type: object
type: array
http:
@@ -5904,6 +6481,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -5937,10 +6515,12 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
command:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
env:
items:
properties:
@@ -5955,6 +6535,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -5993,6 +6574,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -6005,12 +6587,16 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - name
+ x-kubernetes-list-type: map
envFrom:
items:
properties:
configMapRef:
properties:
name:
+ default: ""
type: string
optional:
type: boolean
@@ -6021,6 +6607,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
optional:
type: boolean
@@ -6028,6 +6615,7 @@ spec:
x-kubernetes-map-type: atomic
type: object
type: array
+ x-kubernetes-list-type: atomic
image:
type: string
imagePullPolicy:
@@ -6042,6 +6630,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
httpGet:
properties:
@@ -6059,6 +6648,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -6071,6 +6661,14 @@ spec:
required:
- port
type: object
+ sleep:
+ properties:
+ seconds:
+ format: int64
+ type: integer
+ required:
+ - seconds
+ type: object
tcpSocket:
properties:
host:
@@ -6092,6 +6690,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
httpGet:
properties:
@@ -6109,6 +6708,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -6121,6 +6721,14 @@ spec:
required:
- port
type: object
+ sleep:
+ properties:
+ seconds:
+ format: int64
+ type: integer
+ required:
+ - seconds
+ type: object
tcpSocket:
properties:
host:
@@ -6143,6 +6751,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -6173,6 +6782,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -6249,6 +6859,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -6279,6 +6890,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -6319,6 +6931,19 @@ spec:
format: int32
type: integer
type: object
+ resizePolicy:
+ items:
+ properties:
+ resourceName:
+ type: string
+ restartPolicy:
+ type: string
+ required:
+ - resourceName
+ - restartPolicy
+ type: object
+ type: array
+ x-kubernetes-list-type: atomic
resources:
properties:
claims:
@@ -6350,20 +6975,33 @@ spec:
x-kubernetes-int-or-string: true
type: object
type: object
+ restartPolicy:
+ type: string
securityContext:
properties:
allowPrivilegeEscalation:
type: boolean
+ appArmorProfile:
+ properties:
+ localhostProfile:
+ type: string
+ type:
+ type: string
+ required:
+ - type
+ type: object
capabilities:
properties:
add:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
drop:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
privileged:
type: boolean
@@ -6419,6 +7057,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -6449,6 +7088,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -6511,6 +7151,9 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - devicePath
+ x-kubernetes-list-type: map
volumeMounts:
items:
properties:
@@ -6522,6 +7165,8 @@ spec:
type: string
readOnly:
type: boolean
+ recursiveReadOnly:
+ type: string
subPath:
type: string
subPathExpr:
@@ -6531,6 +7176,9 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - mountPath
+ x-kubernetes-list-type: map
workingDir:
type: string
required:
@@ -6587,6 +7235,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -6601,6 +7250,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -6618,6 +7268,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -6655,6 +7306,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -6680,11 +7332,14 @@ spec:
type: array
insecureIgnoreHostKey:
type: boolean
+ insecureSkipTLS:
+ type: boolean
passwordSecret:
properties:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -6703,6 +7358,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -6715,6 +7371,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -6744,6 +7401,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -6756,6 +7414,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -6768,6 +7427,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -6797,6 +7457,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -6809,6 +7470,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -6824,6 +7486,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -6836,6 +7499,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -6851,6 +7515,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -6863,6 +7528,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -6890,6 +7556,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -6930,6 +7597,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -6959,6 +7627,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -6991,6 +7660,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -7005,6 +7675,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -7030,6 +7701,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -7053,6 +7725,20 @@ spec:
key:
type: string
name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ sessionTokenSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
type: string
optional:
type: boolean
@@ -7093,6 +7779,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -7131,6 +7818,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -7279,6 +7967,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -7293,6 +7982,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -7310,6 +8000,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -7347,6 +8038,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -7372,11 +8064,14 @@ spec:
type: array
insecureIgnoreHostKey:
type: boolean
+ insecureSkipTLS:
+ type: boolean
passwordSecret:
properties:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -7395,6 +8090,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -7407,6 +8103,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -7436,6 +8133,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -7448,6 +8146,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -7460,6 +8159,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -7489,6 +8189,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -7501,6 +8202,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -7516,6 +8218,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -7528,6 +8231,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -7543,6 +8247,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -7555,6 +8260,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -7582,6 +8288,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -7622,6 +8329,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -7651,6 +8359,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -7683,6 +8392,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -7697,6 +8407,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -7722,6 +8433,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -7745,6 +8457,20 @@ spec:
key:
type: string
name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ sessionTokenSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
type: string
optional:
type: boolean
@@ -7787,6 +8513,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -7891,6 +8618,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -7905,6 +8633,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -7922,6 +8651,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -7959,6 +8689,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -7984,11 +8715,14 @@ spec:
type: array
insecureIgnoreHostKey:
type: boolean
+ insecureSkipTLS:
+ type: boolean
passwordSecret:
properties:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -8007,6 +8741,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -8019,6 +8754,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -8048,6 +8784,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -8060,6 +8797,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -8072,6 +8810,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -8101,6 +8840,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -8113,6 +8853,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -8128,6 +8869,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -8140,6 +8882,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -8155,6 +8898,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -8167,6 +8911,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -8194,6 +8939,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -8234,6 +8980,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -8263,6 +9010,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -8295,6 +9043,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -8309,6 +9058,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -8334,6 +9084,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -8357,6 +9108,20 @@ spec:
key:
type: string
name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ sessionTokenSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
type: string
optional:
type: boolean
@@ -8421,10 +9186,12 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
command:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
env:
items:
properties:
@@ -8439,6 +9206,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -8477,6 +9245,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -8489,12 +9258,16 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - name
+ x-kubernetes-list-type: map
envFrom:
items:
properties:
configMapRef:
properties:
name:
+ default: ""
type: string
optional:
type: boolean
@@ -8505,6 +9278,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
optional:
type: boolean
@@ -8512,6 +9286,7 @@ spec:
x-kubernetes-map-type: atomic
type: object
type: array
+ x-kubernetes-list-type: atomic
image:
type: string
imagePullPolicy:
@@ -8526,6 +9301,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
httpGet:
properties:
@@ -8543,6 +9319,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -8555,6 +9332,14 @@ spec:
required:
- port
type: object
+ sleep:
+ properties:
+ seconds:
+ format: int64
+ type: integer
+ required:
+ - seconds
+ type: object
tcpSocket:
properties:
host:
@@ -8576,6 +9361,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
httpGet:
properties:
@@ -8593,6 +9379,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -8605,6 +9392,14 @@ spec:
required:
- port
type: object
+ sleep:
+ properties:
+ seconds:
+ format: int64
+ type: integer
+ required:
+ - seconds
+ type: object
tcpSocket:
properties:
host:
@@ -8627,6 +9422,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -8657,6 +9453,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -8731,6 +9528,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -8761,6 +9559,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -8801,6 +9600,19 @@ spec:
format: int32
type: integer
type: object
+ resizePolicy:
+ items:
+ properties:
+ resourceName:
+ type: string
+ restartPolicy:
+ type: string
+ required:
+ - resourceName
+ - restartPolicy
+ type: object
+ type: array
+ x-kubernetes-list-type: atomic
resources:
properties:
claims:
@@ -8832,20 +9644,33 @@ spec:
x-kubernetes-int-or-string: true
type: object
type: object
+ restartPolicy:
+ type: string
securityContext:
properties:
allowPrivilegeEscalation:
type: boolean
+ appArmorProfile:
+ properties:
+ localhostProfile:
+ type: string
+ type:
+ type: string
+ required:
+ - type
+ type: object
capabilities:
properties:
add:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
drop:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
privileged:
type: boolean
@@ -8903,6 +9728,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -8933,6 +9759,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -8995,6 +9822,9 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - devicePath
+ x-kubernetes-list-type: map
volumeMounts:
items:
properties:
@@ -9006,6 +9836,8 @@ spec:
type: string
readOnly:
type: boolean
+ recursiveReadOnly:
+ type: string
subPath:
type: string
subPathExpr:
@@ -9015,6 +9847,9 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - mountPath
+ x-kubernetes-list-type: map
workingDir:
type: string
required:
@@ -9023,6 +9858,15 @@ spec:
type: object
securityContext:
properties:
+ appArmorProfile:
+ properties:
+ localhostProfile:
+ type: string
+ type:
+ type: string
+ required:
+ - type
+ type: object
fsGroup:
format: int64
type: integer
@@ -9061,6 +9905,7 @@ spec:
format: int64
type: integer
type: array
+ x-kubernetes-list-type: atomic
sysctls:
items:
properties:
@@ -9073,6 +9918,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
windowsOptions:
properties:
gmsaCredentialSpec:
@@ -9094,10 +9940,12 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
command:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
env:
items:
properties:
@@ -9112,6 +9960,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -9150,6 +9999,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -9162,12 +10012,16 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - name
+ x-kubernetes-list-type: map
envFrom:
items:
properties:
configMapRef:
properties:
name:
+ default: ""
type: string
optional:
type: boolean
@@ -9178,6 +10032,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
optional:
type: boolean
@@ -9185,6 +10040,7 @@ spec:
x-kubernetes-map-type: atomic
type: object
type: array
+ x-kubernetes-list-type: atomic
image:
type: string
imagePullPolicy:
@@ -9199,6 +10055,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
httpGet:
properties:
@@ -9216,6 +10073,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -9228,6 +10086,14 @@ spec:
required:
- port
type: object
+ sleep:
+ properties:
+ seconds:
+ format: int64
+ type: integer
+ required:
+ - seconds
+ type: object
tcpSocket:
properties:
host:
@@ -9249,6 +10115,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
httpGet:
properties:
@@ -9266,6 +10133,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -9278,6 +10146,14 @@ spec:
required:
- port
type: object
+ sleep:
+ properties:
+ seconds:
+ format: int64
+ type: integer
+ required:
+ - seconds
+ type: object
tcpSocket:
properties:
host:
@@ -9300,6 +10176,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -9330,6 +10207,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -9406,6 +10284,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -9436,6 +10315,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -9476,6 +10356,19 @@ spec:
format: int32
type: integer
type: object
+ resizePolicy:
+ items:
+ properties:
+ resourceName:
+ type: string
+ restartPolicy:
+ type: string
+ required:
+ - resourceName
+ - restartPolicy
+ type: object
+ type: array
+ x-kubernetes-list-type: atomic
resources:
properties:
claims:
@@ -9507,20 +10400,33 @@ spec:
x-kubernetes-int-or-string: true
type: object
type: object
+ restartPolicy:
+ type: string
securityContext:
properties:
allowPrivilegeEscalation:
type: boolean
+ appArmorProfile:
+ properties:
+ localhostProfile:
+ type: string
+ type:
+ type: string
+ required:
+ - type
+ type: object
capabilities:
properties:
add:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
drop:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
privileged:
type: boolean
@@ -9576,6 +10482,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -9606,6 +10513,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -9668,6 +10576,9 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - devicePath
+ x-kubernetes-list-type: map
volumeMounts:
items:
properties:
@@ -9679,6 +10590,8 @@ spec:
type: string
readOnly:
type: boolean
+ recursiveReadOnly:
+ type: string
subPath:
type: string
subPathExpr:
@@ -9688,6 +10601,9 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - mountPath
+ x-kubernetes-list-type: map
workingDir:
type: string
required:
@@ -9712,6 +10628,15 @@ spec:
namespace:
type: string
type: object
+ mutexes:
+ items:
+ properties:
+ name:
+ type: string
+ namespace:
+ type: string
+ type: object
+ type: array
semaphore:
properties:
configMapKeyRef:
@@ -9719,6 +10644,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -9729,6 +10655,26 @@ spec:
namespace:
type: string
type: object
+ semaphores:
+ items:
+ properties:
+ configMapKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ namespace:
+ type: string
+ type: object
+ type: array
type: object
timeout:
type: string
@@ -9801,6 +10747,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
readOnly:
@@ -9810,6 +10757,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
type: object
x-kubernetes-map-type: atomic
@@ -9827,6 +10775,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
type: object
x-kubernetes-map-type: atomic
@@ -9855,7 +10804,9 @@ spec:
- path
type: object
type: array
+ x-kubernetes-list-type: atomic
name:
+ default: ""
type: string
optional:
type: boolean
@@ -9870,6 +10821,7 @@ spec:
nodePublishSecretRef:
properties:
name:
+ default: ""
type: string
type: object
x-kubernetes-map-type: atomic
@@ -9925,6 +10877,7 @@ spec:
- path
type: object
type: array
+ x-kubernetes-list-type: atomic
type: object
emptyDir:
properties:
@@ -9949,6 +10902,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
dataSource:
properties:
apiGroup:
@@ -9978,18 +10932,6 @@ spec:
type: object
resources:
properties:
- claims:
- items:
- properties:
- name:
- type: string
- required:
- - name
- type: object
- type: array
- x-kubernetes-list-map-keys:
- - name
- x-kubernetes-list-type: map
limits:
additionalProperties:
anyOf:
@@ -10020,11 +10962,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
@@ -10033,6 +10977,8 @@ spec:
x-kubernetes-map-type: atomic
storageClassName:
type: string
+ volumeAttributesClassName:
+ type: string
volumeMode:
type: string
volumeName:
@@ -10055,10 +11001,12 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
wwids:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
flexVolume:
properties:
@@ -10075,6 +11023,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
type: object
x-kubernetes-map-type: atomic
@@ -10155,11 +11104,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
readOnly:
type: boolean
secretRef:
properties:
name:
+ default: ""
type: string
type: object
x-kubernetes-map-type: atomic
@@ -10221,6 +11172,45 @@ spec:
sources:
items:
properties:
+ clusterTrustBundle:
+ properties:
+ labelSelector:
+ properties:
+ matchExpressions:
+ items:
+ properties:
+ key:
+ type: string
+ operator:
+ type: string
+ values:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
+ required:
+ - key
+ - operator
+ type: object
+ type: array
+ x-kubernetes-list-type: atomic
+ matchLabels:
+ additionalProperties:
+ type: string
+ type: object
+ type: object
+ x-kubernetes-map-type: atomic
+ name:
+ type: string
+ optional:
+ type: boolean
+ path:
+ type: string
+ signerName:
+ type: string
+ required:
+ - path
+ type: object
configMap:
properties:
items:
@@ -10238,7 +11228,9 @@ spec:
- path
type: object
type: array
+ x-kubernetes-list-type: atomic
name:
+ default: ""
type: string
optional:
type: boolean
@@ -10284,6 +11276,7 @@ spec:
- path
type: object
type: array
+ x-kubernetes-list-type: atomic
type: object
secret:
properties:
@@ -10302,7 +11295,9 @@ spec:
- path
type: object
type: array
+ x-kubernetes-list-type: atomic
name:
+ default: ""
type: string
optional:
type: boolean
@@ -10322,6 +11317,7 @@ spec:
type: object
type: object
type: array
+ x-kubernetes-list-type: atomic
type: object
quobyte:
properties:
@@ -10353,6 +11349,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
pool:
type: string
readOnly:
@@ -10360,6 +11357,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
type: object
x-kubernetes-map-type: atomic
@@ -10382,6 +11380,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
type: object
x-kubernetes-map-type: atomic
@@ -10420,6 +11419,7 @@ spec:
- path
type: object
type: array
+ x-kubernetes-list-type: atomic
optional:
type: boolean
secretName:
@@ -10434,6 +11434,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
type: object
x-kubernetes-map-type: atomic
@@ -10488,11 +11489,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchFields:
items:
properties:
@@ -10504,11 +11507,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
type: object
x-kubernetes-map-type: atomic
weight:
@@ -10519,6 +11524,7 @@ spec:
- weight
type: object
type: array
+ x-kubernetes-list-type: atomic
requiredDuringSchedulingIgnoredDuringExecution:
properties:
nodeSelectorTerms:
@@ -10535,11 +11541,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchFields:
items:
properties:
@@ -10551,14 +11559,17 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
type: object
x-kubernetes-map-type: atomic
type: array
+ x-kubernetes-list-type: atomic
required:
- nodeSelectorTerms
type: object
@@ -10584,17 +11595,29 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
type: object
type: object
x-kubernetes-map-type: atomic
+ matchLabelKeys:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
+ mismatchLabelKeys:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
namespaceSelector:
properties:
matchExpressions:
@@ -10608,11 +11631,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
@@ -10623,6 +11648,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
topologyKey:
type: string
required:
@@ -10636,6 +11662,7 @@ spec:
- weight
type: object
type: array
+ x-kubernetes-list-type: atomic
requiredDuringSchedulingIgnoredDuringExecution:
items:
properties:
@@ -10652,17 +11679,29 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
type: object
type: object
x-kubernetes-map-type: atomic
+ matchLabelKeys:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
+ mismatchLabelKeys:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
namespaceSelector:
properties:
matchExpressions:
@@ -10676,11 +11715,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
@@ -10691,12 +11732,14 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
topologyKey:
type: string
required:
- topologyKey
type: object
type: array
+ x-kubernetes-list-type: atomic
type: object
podAntiAffinity:
properties:
@@ -10718,17 +11761,29 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
type: object
type: object
x-kubernetes-map-type: atomic
+ matchLabelKeys:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
+ mismatchLabelKeys:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
namespaceSelector:
properties:
matchExpressions:
@@ -10742,11 +11797,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
@@ -10757,6 +11814,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
topologyKey:
type: string
required:
@@ -10770,6 +11828,7 @@ spec:
- weight
type: object
type: array
+ x-kubernetes-list-type: atomic
requiredDuringSchedulingIgnoredDuringExecution:
items:
properties:
@@ -10786,17 +11845,29 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
type: object
type: object
x-kubernetes-map-type: atomic
+ matchLabelKeys:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
+ mismatchLabelKeys:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
namespaceSelector:
properties:
matchExpressions:
@@ -10810,11 +11881,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
@@ -10825,12 +11898,14 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
topologyKey:
type: string
required:
- topologyKey
type: object
type: array
+ x-kubernetes-list-type: atomic
type: object
type: object
archiveLocation:
@@ -10844,6 +11919,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -10858,6 +11934,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -10875,6 +11952,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -10906,6 +11984,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -10931,11 +12010,14 @@ spec:
type: array
insecureIgnoreHostKey:
type: boolean
+ insecureSkipTLS:
+ type: boolean
passwordSecret:
properties:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -10954,6 +12036,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -10966,6 +12049,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -10993,6 +12077,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -11005,6 +12090,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -11017,6 +12103,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -11046,6 +12133,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -11058,6 +12146,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -11073,6 +12162,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -11085,6 +12175,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -11100,6 +12191,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -11112,6 +12204,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -11139,6 +12232,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -11172,6 +12266,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -11201,6 +12296,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -11229,6 +12325,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -11243,6 +12340,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -11268,6 +12366,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -11291,6 +12390,20 @@ spec:
key:
type: string
name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ sessionTokenSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
type: string
optional:
type: boolean
@@ -11310,10 +12423,12 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
command:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
env:
items:
properties:
@@ -11328,6 +12443,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -11366,6 +12482,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -11378,12 +12495,16 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - name
+ x-kubernetes-list-type: map
envFrom:
items:
properties:
configMapRef:
properties:
name:
+ default: ""
type: string
optional:
type: boolean
@@ -11394,6 +12515,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
optional:
type: boolean
@@ -11401,6 +12523,7 @@ spec:
x-kubernetes-map-type: atomic
type: object
type: array
+ x-kubernetes-list-type: atomic
image:
type: string
imagePullPolicy:
@@ -11415,6 +12538,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
httpGet:
properties:
@@ -11432,6 +12556,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -11444,6 +12569,14 @@ spec:
required:
- port
type: object
+ sleep:
+ properties:
+ seconds:
+ format: int64
+ type: integer
+ required:
+ - seconds
+ type: object
tcpSocket:
properties:
host:
@@ -11465,6 +12598,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
httpGet:
properties:
@@ -11482,6 +12616,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -11494,6 +12629,14 @@ spec:
required:
- port
type: object
+ sleep:
+ properties:
+ seconds:
+ format: int64
+ type: integer
+ required:
+ - seconds
+ type: object
tcpSocket:
properties:
host:
@@ -11516,6 +12659,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -11546,6 +12690,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -11620,6 +12765,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -11650,6 +12796,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -11690,6 +12837,19 @@ spec:
format: int32
type: integer
type: object
+ resizePolicy:
+ items:
+ properties:
+ resourceName:
+ type: string
+ restartPolicy:
+ type: string
+ required:
+ - resourceName
+ - restartPolicy
+ type: object
+ type: array
+ x-kubernetes-list-type: atomic
resources:
properties:
claims:
@@ -11721,20 +12881,33 @@ spec:
x-kubernetes-int-or-string: true
type: object
type: object
+ restartPolicy:
+ type: string
securityContext:
properties:
allowPrivilegeEscalation:
type: boolean
+ appArmorProfile:
+ properties:
+ localhostProfile:
+ type: string
+ type:
+ type: string
+ required:
+ - type
+ type: object
capabilities:
properties:
add:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
drop:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
privileged:
type: boolean
@@ -11790,6 +12963,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -11820,6 +12994,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -11882,8 +13057,11 @@ spec:
- name
type: object
type: array
- volumeMounts:
- items:
+ x-kubernetes-list-map-keys:
+ - devicePath
+ x-kubernetes-list-type: map
+ volumeMounts:
+ items:
properties:
mountPath:
type: string
@@ -11893,6 +13071,8 @@ spec:
type: string
readOnly:
type: boolean
+ recursiveReadOnly:
+ type: string
subPath:
type: string
subPathExpr:
@@ -11902,6 +13082,9 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - mountPath
+ x-kubernetes-list-type: map
workingDir:
type: string
required:
@@ -11916,10 +13099,12 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
command:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
dependencies:
items:
type: string
@@ -11938,6 +13123,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -11976,6 +13162,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -11988,12 +13175,16 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - name
+ x-kubernetes-list-type: map
envFrom:
items:
properties:
configMapRef:
properties:
name:
+ default: ""
type: string
optional:
type: boolean
@@ -12004,6 +13195,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
optional:
type: boolean
@@ -12011,6 +13203,7 @@ spec:
x-kubernetes-map-type: atomic
type: object
type: array
+ x-kubernetes-list-type: atomic
image:
type: string
imagePullPolicy:
@@ -12025,6 +13218,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
httpGet:
properties:
@@ -12042,6 +13236,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -12054,6 +13249,14 @@ spec:
required:
- port
type: object
+ sleep:
+ properties:
+ seconds:
+ format: int64
+ type: integer
+ required:
+ - seconds
+ type: object
tcpSocket:
properties:
host:
@@ -12075,6 +13278,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
httpGet:
properties:
@@ -12092,6 +13296,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -12104,6 +13309,14 @@ spec:
required:
- port
type: object
+ sleep:
+ properties:
+ seconds:
+ format: int64
+ type: integer
+ required:
+ - seconds
+ type: object
tcpSocket:
properties:
host:
@@ -12126,6 +13339,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -12156,6 +13370,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -12230,6 +13445,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -12260,6 +13476,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -12300,6 +13517,19 @@ spec:
format: int32
type: integer
type: object
+ resizePolicy:
+ items:
+ properties:
+ resourceName:
+ type: string
+ restartPolicy:
+ type: string
+ required:
+ - resourceName
+ - restartPolicy
+ type: object
+ type: array
+ x-kubernetes-list-type: atomic
resources:
properties:
claims:
@@ -12331,20 +13561,33 @@ spec:
x-kubernetes-int-or-string: true
type: object
type: object
+ restartPolicy:
+ type: string
securityContext:
properties:
allowPrivilegeEscalation:
type: boolean
+ appArmorProfile:
+ properties:
+ localhostProfile:
+ type: string
+ type:
+ type: string
+ required:
+ - type
+ type: object
capabilities:
properties:
add:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
drop:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
privileged:
type: boolean
@@ -12400,6 +13643,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -12430,6 +13674,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -12492,6 +13737,9 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - devicePath
+ x-kubernetes-list-type: map
volumeMounts:
items:
properties:
@@ -12503,6 +13751,8 @@ spec:
type: string
readOnly:
type: boolean
+ recursiveReadOnly:
+ type: string
subPath:
type: string
subPathExpr:
@@ -12512,6 +13762,9 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - mountPath
+ x-kubernetes-list-type: map
workingDir:
type: string
required:
@@ -12541,6 +13794,8 @@ spec:
type: string
readOnly:
type: boolean
+ recursiveReadOnly:
+ type: string
subPath:
type: string
subPathExpr:
@@ -12614,6 +13869,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -12628,6 +13884,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -12645,6 +13902,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -12682,6 +13940,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -12707,11 +13966,14 @@ spec:
type: array
insecureIgnoreHostKey:
type: boolean
+ insecureSkipTLS:
+ type: boolean
passwordSecret:
properties:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -12730,6 +13992,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -12742,6 +14005,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -12771,6 +14035,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -12783,6 +14048,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -12795,6 +14061,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -12824,6 +14091,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -12836,6 +14104,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -12851,6 +14120,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -12863,6 +14133,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -12878,6 +14149,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -12890,6 +14162,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -12917,6 +14190,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -12957,6 +14231,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -12986,6 +14261,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -13018,6 +14294,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -13032,6 +14309,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -13057,6 +14335,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -13080,6 +14359,20 @@ spec:
key:
type: string
name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ sessionTokenSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
type: string
optional:
type: boolean
@@ -13120,6 +14413,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -13215,6 +14509,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -13229,6 +14524,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -13246,6 +14542,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -13283,6 +14580,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -13308,11 +14606,14 @@ spec:
type: array
insecureIgnoreHostKey:
type: boolean
+ insecureSkipTLS:
+ type: boolean
passwordSecret:
properties:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -13331,6 +14632,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -13343,6 +14645,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -13372,6 +14675,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -13384,6 +14688,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -13396,6 +14701,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -13425,6 +14731,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -13437,6 +14744,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -13452,6 +14760,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -13464,6 +14773,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -13479,6 +14789,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -13491,6 +14802,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -13518,6 +14830,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -13558,6 +14871,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -13587,6 +14901,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -13619,6 +14934,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -13633,6 +14949,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -13658,6 +14975,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -13681,6 +14999,20 @@ spec:
key:
type: string
name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ sessionTokenSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
type: string
optional:
type: boolean
@@ -13721,6 +15053,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -13867,6 +15200,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -13881,6 +15215,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -13898,6 +15233,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -13935,6 +15271,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -13960,11 +15297,14 @@ spec:
type: array
insecureIgnoreHostKey:
type: boolean
+ insecureSkipTLS:
+ type: boolean
passwordSecret:
properties:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -13983,6 +15323,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -13995,6 +15336,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -14024,6 +15366,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -14036,6 +15379,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -14048,6 +15392,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -14077,6 +15422,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -14089,6 +15435,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -14104,6 +15451,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -14116,6 +15464,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -14131,6 +15480,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -14143,6 +15493,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -14170,6 +15521,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -14210,6 +15562,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -14239,6 +15592,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -14271,6 +15625,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -14285,6 +15640,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -14310,6 +15666,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -14333,6 +15690,20 @@ spec:
key:
type: string
name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ sessionTokenSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
type: string
optional:
type: boolean
@@ -14376,8 +15747,11 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
ip:
type: string
+ required:
+ - ip
type: object
type: array
http:
@@ -14404,6 +15778,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -14437,10 +15812,12 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
command:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
env:
items:
properties:
@@ -14455,6 +15832,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -14493,6 +15871,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -14505,12 +15884,16 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - name
+ x-kubernetes-list-type: map
envFrom:
items:
properties:
configMapRef:
properties:
name:
+ default: ""
type: string
optional:
type: boolean
@@ -14521,6 +15904,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
optional:
type: boolean
@@ -14528,6 +15912,7 @@ spec:
x-kubernetes-map-type: atomic
type: object
type: array
+ x-kubernetes-list-type: atomic
image:
type: string
imagePullPolicy:
@@ -14542,6 +15927,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
httpGet:
properties:
@@ -14559,6 +15945,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -14571,6 +15958,14 @@ spec:
required:
- port
type: object
+ sleep:
+ properties:
+ seconds:
+ format: int64
+ type: integer
+ required:
+ - seconds
+ type: object
tcpSocket:
properties:
host:
@@ -14592,6 +15987,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
httpGet:
properties:
@@ -14609,6 +16005,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -14621,6 +16018,14 @@ spec:
required:
- port
type: object
+ sleep:
+ properties:
+ seconds:
+ format: int64
+ type: integer
+ required:
+ - seconds
+ type: object
tcpSocket:
properties:
host:
@@ -14643,6 +16048,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -14673,6 +16079,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -14749,6 +16156,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -14779,6 +16187,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -14819,6 +16228,19 @@ spec:
format: int32
type: integer
type: object
+ resizePolicy:
+ items:
+ properties:
+ resourceName:
+ type: string
+ restartPolicy:
+ type: string
+ required:
+ - resourceName
+ - restartPolicy
+ type: object
+ type: array
+ x-kubernetes-list-type: atomic
resources:
properties:
claims:
@@ -14850,20 +16272,33 @@ spec:
x-kubernetes-int-or-string: true
type: object
type: object
+ restartPolicy:
+ type: string
securityContext:
properties:
allowPrivilegeEscalation:
type: boolean
+ appArmorProfile:
+ properties:
+ localhostProfile:
+ type: string
+ type:
+ type: string
+ required:
+ - type
+ type: object
capabilities:
properties:
add:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
drop:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
privileged:
type: boolean
@@ -14919,6 +16354,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -14949,6 +16385,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -15011,6 +16448,9 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - devicePath
+ x-kubernetes-list-type: map
volumeMounts:
items:
properties:
@@ -15022,6 +16462,8 @@ spec:
type: string
readOnly:
type: boolean
+ recursiveReadOnly:
+ type: string
subPath:
type: string
subPathExpr:
@@ -15031,6 +16473,9 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - mountPath
+ x-kubernetes-list-type: map
workingDir:
type: string
required:
@@ -15087,6 +16532,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -15101,6 +16547,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -15118,6 +16565,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -15155,6 +16603,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -15180,11 +16629,14 @@ spec:
type: array
insecureIgnoreHostKey:
type: boolean
+ insecureSkipTLS:
+ type: boolean
passwordSecret:
properties:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -15203,6 +16655,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -15215,6 +16668,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -15244,6 +16698,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -15256,6 +16711,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -15268,6 +16724,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -15297,6 +16754,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -15309,6 +16767,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -15324,6 +16783,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -15336,6 +16796,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -15351,6 +16812,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -15363,6 +16825,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -15390,6 +16853,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -15430,6 +16894,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -15459,6 +16924,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -15491,6 +16957,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -15505,6 +16972,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -15530,6 +16998,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -15553,6 +17022,20 @@ spec:
key:
type: string
name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ sessionTokenSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
type: string
optional:
type: boolean
@@ -15593,6 +17076,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -15631,6 +17115,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -15779,6 +17264,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -15793,6 +17279,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -15810,6 +17297,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -15847,6 +17335,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -15872,11 +17361,14 @@ spec:
type: array
insecureIgnoreHostKey:
type: boolean
+ insecureSkipTLS:
+ type: boolean
passwordSecret:
properties:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -15895,6 +17387,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -15907,6 +17400,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -15936,6 +17430,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -15948,6 +17443,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -15960,6 +17456,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -15989,6 +17486,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -16001,6 +17499,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -16016,6 +17515,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -16028,6 +17528,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -16043,6 +17544,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -16055,6 +17557,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -16082,6 +17585,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -16122,6 +17626,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -16151,6 +17656,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -16183,6 +17689,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -16197,6 +17704,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -16222,6 +17730,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -16245,6 +17754,20 @@ spec:
key:
type: string
name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ sessionTokenSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
type: string
optional:
type: boolean
@@ -16287,6 +17810,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -16391,6 +17915,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -16405,6 +17930,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -16422,6 +17948,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -16459,6 +17986,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -16484,11 +18012,14 @@ spec:
type: array
insecureIgnoreHostKey:
type: boolean
+ insecureSkipTLS:
+ type: boolean
passwordSecret:
properties:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -16507,6 +18038,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -16519,6 +18051,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -16548,6 +18081,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -16560,6 +18094,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -16572,6 +18107,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -16601,6 +18137,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -16613,6 +18150,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -16628,6 +18166,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -16640,6 +18179,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -16655,6 +18195,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -16667,6 +18208,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -16694,6 +18236,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -16734,6 +18277,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -16763,6 +18307,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -16795,6 +18340,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -16809,6 +18355,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -16834,6 +18381,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -16857,6 +18405,20 @@ spec:
key:
type: string
name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ sessionTokenSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
type: string
optional:
type: boolean
@@ -16921,10 +18483,12 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
command:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
env:
items:
properties:
@@ -16939,6 +18503,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -16977,6 +18542,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -16989,12 +18555,16 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - name
+ x-kubernetes-list-type: map
envFrom:
items:
properties:
configMapRef:
properties:
name:
+ default: ""
type: string
optional:
type: boolean
@@ -17005,6 +18575,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
optional:
type: boolean
@@ -17012,6 +18583,7 @@ spec:
x-kubernetes-map-type: atomic
type: object
type: array
+ x-kubernetes-list-type: atomic
image:
type: string
imagePullPolicy:
@@ -17026,6 +18598,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
httpGet:
properties:
@@ -17043,6 +18616,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -17055,6 +18629,14 @@ spec:
required:
- port
type: object
+ sleep:
+ properties:
+ seconds:
+ format: int64
+ type: integer
+ required:
+ - seconds
+ type: object
tcpSocket:
properties:
host:
@@ -17076,6 +18658,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
httpGet:
properties:
@@ -17093,6 +18676,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -17105,6 +18689,14 @@ spec:
required:
- port
type: object
+ sleep:
+ properties:
+ seconds:
+ format: int64
+ type: integer
+ required:
+ - seconds
+ type: object
tcpSocket:
properties:
host:
@@ -17127,6 +18719,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -17157,6 +18750,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -17231,6 +18825,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -17261,6 +18856,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -17301,6 +18897,19 @@ spec:
format: int32
type: integer
type: object
+ resizePolicy:
+ items:
+ properties:
+ resourceName:
+ type: string
+ restartPolicy:
+ type: string
+ required:
+ - resourceName
+ - restartPolicy
+ type: object
+ type: array
+ x-kubernetes-list-type: atomic
resources:
properties:
claims:
@@ -17332,20 +18941,33 @@ spec:
x-kubernetes-int-or-string: true
type: object
type: object
+ restartPolicy:
+ type: string
securityContext:
properties:
allowPrivilegeEscalation:
type: boolean
+ appArmorProfile:
+ properties:
+ localhostProfile:
+ type: string
+ type:
+ type: string
+ required:
+ - type
+ type: object
capabilities:
properties:
add:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
drop:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
privileged:
type: boolean
@@ -17403,6 +19025,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -17433,6 +19056,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -17495,6 +19119,9 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - devicePath
+ x-kubernetes-list-type: map
volumeMounts:
items:
properties:
@@ -17506,6 +19133,8 @@ spec:
type: string
readOnly:
type: boolean
+ recursiveReadOnly:
+ type: string
subPath:
type: string
subPathExpr:
@@ -17515,6 +19144,9 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - mountPath
+ x-kubernetes-list-type: map
workingDir:
type: string
required:
@@ -17523,6 +19155,15 @@ spec:
type: object
securityContext:
properties:
+ appArmorProfile:
+ properties:
+ localhostProfile:
+ type: string
+ type:
+ type: string
+ required:
+ - type
+ type: object
fsGroup:
format: int64
type: integer
@@ -17561,6 +19202,7 @@ spec:
format: int64
type: integer
type: array
+ x-kubernetes-list-type: atomic
sysctls:
items:
properties:
@@ -17573,6 +19215,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
windowsOptions:
properties:
gmsaCredentialSpec:
@@ -17594,10 +19237,12 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
command:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
env:
items:
properties:
@@ -17612,6 +19257,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -17650,6 +19296,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -17662,12 +19309,16 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - name
+ x-kubernetes-list-type: map
envFrom:
items:
properties:
configMapRef:
properties:
name:
+ default: ""
type: string
optional:
type: boolean
@@ -17678,6 +19329,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
optional:
type: boolean
@@ -17685,6 +19337,7 @@ spec:
x-kubernetes-map-type: atomic
type: object
type: array
+ x-kubernetes-list-type: atomic
image:
type: string
imagePullPolicy:
@@ -17699,6 +19352,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
httpGet:
properties:
@@ -17716,6 +19370,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -17728,6 +19383,14 @@ spec:
required:
- port
type: object
+ sleep:
+ properties:
+ seconds:
+ format: int64
+ type: integer
+ required:
+ - seconds
+ type: object
tcpSocket:
properties:
host:
@@ -17749,6 +19412,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
httpGet:
properties:
@@ -17766,6 +19430,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -17778,6 +19443,14 @@ spec:
required:
- port
type: object
+ sleep:
+ properties:
+ seconds:
+ format: int64
+ type: integer
+ required:
+ - seconds
+ type: object
tcpSocket:
properties:
host:
@@ -17800,6 +19473,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -17830,6 +19504,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -17906,6 +19581,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -17936,6 +19612,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -17976,6 +19653,19 @@ spec:
format: int32
type: integer
type: object
+ resizePolicy:
+ items:
+ properties:
+ resourceName:
+ type: string
+ restartPolicy:
+ type: string
+ required:
+ - resourceName
+ - restartPolicy
+ type: object
+ type: array
+ x-kubernetes-list-type: atomic
resources:
properties:
claims:
@@ -18007,20 +19697,33 @@ spec:
x-kubernetes-int-or-string: true
type: object
type: object
+ restartPolicy:
+ type: string
securityContext:
properties:
allowPrivilegeEscalation:
type: boolean
+ appArmorProfile:
+ properties:
+ localhostProfile:
+ type: string
+ type:
+ type: string
+ required:
+ - type
+ type: object
capabilities:
properties:
add:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
drop:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
privileged:
type: boolean
@@ -18076,6 +19779,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -18106,6 +19810,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -18168,6 +19873,9 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - devicePath
+ x-kubernetes-list-type: map
volumeMounts:
items:
properties:
@@ -18179,6 +19887,8 @@ spec:
type: string
readOnly:
type: boolean
+ recursiveReadOnly:
+ type: string
subPath:
type: string
subPathExpr:
@@ -18188,6 +19898,9 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - mountPath
+ x-kubernetes-list-type: map
workingDir:
type: string
required:
@@ -18212,6 +19925,15 @@ spec:
namespace:
type: string
type: object
+ mutexes:
+ items:
+ properties:
+ name:
+ type: string
+ namespace:
+ type: string
+ type: object
+ type: array
semaphore:
properties:
configMapKeyRef:
@@ -18219,6 +19941,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -18229,6 +19952,26 @@ spec:
namespace:
type: string
type: object
+ semaphores:
+ items:
+ properties:
+ configMapKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ namespace:
+ type: string
+ type: object
+ type: array
type: object
timeout:
type: string
@@ -18301,6 +20044,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
readOnly:
@@ -18310,6 +20054,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
type: object
x-kubernetes-map-type: atomic
@@ -18327,6 +20072,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
type: object
x-kubernetes-map-type: atomic
@@ -18355,7 +20101,9 @@ spec:
- path
type: object
type: array
+ x-kubernetes-list-type: atomic
name:
+ default: ""
type: string
optional:
type: boolean
@@ -18370,6 +20118,7 @@ spec:
nodePublishSecretRef:
properties:
name:
+ default: ""
type: string
type: object
x-kubernetes-map-type: atomic
@@ -18425,6 +20174,7 @@ spec:
- path
type: object
type: array
+ x-kubernetes-list-type: atomic
type: object
emptyDir:
properties:
@@ -18449,6 +20199,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
dataSource:
properties:
apiGroup:
@@ -18478,18 +20229,6 @@ spec:
type: object
resources:
properties:
- claims:
- items:
- properties:
- name:
- type: string
- required:
- - name
- type: object
- type: array
- x-kubernetes-list-map-keys:
- - name
- x-kubernetes-list-type: map
limits:
additionalProperties:
anyOf:
@@ -18520,11 +20259,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
@@ -18533,6 +20274,8 @@ spec:
x-kubernetes-map-type: atomic
storageClassName:
type: string
+ volumeAttributesClassName:
+ type: string
volumeMode:
type: string
volumeName:
@@ -18555,10 +20298,12 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
wwids:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
flexVolume:
properties:
@@ -18575,6 +20320,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
type: object
x-kubernetes-map-type: atomic
@@ -18655,11 +20401,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
readOnly:
type: boolean
secretRef:
properties:
name:
+ default: ""
type: string
type: object
x-kubernetes-map-type: atomic
@@ -18721,6 +20469,45 @@ spec:
sources:
items:
properties:
+ clusterTrustBundle:
+ properties:
+ labelSelector:
+ properties:
+ matchExpressions:
+ items:
+ properties:
+ key:
+ type: string
+ operator:
+ type: string
+ values:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
+ required:
+ - key
+ - operator
+ type: object
+ type: array
+ x-kubernetes-list-type: atomic
+ matchLabels:
+ additionalProperties:
+ type: string
+ type: object
+ type: object
+ x-kubernetes-map-type: atomic
+ name:
+ type: string
+ optional:
+ type: boolean
+ path:
+ type: string
+ signerName:
+ type: string
+ required:
+ - path
+ type: object
configMap:
properties:
items:
@@ -18738,7 +20525,9 @@ spec:
- path
type: object
type: array
+ x-kubernetes-list-type: atomic
name:
+ default: ""
type: string
optional:
type: boolean
@@ -18784,6 +20573,7 @@ spec:
- path
type: object
type: array
+ x-kubernetes-list-type: atomic
type: object
secret:
properties:
@@ -18802,7 +20592,9 @@ spec:
- path
type: object
type: array
+ x-kubernetes-list-type: atomic
name:
+ default: ""
type: string
optional:
type: boolean
@@ -18822,6 +20614,7 @@ spec:
type: object
type: object
type: array
+ x-kubernetes-list-type: atomic
type: object
quobyte:
properties:
@@ -18853,6 +20646,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
pool:
type: string
readOnly:
@@ -18860,6 +20654,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
type: object
x-kubernetes-map-type: atomic
@@ -18882,6 +20677,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
type: object
x-kubernetes-map-type: atomic
@@ -18920,6 +20716,7 @@ spec:
- path
type: object
type: array
+ x-kubernetes-list-type: atomic
optional:
type: boolean
secretName:
@@ -18934,6 +20731,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
type: object
x-kubernetes-map-type: atomic
@@ -19009,6 +20807,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
dataSource:
properties:
apiGroup:
@@ -19038,18 +20837,6 @@ spec:
type: object
resources:
properties:
- claims:
- items:
- properties:
- name:
- type: string
- required:
- - name
- type: object
- type: array
- x-kubernetes-list-map-keys:
- - name
- x-kubernetes-list-type: map
limits:
additionalProperties:
anyOf:
@@ -19080,11 +20867,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
@@ -19093,6 +20882,8 @@ spec:
x-kubernetes-map-type: atomic
storageClassName:
type: string
+ volumeAttributesClassName:
+ type: string
volumeMode:
type: string
volumeName:
@@ -19104,6 +20895,12 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
+ allocatedResourceStatuses:
+ additionalProperties:
+ type: string
+ type: object
+ x-kubernetes-map-type: granular
allocatedResources:
additionalProperties:
anyOf:
@@ -19142,9 +20939,21 @@ spec:
- type
type: object
type: array
- phase:
+ x-kubernetes-list-map-keys:
+ - type
+ x-kubernetes-list-type: map
+ currentVolumeAttributesClassName:
type: string
- resizeStatus:
+ modifyVolumeStatus:
+ properties:
+ status:
+ type: string
+ targetVolumeAttributesClassName:
+ type: string
+ required:
+ - status
+ type: object
+ phase:
type: string
type: object
type: object
@@ -19202,6 +21011,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
readOnly:
@@ -19211,6 +21021,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
type: object
x-kubernetes-map-type: atomic
@@ -19228,6 +21039,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
type: object
x-kubernetes-map-type: atomic
@@ -19256,7 +21068,9 @@ spec:
- path
type: object
type: array
+ x-kubernetes-list-type: atomic
name:
+ default: ""
type: string
optional:
type: boolean
@@ -19271,6 +21085,7 @@ spec:
nodePublishSecretRef:
properties:
name:
+ default: ""
type: string
type: object
x-kubernetes-map-type: atomic
@@ -19326,6 +21141,7 @@ spec:
- path
type: object
type: array
+ x-kubernetes-list-type: atomic
type: object
emptyDir:
properties:
@@ -19350,6 +21166,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
dataSource:
properties:
apiGroup:
@@ -19379,18 +21196,6 @@ spec:
type: object
resources:
properties:
- claims:
- items:
- properties:
- name:
- type: string
- required:
- - name
- type: object
- type: array
- x-kubernetes-list-map-keys:
- - name
- x-kubernetes-list-type: map
limits:
additionalProperties:
anyOf:
@@ -19421,11 +21226,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
@@ -19434,6 +21241,8 @@ spec:
x-kubernetes-map-type: atomic
storageClassName:
type: string
+ volumeAttributesClassName:
+ type: string
volumeMode:
type: string
volumeName:
@@ -19456,10 +21265,12 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
wwids:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
flexVolume:
properties:
@@ -19476,6 +21287,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
type: object
x-kubernetes-map-type: atomic
@@ -19556,11 +21368,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
readOnly:
type: boolean
secretRef:
properties:
name:
+ default: ""
type: string
type: object
x-kubernetes-map-type: atomic
@@ -19622,6 +21436,45 @@ spec:
sources:
items:
properties:
+ clusterTrustBundle:
+ properties:
+ labelSelector:
+ properties:
+ matchExpressions:
+ items:
+ properties:
+ key:
+ type: string
+ operator:
+ type: string
+ values:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
+ required:
+ - key
+ - operator
+ type: object
+ type: array
+ x-kubernetes-list-type: atomic
+ matchLabels:
+ additionalProperties:
+ type: string
+ type: object
+ type: object
+ x-kubernetes-map-type: atomic
+ name:
+ type: string
+ optional:
+ type: boolean
+ path:
+ type: string
+ signerName:
+ type: string
+ required:
+ - path
+ type: object
configMap:
properties:
items:
@@ -19639,7 +21492,9 @@ spec:
- path
type: object
type: array
+ x-kubernetes-list-type: atomic
name:
+ default: ""
type: string
optional:
type: boolean
@@ -19685,6 +21540,7 @@ spec:
- path
type: object
type: array
+ x-kubernetes-list-type: atomic
type: object
secret:
properties:
@@ -19703,7 +21559,9 @@ spec:
- path
type: object
type: array
+ x-kubernetes-list-type: atomic
name:
+ default: ""
type: string
optional:
type: boolean
@@ -19723,6 +21581,7 @@ spec:
type: object
type: object
type: array
+ x-kubernetes-list-type: atomic
type: object
quobyte:
properties:
@@ -19754,6 +21613,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
pool:
type: string
readOnly:
@@ -19761,6 +21621,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
type: object
x-kubernetes-map-type: atomic
@@ -19783,6 +21644,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
type: object
x-kubernetes-map-type: atomic
@@ -19821,6 +21683,7 @@ spec:
- path
type: object
type: array
+ x-kubernetes-list-type: atomic
optional:
type: boolean
secretName:
@@ -19835,6 +21698,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
type: object
x-kubernetes-map-type: atomic
diff --git a/manifests/base/crds/full/argoproj.io_cronworkflows.yaml b/manifests/base/crds/full/argoproj.io_cronworkflows.yaml
index da78fb79a824..2f40c0771299 100644
--- a/manifests/base/crds/full/argoproj.io_cronworkflows.yaml
+++ b/manifests/base/crds/full/argoproj.io_cronworkflows.yaml
@@ -43,10 +43,10 @@ spec:
type: integer
stopStrategy:
properties:
- condition:
+ expression:
type: string
required:
- - condition
+ - expression
type: object
successfulJobsHistoryLimit:
format: int32
@@ -55,6 +55,8 @@ spec:
type: boolean
timezone:
type: string
+ when:
+ type: string
workflowMetadata:
type: object
workflowSpec:
@@ -82,11 +84,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchFields:
items:
properties:
@@ -98,11 +102,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
type: object
x-kubernetes-map-type: atomic
weight:
@@ -113,6 +119,7 @@ spec:
- weight
type: object
type: array
+ x-kubernetes-list-type: atomic
requiredDuringSchedulingIgnoredDuringExecution:
properties:
nodeSelectorTerms:
@@ -129,11 +136,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchFields:
items:
properties:
@@ -145,14 +154,17 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
type: object
x-kubernetes-map-type: atomic
type: array
+ x-kubernetes-list-type: atomic
required:
- nodeSelectorTerms
type: object
@@ -178,17 +190,29 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
type: object
type: object
x-kubernetes-map-type: atomic
+ matchLabelKeys:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
+ mismatchLabelKeys:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
namespaceSelector:
properties:
matchExpressions:
@@ -202,11 +226,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
@@ -217,6 +243,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
topologyKey:
type: string
required:
@@ -230,6 +257,7 @@ spec:
- weight
type: object
type: array
+ x-kubernetes-list-type: atomic
requiredDuringSchedulingIgnoredDuringExecution:
items:
properties:
@@ -246,17 +274,29 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
type: object
type: object
x-kubernetes-map-type: atomic
+ matchLabelKeys:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
+ mismatchLabelKeys:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
namespaceSelector:
properties:
matchExpressions:
@@ -270,11 +310,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
@@ -285,12 +327,14 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
topologyKey:
type: string
required:
- topologyKey
type: object
type: array
+ x-kubernetes-list-type: atomic
type: object
podAntiAffinity:
properties:
@@ -312,17 +356,29 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
type: object
type: object
x-kubernetes-map-type: atomic
+ matchLabelKeys:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
+ mismatchLabelKeys:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
namespaceSelector:
properties:
matchExpressions:
@@ -336,11 +392,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
@@ -351,6 +409,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
topologyKey:
type: string
required:
@@ -364,6 +423,7 @@ spec:
- weight
type: object
type: array
+ x-kubernetes-list-type: atomic
requiredDuringSchedulingIgnoredDuringExecution:
items:
properties:
@@ -380,17 +440,29 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
type: object
type: object
x-kubernetes-map-type: atomic
+ matchLabelKeys:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
+ mismatchLabelKeys:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
namespaceSelector:
properties:
matchExpressions:
@@ -404,11 +476,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
@@ -419,12 +493,14 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
topologyKey:
type: string
required:
- topologyKey
type: object
type: array
+ x-kubernetes-list-type: atomic
type: object
type: object
archiveLogs:
@@ -479,6 +555,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -493,6 +570,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -510,6 +588,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -547,6 +626,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -572,11 +652,14 @@ spec:
type: array
insecureIgnoreHostKey:
type: boolean
+ insecureSkipTLS:
+ type: boolean
passwordSecret:
properties:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -595,6 +678,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -607,6 +691,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -636,6 +721,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -648,6 +734,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -660,6 +747,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -689,6 +777,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -701,6 +790,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -716,6 +806,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -728,6 +819,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -743,6 +835,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -755,6 +848,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -782,6 +876,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -822,6 +917,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -851,6 +947,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -883,6 +980,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -897,6 +995,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -922,6 +1021,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -945,6 +1045,20 @@ spec:
key:
type: string
name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ sessionTokenSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
type: string
optional:
type: boolean
@@ -985,6 +1099,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -1056,6 +1171,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
options:
items:
properties:
@@ -1065,10 +1181,12 @@ spec:
type: string
type: object
type: array
+ x-kubernetes-list-type: atomic
searches:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
dnsPolicy:
type: string
@@ -1132,6 +1250,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -1146,6 +1265,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -1163,6 +1283,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -1200,6 +1321,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -1225,11 +1347,14 @@ spec:
type: array
insecureIgnoreHostKey:
type: boolean
+ insecureSkipTLS:
+ type: boolean
passwordSecret:
properties:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -1248,6 +1373,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -1260,6 +1386,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -1289,6 +1416,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -1301,6 +1429,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -1313,6 +1442,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -1342,6 +1472,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -1354,6 +1485,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -1369,6 +1501,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -1381,6 +1514,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -1396,6 +1530,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -1408,6 +1543,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -1435,6 +1571,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -1475,6 +1612,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -1504,6 +1642,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -1536,6 +1675,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -1550,6 +1690,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -1575,6 +1716,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -1598,6 +1740,20 @@ spec:
key:
type: string
name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ sessionTokenSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
type: string
optional:
type: boolean
@@ -1638,6 +1794,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -1689,8 +1846,11 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
ip:
type: string
+ required:
+ - ip
type: object
type: array
hostNetwork:
@@ -1699,6 +1859,7 @@ spec:
items:
properties:
name:
+ default: ""
type: string
type: object
x-kubernetes-map-type: atomic
@@ -1799,11 +1960,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
@@ -1830,11 +1993,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
@@ -1898,6 +2063,15 @@ spec:
type: string
securityContext:
properties:
+ appArmorProfile:
+ properties:
+ localhostProfile:
+ type: string
+ type:
+ type: string
+ required:
+ - type
+ type: object
fsGroup:
format: int64
type: integer
@@ -1936,6 +2110,7 @@ spec:
format: int64
type: integer
type: array
+ x-kubernetes-list-type: atomic
sysctls:
items:
properties:
@@ -1948,6 +2123,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
windowsOptions:
properties:
gmsaCredentialSpec:
@@ -1975,6 +2151,15 @@ spec:
namespace:
type: string
type: object
+ mutexes:
+ items:
+ properties:
+ name:
+ type: string
+ namespace:
+ type: string
+ type: object
+ type: array
semaphore:
properties:
configMapKeyRef:
@@ -1982,6 +2167,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -1992,6 +2178,26 @@ spec:
namespace:
type: string
type: object
+ semaphores:
+ items:
+ properties:
+ configMapKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ namespace:
+ type: string
+ type: object
+ type: array
type: object
templateDefaults:
properties:
@@ -2020,11 +2226,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchFields:
items:
properties:
@@ -2036,11 +2244,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
type: object
x-kubernetes-map-type: atomic
weight:
@@ -2051,6 +2261,7 @@ spec:
- weight
type: object
type: array
+ x-kubernetes-list-type: atomic
requiredDuringSchedulingIgnoredDuringExecution:
properties:
nodeSelectorTerms:
@@ -2067,11 +2278,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchFields:
items:
properties:
@@ -2083,14 +2296,17 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
type: object
x-kubernetes-map-type: atomic
type: array
+ x-kubernetes-list-type: atomic
required:
- nodeSelectorTerms
type: object
@@ -2116,17 +2332,29 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
type: object
type: object
x-kubernetes-map-type: atomic
+ matchLabelKeys:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
+ mismatchLabelKeys:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
namespaceSelector:
properties:
matchExpressions:
@@ -2140,11 +2368,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
@@ -2155,6 +2385,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
topologyKey:
type: string
required:
@@ -2168,6 +2399,7 @@ spec:
- weight
type: object
type: array
+ x-kubernetes-list-type: atomic
requiredDuringSchedulingIgnoredDuringExecution:
items:
properties:
@@ -2184,17 +2416,29 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
type: object
type: object
x-kubernetes-map-type: atomic
+ matchLabelKeys:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
+ mismatchLabelKeys:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
namespaceSelector:
properties:
matchExpressions:
@@ -2208,11 +2452,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
@@ -2223,12 +2469,14 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
topologyKey:
type: string
required:
- topologyKey
type: object
type: array
+ x-kubernetes-list-type: atomic
type: object
podAntiAffinity:
properties:
@@ -2250,17 +2498,29 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
type: object
type: object
x-kubernetes-map-type: atomic
+ matchLabelKeys:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
+ mismatchLabelKeys:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
namespaceSelector:
properties:
matchExpressions:
@@ -2274,11 +2534,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
@@ -2289,6 +2551,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
topologyKey:
type: string
required:
@@ -2302,6 +2565,7 @@ spec:
- weight
type: object
type: array
+ x-kubernetes-list-type: atomic
requiredDuringSchedulingIgnoredDuringExecution:
items:
properties:
@@ -2318,17 +2582,29 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
type: object
type: object
x-kubernetes-map-type: atomic
+ matchLabelKeys:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
+ mismatchLabelKeys:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
namespaceSelector:
properties:
matchExpressions:
@@ -2342,11 +2618,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
@@ -2357,12 +2635,14 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
topologyKey:
type: string
required:
- topologyKey
type: object
type: array
+ x-kubernetes-list-type: atomic
type: object
type: object
archiveLocation:
@@ -2376,6 +2656,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -2390,6 +2671,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -2407,6 +2689,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -2438,6 +2721,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -2463,11 +2747,14 @@ spec:
type: array
insecureIgnoreHostKey:
type: boolean
+ insecureSkipTLS:
+ type: boolean
passwordSecret:
properties:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -2486,6 +2773,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -2498,6 +2786,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -2525,6 +2814,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -2537,6 +2827,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -2549,6 +2840,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -2578,6 +2870,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -2590,6 +2883,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -2605,6 +2899,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -2617,6 +2912,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -2632,6 +2928,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -2644,6 +2941,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -2671,6 +2969,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -2704,6 +3003,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -2733,6 +3033,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -2761,6 +3062,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -2775,6 +3077,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -2800,6 +3103,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -2823,6 +3127,20 @@ spec:
key:
type: string
name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ sessionTokenSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
type: string
optional:
type: boolean
@@ -2842,10 +3160,12 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
command:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
env:
items:
properties:
@@ -2860,6 +3180,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -2898,6 +3219,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -2910,12 +3232,16 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - name
+ x-kubernetes-list-type: map
envFrom:
items:
properties:
configMapRef:
properties:
name:
+ default: ""
type: string
optional:
type: boolean
@@ -2926,6 +3252,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
optional:
type: boolean
@@ -2933,6 +3260,7 @@ spec:
x-kubernetes-map-type: atomic
type: object
type: array
+ x-kubernetes-list-type: atomic
image:
type: string
imagePullPolicy:
@@ -2947,6 +3275,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
httpGet:
properties:
@@ -2964,6 +3293,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -2976,6 +3306,14 @@ spec:
required:
- port
type: object
+ sleep:
+ properties:
+ seconds:
+ format: int64
+ type: integer
+ required:
+ - seconds
+ type: object
tcpSocket:
properties:
host:
@@ -2997,6 +3335,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
httpGet:
properties:
@@ -3014,6 +3353,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -3026,6 +3366,14 @@ spec:
required:
- port
type: object
+ sleep:
+ properties:
+ seconds:
+ format: int64
+ type: integer
+ required:
+ - seconds
+ type: object
tcpSocket:
properties:
host:
@@ -3048,6 +3396,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -3078,6 +3427,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -3152,6 +3502,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -3182,6 +3533,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -3222,6 +3574,19 @@ spec:
format: int32
type: integer
type: object
+ resizePolicy:
+ items:
+ properties:
+ resourceName:
+ type: string
+ restartPolicy:
+ type: string
+ required:
+ - resourceName
+ - restartPolicy
+ type: object
+ type: array
+ x-kubernetes-list-type: atomic
resources:
properties:
claims:
@@ -3253,20 +3618,33 @@ spec:
x-kubernetes-int-or-string: true
type: object
type: object
+ restartPolicy:
+ type: string
securityContext:
properties:
allowPrivilegeEscalation:
type: boolean
+ appArmorProfile:
+ properties:
+ localhostProfile:
+ type: string
+ type:
+ type: string
+ required:
+ - type
+ type: object
capabilities:
properties:
add:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
drop:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
privileged:
type: boolean
@@ -3322,6 +3700,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -3352,6 +3731,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -3414,6 +3794,9 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - devicePath
+ x-kubernetes-list-type: map
volumeMounts:
items:
properties:
@@ -3425,6 +3808,8 @@ spec:
type: string
readOnly:
type: boolean
+ recursiveReadOnly:
+ type: string
subPath:
type: string
subPathExpr:
@@ -3434,6 +3819,9 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - mountPath
+ x-kubernetes-list-type: map
workingDir:
type: string
required:
@@ -3448,10 +3836,12 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
command:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
dependencies:
items:
type: string
@@ -3470,6 +3860,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -3508,6 +3899,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -3520,12 +3912,16 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - name
+ x-kubernetes-list-type: map
envFrom:
items:
properties:
configMapRef:
properties:
name:
+ default: ""
type: string
optional:
type: boolean
@@ -3536,6 +3932,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
optional:
type: boolean
@@ -3543,6 +3940,7 @@ spec:
x-kubernetes-map-type: atomic
type: object
type: array
+ x-kubernetes-list-type: atomic
image:
type: string
imagePullPolicy:
@@ -3557,6 +3955,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
httpGet:
properties:
@@ -3574,6 +3973,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -3586,6 +3986,14 @@ spec:
required:
- port
type: object
+ sleep:
+ properties:
+ seconds:
+ format: int64
+ type: integer
+ required:
+ - seconds
+ type: object
tcpSocket:
properties:
host:
@@ -3607,6 +4015,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
httpGet:
properties:
@@ -3624,6 +4033,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -3636,6 +4046,14 @@ spec:
required:
- port
type: object
+ sleep:
+ properties:
+ seconds:
+ format: int64
+ type: integer
+ required:
+ - seconds
+ type: object
tcpSocket:
properties:
host:
@@ -3658,6 +4076,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -3688,6 +4107,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -3762,6 +4182,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -3792,6 +4213,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -3832,6 +4254,19 @@ spec:
format: int32
type: integer
type: object
+ resizePolicy:
+ items:
+ properties:
+ resourceName:
+ type: string
+ restartPolicy:
+ type: string
+ required:
+ - resourceName
+ - restartPolicy
+ type: object
+ type: array
+ x-kubernetes-list-type: atomic
resources:
properties:
claims:
@@ -3863,20 +4298,33 @@ spec:
x-kubernetes-int-or-string: true
type: object
type: object
+ restartPolicy:
+ type: string
securityContext:
properties:
allowPrivilegeEscalation:
type: boolean
+ appArmorProfile:
+ properties:
+ localhostProfile:
+ type: string
+ type:
+ type: string
+ required:
+ - type
+ type: object
capabilities:
properties:
add:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
drop:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
privileged:
type: boolean
@@ -3932,6 +4380,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -3962,6 +4411,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -4024,6 +4474,9 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - devicePath
+ x-kubernetes-list-type: map
volumeMounts:
items:
properties:
@@ -4035,6 +4488,8 @@ spec:
type: string
readOnly:
type: boolean
+ recursiveReadOnly:
+ type: string
subPath:
type: string
subPathExpr:
@@ -4044,6 +4499,9 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - mountPath
+ x-kubernetes-list-type: map
workingDir:
type: string
required:
@@ -4073,6 +4531,8 @@ spec:
type: string
readOnly:
type: boolean
+ recursiveReadOnly:
+ type: string
subPath:
type: string
subPathExpr:
@@ -4146,6 +4606,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4160,6 +4621,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4177,6 +4639,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4214,6 +4677,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4239,11 +4703,14 @@ spec:
type: array
insecureIgnoreHostKey:
type: boolean
+ insecureSkipTLS:
+ type: boolean
passwordSecret:
properties:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4262,6 +4729,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4274,6 +4742,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4303,6 +4772,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4315,6 +4785,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4327,6 +4798,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4356,6 +4828,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4368,6 +4841,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4383,6 +4857,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4395,6 +4870,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4410,6 +4886,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4422,6 +4899,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4449,6 +4927,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4489,6 +4968,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4518,6 +4998,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4550,6 +5031,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4564,6 +5046,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4589,6 +5072,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4612,6 +5096,20 @@ spec:
key:
type: string
name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ sessionTokenSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
type: string
optional:
type: boolean
@@ -4652,6 +5150,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4747,6 +5246,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4761,6 +5261,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4778,6 +5279,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4815,6 +5317,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4840,11 +5343,14 @@ spec:
type: array
insecureIgnoreHostKey:
type: boolean
+ insecureSkipTLS:
+ type: boolean
passwordSecret:
properties:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4863,6 +5369,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4875,6 +5382,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4904,6 +5412,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4916,6 +5425,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4928,6 +5438,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4957,6 +5468,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4969,6 +5481,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4984,6 +5497,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4996,6 +5510,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -5011,6 +5526,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -5023,6 +5539,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -5050,6 +5567,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -5090,6 +5608,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -5119,6 +5638,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -5151,6 +5671,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -5165,6 +5686,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -5190,6 +5712,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -5213,6 +5736,20 @@ spec:
key:
type: string
name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ sessionTokenSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
type: string
optional:
type: boolean
@@ -5253,6 +5790,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -5399,6 +5937,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -5413,6 +5952,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -5430,6 +5970,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -5467,6 +6008,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -5492,11 +6034,14 @@ spec:
type: array
insecureIgnoreHostKey:
type: boolean
+ insecureSkipTLS:
+ type: boolean
passwordSecret:
properties:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -5515,6 +6060,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -5527,6 +6073,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -5556,6 +6103,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -5568,6 +6116,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -5580,6 +6129,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -5609,6 +6159,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -5621,6 +6172,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -5636,6 +6188,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -5648,6 +6201,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -5663,6 +6217,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -5675,6 +6230,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -5702,6 +6258,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -5742,6 +6299,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -5771,6 +6329,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -5803,6 +6362,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -5817,6 +6377,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -5842,6 +6403,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -5865,6 +6427,20 @@ spec:
key:
type: string
name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ sessionTokenSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
type: string
optional:
type: boolean
@@ -5908,8 +6484,11 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
ip:
type: string
+ required:
+ - ip
type: object
type: array
http:
@@ -5936,6 +6515,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -5969,10 +6549,12 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
command:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
env:
items:
properties:
@@ -5987,6 +6569,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -6025,6 +6608,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -6037,12 +6621,16 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - name
+ x-kubernetes-list-type: map
envFrom:
items:
properties:
configMapRef:
properties:
name:
+ default: ""
type: string
optional:
type: boolean
@@ -6053,6 +6641,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
optional:
type: boolean
@@ -6060,6 +6649,7 @@ spec:
x-kubernetes-map-type: atomic
type: object
type: array
+ x-kubernetes-list-type: atomic
image:
type: string
imagePullPolicy:
@@ -6074,6 +6664,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
httpGet:
properties:
@@ -6091,6 +6682,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -6103,6 +6695,14 @@ spec:
required:
- port
type: object
+ sleep:
+ properties:
+ seconds:
+ format: int64
+ type: integer
+ required:
+ - seconds
+ type: object
tcpSocket:
properties:
host:
@@ -6124,6 +6724,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
httpGet:
properties:
@@ -6141,6 +6742,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -6153,6 +6755,14 @@ spec:
required:
- port
type: object
+ sleep:
+ properties:
+ seconds:
+ format: int64
+ type: integer
+ required:
+ - seconds
+ type: object
tcpSocket:
properties:
host:
@@ -6175,6 +6785,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -6205,6 +6816,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -6281,6 +6893,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -6311,6 +6924,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -6351,6 +6965,19 @@ spec:
format: int32
type: integer
type: object
+ resizePolicy:
+ items:
+ properties:
+ resourceName:
+ type: string
+ restartPolicy:
+ type: string
+ required:
+ - resourceName
+ - restartPolicy
+ type: object
+ type: array
+ x-kubernetes-list-type: atomic
resources:
properties:
claims:
@@ -6382,20 +7009,33 @@ spec:
x-kubernetes-int-or-string: true
type: object
type: object
+ restartPolicy:
+ type: string
securityContext:
properties:
allowPrivilegeEscalation:
type: boolean
+ appArmorProfile:
+ properties:
+ localhostProfile:
+ type: string
+ type:
+ type: string
+ required:
+ - type
+ type: object
capabilities:
properties:
add:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
drop:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
privileged:
type: boolean
@@ -6451,6 +7091,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -6481,6 +7122,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -6543,8 +7185,11 @@ spec:
- name
type: object
type: array
- volumeMounts:
- items:
+ x-kubernetes-list-map-keys:
+ - devicePath
+ x-kubernetes-list-type: map
+ volumeMounts:
+ items:
properties:
mountPath:
type: string
@@ -6554,6 +7199,8 @@ spec:
type: string
readOnly:
type: boolean
+ recursiveReadOnly:
+ type: string
subPath:
type: string
subPathExpr:
@@ -6563,6 +7210,9 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - mountPath
+ x-kubernetes-list-type: map
workingDir:
type: string
required:
@@ -6619,6 +7269,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -6633,6 +7284,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -6650,6 +7302,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -6687,6 +7340,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -6712,11 +7366,14 @@ spec:
type: array
insecureIgnoreHostKey:
type: boolean
+ insecureSkipTLS:
+ type: boolean
passwordSecret:
properties:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -6735,6 +7392,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -6747,6 +7405,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -6776,6 +7435,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -6788,6 +7448,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -6800,6 +7461,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -6829,6 +7491,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -6841,6 +7504,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -6856,6 +7520,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -6868,6 +7533,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -6883,6 +7549,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -6895,6 +7562,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -6922,6 +7590,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -6962,6 +7631,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -6991,6 +7661,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -7023,6 +7694,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -7037,6 +7709,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -7062,6 +7735,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -7085,6 +7759,20 @@ spec:
key:
type: string
name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ sessionTokenSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
type: string
optional:
type: boolean
@@ -7125,6 +7813,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -7163,6 +7852,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -7311,6 +8001,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -7325,6 +8016,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -7342,6 +8034,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -7379,6 +8072,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -7404,11 +8098,14 @@ spec:
type: array
insecureIgnoreHostKey:
type: boolean
+ insecureSkipTLS:
+ type: boolean
passwordSecret:
properties:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -7427,6 +8124,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -7439,6 +8137,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -7468,6 +8167,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -7480,6 +8180,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -7492,6 +8193,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -7521,6 +8223,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -7533,6 +8236,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -7548,6 +8252,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -7560,6 +8265,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -7575,6 +8281,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -7587,6 +8294,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -7614,6 +8322,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -7654,6 +8363,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -7683,6 +8393,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -7715,6 +8426,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -7729,6 +8441,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -7754,6 +8467,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -7777,6 +8491,20 @@ spec:
key:
type: string
name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ sessionTokenSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
type: string
optional:
type: boolean
@@ -7819,6 +8547,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -7923,6 +8652,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -7937,6 +8667,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -7954,6 +8685,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -7991,6 +8723,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -8016,11 +8749,14 @@ spec:
type: array
insecureIgnoreHostKey:
type: boolean
+ insecureSkipTLS:
+ type: boolean
passwordSecret:
properties:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -8039,6 +8775,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -8051,6 +8788,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -8080,6 +8818,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -8092,6 +8831,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -8104,6 +8844,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -8133,6 +8874,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -8145,6 +8887,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -8160,6 +8903,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -8172,6 +8916,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -8187,6 +8932,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -8199,6 +8945,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -8226,6 +8973,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -8266,6 +9014,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -8295,6 +9044,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -8327,6 +9077,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -8341,6 +9092,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -8366,6 +9118,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -8389,6 +9142,20 @@ spec:
key:
type: string
name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ sessionTokenSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
type: string
optional:
type: boolean
@@ -8453,10 +9220,12 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
command:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
env:
items:
properties:
@@ -8471,6 +9240,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -8509,6 +9279,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -8521,12 +9292,16 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - name
+ x-kubernetes-list-type: map
envFrom:
items:
properties:
configMapRef:
properties:
name:
+ default: ""
type: string
optional:
type: boolean
@@ -8537,6 +9312,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
optional:
type: boolean
@@ -8544,6 +9320,7 @@ spec:
x-kubernetes-map-type: atomic
type: object
type: array
+ x-kubernetes-list-type: atomic
image:
type: string
imagePullPolicy:
@@ -8558,6 +9335,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
httpGet:
properties:
@@ -8575,6 +9353,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -8587,6 +9366,14 @@ spec:
required:
- port
type: object
+ sleep:
+ properties:
+ seconds:
+ format: int64
+ type: integer
+ required:
+ - seconds
+ type: object
tcpSocket:
properties:
host:
@@ -8608,6 +9395,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
httpGet:
properties:
@@ -8625,6 +9413,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -8637,6 +9426,14 @@ spec:
required:
- port
type: object
+ sleep:
+ properties:
+ seconds:
+ format: int64
+ type: integer
+ required:
+ - seconds
+ type: object
tcpSocket:
properties:
host:
@@ -8659,6 +9456,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -8689,6 +9487,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -8763,6 +9562,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -8793,6 +9593,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -8833,6 +9634,19 @@ spec:
format: int32
type: integer
type: object
+ resizePolicy:
+ items:
+ properties:
+ resourceName:
+ type: string
+ restartPolicy:
+ type: string
+ required:
+ - resourceName
+ - restartPolicy
+ type: object
+ type: array
+ x-kubernetes-list-type: atomic
resources:
properties:
claims:
@@ -8864,20 +9678,33 @@ spec:
x-kubernetes-int-or-string: true
type: object
type: object
+ restartPolicy:
+ type: string
securityContext:
properties:
allowPrivilegeEscalation:
type: boolean
+ appArmorProfile:
+ properties:
+ localhostProfile:
+ type: string
+ type:
+ type: string
+ required:
+ - type
+ type: object
capabilities:
properties:
add:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
drop:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
privileged:
type: boolean
@@ -8935,6 +9762,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -8965,6 +9793,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -9027,6 +9856,9 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - devicePath
+ x-kubernetes-list-type: map
volumeMounts:
items:
properties:
@@ -9038,6 +9870,8 @@ spec:
type: string
readOnly:
type: boolean
+ recursiveReadOnly:
+ type: string
subPath:
type: string
subPathExpr:
@@ -9047,6 +9881,9 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - mountPath
+ x-kubernetes-list-type: map
workingDir:
type: string
required:
@@ -9055,6 +9892,15 @@ spec:
type: object
securityContext:
properties:
+ appArmorProfile:
+ properties:
+ localhostProfile:
+ type: string
+ type:
+ type: string
+ required:
+ - type
+ type: object
fsGroup:
format: int64
type: integer
@@ -9093,6 +9939,7 @@ spec:
format: int64
type: integer
type: array
+ x-kubernetes-list-type: atomic
sysctls:
items:
properties:
@@ -9105,6 +9952,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
windowsOptions:
properties:
gmsaCredentialSpec:
@@ -9126,10 +9974,12 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
command:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
env:
items:
properties:
@@ -9144,6 +9994,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -9182,6 +10033,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -9194,12 +10046,16 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - name
+ x-kubernetes-list-type: map
envFrom:
items:
properties:
configMapRef:
properties:
name:
+ default: ""
type: string
optional:
type: boolean
@@ -9210,6 +10066,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
optional:
type: boolean
@@ -9217,6 +10074,7 @@ spec:
x-kubernetes-map-type: atomic
type: object
type: array
+ x-kubernetes-list-type: atomic
image:
type: string
imagePullPolicy:
@@ -9231,6 +10089,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
httpGet:
properties:
@@ -9248,6 +10107,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -9260,6 +10120,14 @@ spec:
required:
- port
type: object
+ sleep:
+ properties:
+ seconds:
+ format: int64
+ type: integer
+ required:
+ - seconds
+ type: object
tcpSocket:
properties:
host:
@@ -9281,6 +10149,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
httpGet:
properties:
@@ -9298,6 +10167,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -9310,6 +10180,14 @@ spec:
required:
- port
type: object
+ sleep:
+ properties:
+ seconds:
+ format: int64
+ type: integer
+ required:
+ - seconds
+ type: object
tcpSocket:
properties:
host:
@@ -9332,6 +10210,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -9362,6 +10241,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -9438,6 +10318,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -9468,6 +10349,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -9508,6 +10390,19 @@ spec:
format: int32
type: integer
type: object
+ resizePolicy:
+ items:
+ properties:
+ resourceName:
+ type: string
+ restartPolicy:
+ type: string
+ required:
+ - resourceName
+ - restartPolicy
+ type: object
+ type: array
+ x-kubernetes-list-type: atomic
resources:
properties:
claims:
@@ -9539,20 +10434,33 @@ spec:
x-kubernetes-int-or-string: true
type: object
type: object
+ restartPolicy:
+ type: string
securityContext:
properties:
allowPrivilegeEscalation:
type: boolean
+ appArmorProfile:
+ properties:
+ localhostProfile:
+ type: string
+ type:
+ type: string
+ required:
+ - type
+ type: object
capabilities:
properties:
add:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
drop:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
privileged:
type: boolean
@@ -9608,6 +10516,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -9638,6 +10547,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -9700,6 +10610,9 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - devicePath
+ x-kubernetes-list-type: map
volumeMounts:
items:
properties:
@@ -9711,6 +10624,8 @@ spec:
type: string
readOnly:
type: boolean
+ recursiveReadOnly:
+ type: string
subPath:
type: string
subPathExpr:
@@ -9720,6 +10635,9 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - mountPath
+ x-kubernetes-list-type: map
workingDir:
type: string
required:
@@ -9744,6 +10662,15 @@ spec:
namespace:
type: string
type: object
+ mutexes:
+ items:
+ properties:
+ name:
+ type: string
+ namespace:
+ type: string
+ type: object
+ type: array
semaphore:
properties:
configMapKeyRef:
@@ -9751,6 +10678,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -9761,6 +10689,26 @@ spec:
namespace:
type: string
type: object
+ semaphores:
+ items:
+ properties:
+ configMapKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ namespace:
+ type: string
+ type: object
+ type: array
type: object
timeout:
type: string
@@ -9833,6 +10781,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
readOnly:
@@ -9842,6 +10791,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
type: object
x-kubernetes-map-type: atomic
@@ -9859,6 +10809,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
type: object
x-kubernetes-map-type: atomic
@@ -9887,7 +10838,9 @@ spec:
- path
type: object
type: array
+ x-kubernetes-list-type: atomic
name:
+ default: ""
type: string
optional:
type: boolean
@@ -9902,6 +10855,7 @@ spec:
nodePublishSecretRef:
properties:
name:
+ default: ""
type: string
type: object
x-kubernetes-map-type: atomic
@@ -9957,6 +10911,7 @@ spec:
- path
type: object
type: array
+ x-kubernetes-list-type: atomic
type: object
emptyDir:
properties:
@@ -9981,6 +10936,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
dataSource:
properties:
apiGroup:
@@ -10010,18 +10966,6 @@ spec:
type: object
resources:
properties:
- claims:
- items:
- properties:
- name:
- type: string
- required:
- - name
- type: object
- type: array
- x-kubernetes-list-map-keys:
- - name
- x-kubernetes-list-type: map
limits:
additionalProperties:
anyOf:
@@ -10052,11 +10996,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
@@ -10065,6 +11011,8 @@ spec:
x-kubernetes-map-type: atomic
storageClassName:
type: string
+ volumeAttributesClassName:
+ type: string
volumeMode:
type: string
volumeName:
@@ -10087,10 +11035,12 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
wwids:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
flexVolume:
properties:
@@ -10107,6 +11057,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
type: object
x-kubernetes-map-type: atomic
@@ -10187,11 +11138,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
readOnly:
type: boolean
secretRef:
properties:
name:
+ default: ""
type: string
type: object
x-kubernetes-map-type: atomic
@@ -10253,6 +11206,45 @@ spec:
sources:
items:
properties:
+ clusterTrustBundle:
+ properties:
+ labelSelector:
+ properties:
+ matchExpressions:
+ items:
+ properties:
+ key:
+ type: string
+ operator:
+ type: string
+ values:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
+ required:
+ - key
+ - operator
+ type: object
+ type: array
+ x-kubernetes-list-type: atomic
+ matchLabels:
+ additionalProperties:
+ type: string
+ type: object
+ type: object
+ x-kubernetes-map-type: atomic
+ name:
+ type: string
+ optional:
+ type: boolean
+ path:
+ type: string
+ signerName:
+ type: string
+ required:
+ - path
+ type: object
configMap:
properties:
items:
@@ -10270,7 +11262,9 @@ spec:
- path
type: object
type: array
+ x-kubernetes-list-type: atomic
name:
+ default: ""
type: string
optional:
type: boolean
@@ -10316,6 +11310,7 @@ spec:
- path
type: object
type: array
+ x-kubernetes-list-type: atomic
type: object
secret:
properties:
@@ -10334,7 +11329,9 @@ spec:
- path
type: object
type: array
+ x-kubernetes-list-type: atomic
name:
+ default: ""
type: string
optional:
type: boolean
@@ -10354,6 +11351,7 @@ spec:
type: object
type: object
type: array
+ x-kubernetes-list-type: atomic
type: object
quobyte:
properties:
@@ -10385,6 +11383,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
pool:
type: string
readOnly:
@@ -10392,6 +11391,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
type: object
x-kubernetes-map-type: atomic
@@ -10414,6 +11414,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
type: object
x-kubernetes-map-type: atomic
@@ -10452,6 +11453,7 @@ spec:
- path
type: object
type: array
+ x-kubernetes-list-type: atomic
optional:
type: boolean
secretName:
@@ -10466,6 +11468,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
type: object
x-kubernetes-map-type: atomic
@@ -10520,11 +11523,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchFields:
items:
properties:
@@ -10536,11 +11541,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
type: object
x-kubernetes-map-type: atomic
weight:
@@ -10551,6 +11558,7 @@ spec:
- weight
type: object
type: array
+ x-kubernetes-list-type: atomic
requiredDuringSchedulingIgnoredDuringExecution:
properties:
nodeSelectorTerms:
@@ -10567,11 +11575,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchFields:
items:
properties:
@@ -10583,14 +11593,17 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
type: object
x-kubernetes-map-type: atomic
type: array
+ x-kubernetes-list-type: atomic
required:
- nodeSelectorTerms
type: object
@@ -10616,17 +11629,29 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
type: object
type: object
x-kubernetes-map-type: atomic
+ matchLabelKeys:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
+ mismatchLabelKeys:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
namespaceSelector:
properties:
matchExpressions:
@@ -10640,11 +11665,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
@@ -10655,6 +11682,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
topologyKey:
type: string
required:
@@ -10668,6 +11696,7 @@ spec:
- weight
type: object
type: array
+ x-kubernetes-list-type: atomic
requiredDuringSchedulingIgnoredDuringExecution:
items:
properties:
@@ -10684,17 +11713,29 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
type: object
type: object
x-kubernetes-map-type: atomic
+ matchLabelKeys:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
+ mismatchLabelKeys:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
namespaceSelector:
properties:
matchExpressions:
@@ -10708,11 +11749,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
@@ -10723,12 +11766,14 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
topologyKey:
type: string
required:
- topologyKey
type: object
type: array
+ x-kubernetes-list-type: atomic
type: object
podAntiAffinity:
properties:
@@ -10750,17 +11795,29 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
type: object
type: object
x-kubernetes-map-type: atomic
+ matchLabelKeys:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
+ mismatchLabelKeys:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
namespaceSelector:
properties:
matchExpressions:
@@ -10774,11 +11831,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
@@ -10789,6 +11848,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
topologyKey:
type: string
required:
@@ -10802,6 +11862,7 @@ spec:
- weight
type: object
type: array
+ x-kubernetes-list-type: atomic
requiredDuringSchedulingIgnoredDuringExecution:
items:
properties:
@@ -10818,17 +11879,29 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
type: object
type: object
x-kubernetes-map-type: atomic
+ matchLabelKeys:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
+ mismatchLabelKeys:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
namespaceSelector:
properties:
matchExpressions:
@@ -10842,11 +11915,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
@@ -10857,12 +11932,14 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
topologyKey:
type: string
required:
- topologyKey
type: object
type: array
+ x-kubernetes-list-type: atomic
type: object
type: object
archiveLocation:
@@ -10876,6 +11953,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -10890,6 +11968,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -10907,6 +11986,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -10938,6 +12018,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -10963,11 +12044,14 @@ spec:
type: array
insecureIgnoreHostKey:
type: boolean
+ insecureSkipTLS:
+ type: boolean
passwordSecret:
properties:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -10986,6 +12070,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -10998,6 +12083,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -11025,6 +12111,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -11037,6 +12124,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -11049,6 +12137,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -11078,6 +12167,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -11090,6 +12180,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -11105,6 +12196,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -11117,6 +12209,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -11132,6 +12225,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -11144,6 +12238,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -11171,6 +12266,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -11204,6 +12300,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -11233,6 +12330,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -11261,6 +12359,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -11275,6 +12374,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -11300,6 +12400,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -11323,6 +12424,20 @@ spec:
key:
type: string
name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ sessionTokenSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
type: string
optional:
type: boolean
@@ -11342,10 +12457,12 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
command:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
env:
items:
properties:
@@ -11360,6 +12477,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -11398,6 +12516,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -11410,12 +12529,16 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - name
+ x-kubernetes-list-type: map
envFrom:
items:
properties:
configMapRef:
properties:
name:
+ default: ""
type: string
optional:
type: boolean
@@ -11426,6 +12549,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
optional:
type: boolean
@@ -11433,6 +12557,7 @@ spec:
x-kubernetes-map-type: atomic
type: object
type: array
+ x-kubernetes-list-type: atomic
image:
type: string
imagePullPolicy:
@@ -11447,6 +12572,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
httpGet:
properties:
@@ -11464,6 +12590,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -11476,6 +12603,14 @@ spec:
required:
- port
type: object
+ sleep:
+ properties:
+ seconds:
+ format: int64
+ type: integer
+ required:
+ - seconds
+ type: object
tcpSocket:
properties:
host:
@@ -11497,6 +12632,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
httpGet:
properties:
@@ -11514,6 +12650,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -11526,6 +12663,14 @@ spec:
required:
- port
type: object
+ sleep:
+ properties:
+ seconds:
+ format: int64
+ type: integer
+ required:
+ - seconds
+ type: object
tcpSocket:
properties:
host:
@@ -11548,6 +12693,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -11578,6 +12724,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -11652,6 +12799,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -11682,6 +12830,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -11722,6 +12871,19 @@ spec:
format: int32
type: integer
type: object
+ resizePolicy:
+ items:
+ properties:
+ resourceName:
+ type: string
+ restartPolicy:
+ type: string
+ required:
+ - resourceName
+ - restartPolicy
+ type: object
+ type: array
+ x-kubernetes-list-type: atomic
resources:
properties:
claims:
@@ -11753,20 +12915,33 @@ spec:
x-kubernetes-int-or-string: true
type: object
type: object
+ restartPolicy:
+ type: string
securityContext:
properties:
allowPrivilegeEscalation:
type: boolean
- capabilities:
+ appArmorProfile:
properties:
- add:
- items:
- type: string
- type: array
+ localhostProfile:
+ type: string
+ type:
+ type: string
+ required:
+ - type
+ type: object
+ capabilities:
+ properties:
+ add:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
drop:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
privileged:
type: boolean
@@ -11822,6 +12997,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -11852,6 +13028,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -11914,6 +13091,9 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - devicePath
+ x-kubernetes-list-type: map
volumeMounts:
items:
properties:
@@ -11925,6 +13105,8 @@ spec:
type: string
readOnly:
type: boolean
+ recursiveReadOnly:
+ type: string
subPath:
type: string
subPathExpr:
@@ -11934,6 +13116,9 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - mountPath
+ x-kubernetes-list-type: map
workingDir:
type: string
required:
@@ -11948,10 +13133,12 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
command:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
dependencies:
items:
type: string
@@ -11970,6 +13157,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -12008,6 +13196,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -12020,12 +13209,16 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - name
+ x-kubernetes-list-type: map
envFrom:
items:
properties:
configMapRef:
properties:
name:
+ default: ""
type: string
optional:
type: boolean
@@ -12036,6 +13229,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
optional:
type: boolean
@@ -12043,6 +13237,7 @@ spec:
x-kubernetes-map-type: atomic
type: object
type: array
+ x-kubernetes-list-type: atomic
image:
type: string
imagePullPolicy:
@@ -12057,6 +13252,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
httpGet:
properties:
@@ -12074,6 +13270,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -12086,6 +13283,14 @@ spec:
required:
- port
type: object
+ sleep:
+ properties:
+ seconds:
+ format: int64
+ type: integer
+ required:
+ - seconds
+ type: object
tcpSocket:
properties:
host:
@@ -12107,6 +13312,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
httpGet:
properties:
@@ -12124,6 +13330,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -12136,6 +13343,14 @@ spec:
required:
- port
type: object
+ sleep:
+ properties:
+ seconds:
+ format: int64
+ type: integer
+ required:
+ - seconds
+ type: object
tcpSocket:
properties:
host:
@@ -12158,6 +13373,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -12188,6 +13404,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -12262,6 +13479,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -12292,6 +13510,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -12332,6 +13551,19 @@ spec:
format: int32
type: integer
type: object
+ resizePolicy:
+ items:
+ properties:
+ resourceName:
+ type: string
+ restartPolicy:
+ type: string
+ required:
+ - resourceName
+ - restartPolicy
+ type: object
+ type: array
+ x-kubernetes-list-type: atomic
resources:
properties:
claims:
@@ -12363,20 +13595,33 @@ spec:
x-kubernetes-int-or-string: true
type: object
type: object
+ restartPolicy:
+ type: string
securityContext:
properties:
allowPrivilegeEscalation:
type: boolean
+ appArmorProfile:
+ properties:
+ localhostProfile:
+ type: string
+ type:
+ type: string
+ required:
+ - type
+ type: object
capabilities:
properties:
add:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
drop:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
privileged:
type: boolean
@@ -12432,6 +13677,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -12462,6 +13708,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -12524,6 +13771,9 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - devicePath
+ x-kubernetes-list-type: map
volumeMounts:
items:
properties:
@@ -12535,6 +13785,8 @@ spec:
type: string
readOnly:
type: boolean
+ recursiveReadOnly:
+ type: string
subPath:
type: string
subPathExpr:
@@ -12544,6 +13796,9 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - mountPath
+ x-kubernetes-list-type: map
workingDir:
type: string
required:
@@ -12573,6 +13828,8 @@ spec:
type: string
readOnly:
type: boolean
+ recursiveReadOnly:
+ type: string
subPath:
type: string
subPathExpr:
@@ -12646,6 +13903,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -12660,6 +13918,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -12677,6 +13936,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -12714,6 +13974,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -12739,11 +14000,14 @@ spec:
type: array
insecureIgnoreHostKey:
type: boolean
+ insecureSkipTLS:
+ type: boolean
passwordSecret:
properties:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -12762,6 +14026,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -12774,6 +14039,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -12803,6 +14069,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -12815,6 +14082,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -12827,6 +14095,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -12856,6 +14125,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -12868,6 +14138,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -12883,6 +14154,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -12895,6 +14167,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -12910,6 +14183,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -12922,6 +14196,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -12949,6 +14224,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -12989,6 +14265,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -13018,6 +14295,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -13050,6 +14328,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -13064,6 +14343,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -13089,6 +14369,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -13112,6 +14393,20 @@ spec:
key:
type: string
name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ sessionTokenSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
type: string
optional:
type: boolean
@@ -13152,6 +14447,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -13247,6 +14543,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -13261,6 +14558,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -13278,6 +14576,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -13315,6 +14614,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -13340,11 +14640,14 @@ spec:
type: array
insecureIgnoreHostKey:
type: boolean
+ insecureSkipTLS:
+ type: boolean
passwordSecret:
properties:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -13363,6 +14666,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -13375,6 +14679,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -13404,6 +14709,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -13416,6 +14722,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -13428,6 +14735,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -13457,6 +14765,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -13469,6 +14778,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -13484,6 +14794,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -13496,6 +14807,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -13511,6 +14823,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -13523,6 +14836,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -13550,6 +14864,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -13590,6 +14905,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -13619,6 +14935,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -13651,6 +14968,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -13665,6 +14983,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -13690,6 +15009,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -13713,6 +15033,20 @@ spec:
key:
type: string
name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ sessionTokenSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
type: string
optional:
type: boolean
@@ -13753,6 +15087,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -13899,6 +15234,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -13913,6 +15249,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -13930,6 +15267,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -13967,6 +15305,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -13992,11 +15331,14 @@ spec:
type: array
insecureIgnoreHostKey:
type: boolean
+ insecureSkipTLS:
+ type: boolean
passwordSecret:
properties:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -14015,6 +15357,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -14027,6 +15370,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -14056,6 +15400,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -14068,6 +15413,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -14080,6 +15426,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -14109,6 +15456,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -14121,6 +15469,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -14136,6 +15485,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -14148,6 +15498,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -14163,6 +15514,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -14175,6 +15527,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -14202,6 +15555,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -14242,6 +15596,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -14271,6 +15626,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -14303,6 +15659,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -14317,6 +15674,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -14342,6 +15700,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -14365,6 +15724,20 @@ spec:
key:
type: string
name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ sessionTokenSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
type: string
optional:
type: boolean
@@ -14408,8 +15781,11 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
ip:
type: string
+ required:
+ - ip
type: object
type: array
http:
@@ -14436,6 +15812,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -14469,10 +15846,12 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
command:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
env:
items:
properties:
@@ -14487,6 +15866,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -14525,6 +15905,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -14537,12 +15918,16 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - name
+ x-kubernetes-list-type: map
envFrom:
items:
properties:
configMapRef:
properties:
name:
+ default: ""
type: string
optional:
type: boolean
@@ -14553,6 +15938,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
optional:
type: boolean
@@ -14560,6 +15946,7 @@ spec:
x-kubernetes-map-type: atomic
type: object
type: array
+ x-kubernetes-list-type: atomic
image:
type: string
imagePullPolicy:
@@ -14574,6 +15961,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
httpGet:
properties:
@@ -14591,6 +15979,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -14603,6 +15992,14 @@ spec:
required:
- port
type: object
+ sleep:
+ properties:
+ seconds:
+ format: int64
+ type: integer
+ required:
+ - seconds
+ type: object
tcpSocket:
properties:
host:
@@ -14624,6 +16021,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
httpGet:
properties:
@@ -14641,6 +16039,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -14653,6 +16052,14 @@ spec:
required:
- port
type: object
+ sleep:
+ properties:
+ seconds:
+ format: int64
+ type: integer
+ required:
+ - seconds
+ type: object
tcpSocket:
properties:
host:
@@ -14675,6 +16082,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -14705,6 +16113,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -14781,6 +16190,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -14811,6 +16221,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -14851,6 +16262,19 @@ spec:
format: int32
type: integer
type: object
+ resizePolicy:
+ items:
+ properties:
+ resourceName:
+ type: string
+ restartPolicy:
+ type: string
+ required:
+ - resourceName
+ - restartPolicy
+ type: object
+ type: array
+ x-kubernetes-list-type: atomic
resources:
properties:
claims:
@@ -14882,20 +16306,33 @@ spec:
x-kubernetes-int-or-string: true
type: object
type: object
+ restartPolicy:
+ type: string
securityContext:
properties:
allowPrivilegeEscalation:
type: boolean
+ appArmorProfile:
+ properties:
+ localhostProfile:
+ type: string
+ type:
+ type: string
+ required:
+ - type
+ type: object
capabilities:
properties:
add:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
drop:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
privileged:
type: boolean
@@ -14951,6 +16388,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -14981,6 +16419,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -15043,6 +16482,9 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - devicePath
+ x-kubernetes-list-type: map
volumeMounts:
items:
properties:
@@ -15054,6 +16496,8 @@ spec:
type: string
readOnly:
type: boolean
+ recursiveReadOnly:
+ type: string
subPath:
type: string
subPathExpr:
@@ -15063,6 +16507,9 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - mountPath
+ x-kubernetes-list-type: map
workingDir:
type: string
required:
@@ -15119,6 +16566,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -15133,6 +16581,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -15150,6 +16599,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -15187,6 +16637,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -15212,11 +16663,14 @@ spec:
type: array
insecureIgnoreHostKey:
type: boolean
+ insecureSkipTLS:
+ type: boolean
passwordSecret:
properties:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -15235,6 +16689,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -15247,6 +16702,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -15276,6 +16732,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -15288,6 +16745,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -15300,6 +16758,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -15329,6 +16788,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -15341,6 +16801,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -15356,6 +16817,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -15368,6 +16830,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -15383,6 +16846,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -15395,6 +16859,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -15422,6 +16887,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -15462,6 +16928,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -15491,6 +16958,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -15523,6 +16991,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -15537,6 +17006,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -15562,6 +17032,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -15585,6 +17056,20 @@ spec:
key:
type: string
name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ sessionTokenSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
type: string
optional:
type: boolean
@@ -15625,6 +17110,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -15663,6 +17149,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -15811,6 +17298,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -15825,6 +17313,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -15842,6 +17331,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -15879,6 +17369,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -15904,11 +17395,14 @@ spec:
type: array
insecureIgnoreHostKey:
type: boolean
+ insecureSkipTLS:
+ type: boolean
passwordSecret:
properties:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -15927,6 +17421,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -15939,6 +17434,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -15968,6 +17464,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -15980,6 +17477,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -15992,6 +17490,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -16021,6 +17520,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -16033,6 +17533,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -16048,6 +17549,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -16060,6 +17562,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -16075,6 +17578,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -16087,6 +17591,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -16114,6 +17619,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -16154,6 +17660,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -16183,6 +17690,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -16215,6 +17723,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -16229,6 +17738,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -16254,6 +17764,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -16277,6 +17788,20 @@ spec:
key:
type: string
name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ sessionTokenSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
type: string
optional:
type: boolean
@@ -16319,6 +17844,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -16423,6 +17949,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -16437,6 +17964,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -16454,6 +17982,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -16491,6 +18020,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -16516,11 +18046,14 @@ spec:
type: array
insecureIgnoreHostKey:
type: boolean
+ insecureSkipTLS:
+ type: boolean
passwordSecret:
properties:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -16539,6 +18072,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -16551,6 +18085,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -16580,6 +18115,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -16592,6 +18128,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -16604,6 +18141,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -16633,6 +18171,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -16645,6 +18184,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -16660,6 +18200,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -16672,6 +18213,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -16687,6 +18229,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -16699,6 +18242,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -16726,6 +18270,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -16766,6 +18311,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -16795,6 +18341,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -16827,6 +18374,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -16841,6 +18389,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -16866,6 +18415,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -16889,6 +18439,20 @@ spec:
key:
type: string
name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ sessionTokenSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
type: string
optional:
type: boolean
@@ -16953,10 +18517,12 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
command:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
env:
items:
properties:
@@ -16971,6 +18537,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -17009,6 +18576,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -17021,12 +18589,16 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - name
+ x-kubernetes-list-type: map
envFrom:
items:
properties:
configMapRef:
properties:
name:
+ default: ""
type: string
optional:
type: boolean
@@ -17037,6 +18609,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
optional:
type: boolean
@@ -17044,6 +18617,7 @@ spec:
x-kubernetes-map-type: atomic
type: object
type: array
+ x-kubernetes-list-type: atomic
image:
type: string
imagePullPolicy:
@@ -17058,6 +18632,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
httpGet:
properties:
@@ -17075,6 +18650,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -17087,6 +18663,14 @@ spec:
required:
- port
type: object
+ sleep:
+ properties:
+ seconds:
+ format: int64
+ type: integer
+ required:
+ - seconds
+ type: object
tcpSocket:
properties:
host:
@@ -17108,6 +18692,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
httpGet:
properties:
@@ -17125,6 +18710,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -17137,6 +18723,14 @@ spec:
required:
- port
type: object
+ sleep:
+ properties:
+ seconds:
+ format: int64
+ type: integer
+ required:
+ - seconds
+ type: object
tcpSocket:
properties:
host:
@@ -17159,6 +18753,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -17189,6 +18784,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -17263,6 +18859,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -17293,6 +18890,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -17333,6 +18931,19 @@ spec:
format: int32
type: integer
type: object
+ resizePolicy:
+ items:
+ properties:
+ resourceName:
+ type: string
+ restartPolicy:
+ type: string
+ required:
+ - resourceName
+ - restartPolicy
+ type: object
+ type: array
+ x-kubernetes-list-type: atomic
resources:
properties:
claims:
@@ -17364,20 +18975,33 @@ spec:
x-kubernetes-int-or-string: true
type: object
type: object
+ restartPolicy:
+ type: string
securityContext:
properties:
allowPrivilegeEscalation:
type: boolean
+ appArmorProfile:
+ properties:
+ localhostProfile:
+ type: string
+ type:
+ type: string
+ required:
+ - type
+ type: object
capabilities:
properties:
add:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
drop:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
privileged:
type: boolean
@@ -17435,6 +19059,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -17465,6 +19090,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -17527,6 +19153,9 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - devicePath
+ x-kubernetes-list-type: map
volumeMounts:
items:
properties:
@@ -17538,6 +19167,8 @@ spec:
type: string
readOnly:
type: boolean
+ recursiveReadOnly:
+ type: string
subPath:
type: string
subPathExpr:
@@ -17547,6 +19178,9 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - mountPath
+ x-kubernetes-list-type: map
workingDir:
type: string
required:
@@ -17555,6 +19189,15 @@ spec:
type: object
securityContext:
properties:
+ appArmorProfile:
+ properties:
+ localhostProfile:
+ type: string
+ type:
+ type: string
+ required:
+ - type
+ type: object
fsGroup:
format: int64
type: integer
@@ -17593,6 +19236,7 @@ spec:
format: int64
type: integer
type: array
+ x-kubernetes-list-type: atomic
sysctls:
items:
properties:
@@ -17605,6 +19249,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
windowsOptions:
properties:
gmsaCredentialSpec:
@@ -17626,10 +19271,12 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
command:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
env:
items:
properties:
@@ -17644,6 +19291,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -17682,6 +19330,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -17694,12 +19343,16 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - name
+ x-kubernetes-list-type: map
envFrom:
items:
properties:
configMapRef:
properties:
name:
+ default: ""
type: string
optional:
type: boolean
@@ -17710,6 +19363,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
optional:
type: boolean
@@ -17717,6 +19371,7 @@ spec:
x-kubernetes-map-type: atomic
type: object
type: array
+ x-kubernetes-list-type: atomic
image:
type: string
imagePullPolicy:
@@ -17731,6 +19386,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
httpGet:
properties:
@@ -17748,6 +19404,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -17760,6 +19417,14 @@ spec:
required:
- port
type: object
+ sleep:
+ properties:
+ seconds:
+ format: int64
+ type: integer
+ required:
+ - seconds
+ type: object
tcpSocket:
properties:
host:
@@ -17781,6 +19446,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
httpGet:
properties:
@@ -17798,6 +19464,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -17810,6 +19477,14 @@ spec:
required:
- port
type: object
+ sleep:
+ properties:
+ seconds:
+ format: int64
+ type: integer
+ required:
+ - seconds
+ type: object
tcpSocket:
properties:
host:
@@ -17832,6 +19507,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -17862,6 +19538,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -17938,6 +19615,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -17968,6 +19646,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -18008,6 +19687,19 @@ spec:
format: int32
type: integer
type: object
+ resizePolicy:
+ items:
+ properties:
+ resourceName:
+ type: string
+ restartPolicy:
+ type: string
+ required:
+ - resourceName
+ - restartPolicy
+ type: object
+ type: array
+ x-kubernetes-list-type: atomic
resources:
properties:
claims:
@@ -18039,20 +19731,33 @@ spec:
x-kubernetes-int-or-string: true
type: object
type: object
+ restartPolicy:
+ type: string
securityContext:
properties:
allowPrivilegeEscalation:
type: boolean
+ appArmorProfile:
+ properties:
+ localhostProfile:
+ type: string
+ type:
+ type: string
+ required:
+ - type
+ type: object
capabilities:
properties:
add:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
drop:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
privileged:
type: boolean
@@ -18108,6 +19813,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -18138,6 +19844,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -18200,6 +19907,9 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - devicePath
+ x-kubernetes-list-type: map
volumeMounts:
items:
properties:
@@ -18211,6 +19921,8 @@ spec:
type: string
readOnly:
type: boolean
+ recursiveReadOnly:
+ type: string
subPath:
type: string
subPathExpr:
@@ -18220,6 +19932,9 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - mountPath
+ x-kubernetes-list-type: map
workingDir:
type: string
required:
@@ -18244,6 +19959,15 @@ spec:
namespace:
type: string
type: object
+ mutexes:
+ items:
+ properties:
+ name:
+ type: string
+ namespace:
+ type: string
+ type: object
+ type: array
semaphore:
properties:
configMapKeyRef:
@@ -18251,6 +19975,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -18261,6 +19986,26 @@ spec:
namespace:
type: string
type: object
+ semaphores:
+ items:
+ properties:
+ configMapKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ namespace:
+ type: string
+ type: object
+ type: array
type: object
timeout:
type: string
@@ -18333,6 +20078,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
readOnly:
@@ -18342,6 +20088,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
type: object
x-kubernetes-map-type: atomic
@@ -18359,6 +20106,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
type: object
x-kubernetes-map-type: atomic
@@ -18387,7 +20135,9 @@ spec:
- path
type: object
type: array
+ x-kubernetes-list-type: atomic
name:
+ default: ""
type: string
optional:
type: boolean
@@ -18402,6 +20152,7 @@ spec:
nodePublishSecretRef:
properties:
name:
+ default: ""
type: string
type: object
x-kubernetes-map-type: atomic
@@ -18457,6 +20208,7 @@ spec:
- path
type: object
type: array
+ x-kubernetes-list-type: atomic
type: object
emptyDir:
properties:
@@ -18481,6 +20233,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
dataSource:
properties:
apiGroup:
@@ -18510,18 +20263,6 @@ spec:
type: object
resources:
properties:
- claims:
- items:
- properties:
- name:
- type: string
- required:
- - name
- type: object
- type: array
- x-kubernetes-list-map-keys:
- - name
- x-kubernetes-list-type: map
limits:
additionalProperties:
anyOf:
@@ -18552,11 +20293,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
@@ -18565,6 +20308,8 @@ spec:
x-kubernetes-map-type: atomic
storageClassName:
type: string
+ volumeAttributesClassName:
+ type: string
volumeMode:
type: string
volumeName:
@@ -18587,10 +20332,12 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
wwids:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
flexVolume:
properties:
@@ -18607,6 +20354,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
type: object
x-kubernetes-map-type: atomic
@@ -18687,11 +20435,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
readOnly:
type: boolean
secretRef:
properties:
name:
+ default: ""
type: string
type: object
x-kubernetes-map-type: atomic
@@ -18753,6 +20503,45 @@ spec:
sources:
items:
properties:
+ clusterTrustBundle:
+ properties:
+ labelSelector:
+ properties:
+ matchExpressions:
+ items:
+ properties:
+ key:
+ type: string
+ operator:
+ type: string
+ values:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
+ required:
+ - key
+ - operator
+ type: object
+ type: array
+ x-kubernetes-list-type: atomic
+ matchLabels:
+ additionalProperties:
+ type: string
+ type: object
+ type: object
+ x-kubernetes-map-type: atomic
+ name:
+ type: string
+ optional:
+ type: boolean
+ path:
+ type: string
+ signerName:
+ type: string
+ required:
+ - path
+ type: object
configMap:
properties:
items:
@@ -18770,7 +20559,9 @@ spec:
- path
type: object
type: array
+ x-kubernetes-list-type: atomic
name:
+ default: ""
type: string
optional:
type: boolean
@@ -18816,6 +20607,7 @@ spec:
- path
type: object
type: array
+ x-kubernetes-list-type: atomic
type: object
secret:
properties:
@@ -18834,7 +20626,9 @@ spec:
- path
type: object
type: array
+ x-kubernetes-list-type: atomic
name:
+ default: ""
type: string
optional:
type: boolean
@@ -18854,6 +20648,7 @@ spec:
type: object
type: object
type: array
+ x-kubernetes-list-type: atomic
type: object
quobyte:
properties:
@@ -18885,6 +20680,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
pool:
type: string
readOnly:
@@ -18892,6 +20688,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
type: object
x-kubernetes-map-type: atomic
@@ -18914,6 +20711,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
type: object
x-kubernetes-map-type: atomic
@@ -18952,6 +20750,7 @@ spec:
- path
type: object
type: array
+ x-kubernetes-list-type: atomic
optional:
type: boolean
secretName:
@@ -18966,6 +20765,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
type: object
x-kubernetes-map-type: atomic
@@ -19041,6 +20841,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
dataSource:
properties:
apiGroup:
@@ -19070,18 +20871,6 @@ spec:
type: object
resources:
properties:
- claims:
- items:
- properties:
- name:
- type: string
- required:
- - name
- type: object
- type: array
- x-kubernetes-list-map-keys:
- - name
- x-kubernetes-list-type: map
limits:
additionalProperties:
anyOf:
@@ -19112,11 +20901,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
@@ -19125,6 +20916,8 @@ spec:
x-kubernetes-map-type: atomic
storageClassName:
type: string
+ volumeAttributesClassName:
+ type: string
volumeMode:
type: string
volumeName:
@@ -19136,6 +20929,12 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
+ allocatedResourceStatuses:
+ additionalProperties:
+ type: string
+ type: object
+ x-kubernetes-map-type: granular
allocatedResources:
additionalProperties:
anyOf:
@@ -19174,9 +20973,21 @@ spec:
- type
type: object
type: array
- phase:
+ x-kubernetes-list-map-keys:
+ - type
+ x-kubernetes-list-type: map
+ currentVolumeAttributesClassName:
type: string
- resizeStatus:
+ modifyVolumeStatus:
+ properties:
+ status:
+ type: string
+ targetVolumeAttributesClassName:
+ type: string
+ required:
+ - status
+ type: object
+ phase:
type: string
type: object
type: object
@@ -19234,6 +21045,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
readOnly:
@@ -19243,6 +21055,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
type: object
x-kubernetes-map-type: atomic
@@ -19260,6 +21073,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
type: object
x-kubernetes-map-type: atomic
@@ -19288,7 +21102,9 @@ spec:
- path
type: object
type: array
+ x-kubernetes-list-type: atomic
name:
+ default: ""
type: string
optional:
type: boolean
@@ -19303,6 +21119,7 @@ spec:
nodePublishSecretRef:
properties:
name:
+ default: ""
type: string
type: object
x-kubernetes-map-type: atomic
@@ -19358,6 +21175,7 @@ spec:
- path
type: object
type: array
+ x-kubernetes-list-type: atomic
type: object
emptyDir:
properties:
@@ -19382,6 +21200,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
dataSource:
properties:
apiGroup:
@@ -19411,18 +21230,6 @@ spec:
type: object
resources:
properties:
- claims:
- items:
- properties:
- name:
- type: string
- required:
- - name
- type: object
- type: array
- x-kubernetes-list-map-keys:
- - name
- x-kubernetes-list-type: map
limits:
additionalProperties:
anyOf:
@@ -19453,11 +21260,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
@@ -19466,6 +21275,8 @@ spec:
x-kubernetes-map-type: atomic
storageClassName:
type: string
+ volumeAttributesClassName:
+ type: string
volumeMode:
type: string
volumeName:
@@ -19488,10 +21299,12 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
wwids:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
flexVolume:
properties:
@@ -19508,6 +21321,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
type: object
x-kubernetes-map-type: atomic
@@ -19588,11 +21402,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
readOnly:
type: boolean
secretRef:
properties:
name:
+ default: ""
type: string
type: object
x-kubernetes-map-type: atomic
@@ -19654,6 +21470,45 @@ spec:
sources:
items:
properties:
+ clusterTrustBundle:
+ properties:
+ labelSelector:
+ properties:
+ matchExpressions:
+ items:
+ properties:
+ key:
+ type: string
+ operator:
+ type: string
+ values:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
+ required:
+ - key
+ - operator
+ type: object
+ type: array
+ x-kubernetes-list-type: atomic
+ matchLabels:
+ additionalProperties:
+ type: string
+ type: object
+ type: object
+ x-kubernetes-map-type: atomic
+ name:
+ type: string
+ optional:
+ type: boolean
+ path:
+ type: string
+ signerName:
+ type: string
+ required:
+ - path
+ type: object
configMap:
properties:
items:
@@ -19671,7 +21526,9 @@ spec:
- path
type: object
type: array
+ x-kubernetes-list-type: atomic
name:
+ default: ""
type: string
optional:
type: boolean
@@ -19717,6 +21574,7 @@ spec:
- path
type: object
type: array
+ x-kubernetes-list-type: atomic
type: object
secret:
properties:
@@ -19735,7 +21593,9 @@ spec:
- path
type: object
type: array
+ x-kubernetes-list-type: atomic
name:
+ default: ""
type: string
optional:
type: boolean
@@ -19755,6 +21615,7 @@ spec:
type: object
type: object
type: array
+ x-kubernetes-list-type: atomic
type: object
quobyte:
properties:
@@ -19786,6 +21647,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
pool:
type: string
readOnly:
@@ -19793,6 +21655,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
type: object
x-kubernetes-map-type: atomic
@@ -19815,6 +21678,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
type: object
x-kubernetes-map-type: atomic
@@ -19853,6 +21717,7 @@ spec:
- path
type: object
type: array
+ x-kubernetes-list-type: atomic
optional:
type: boolean
secretName:
@@ -19867,6 +21732,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
type: object
x-kubernetes-map-type: atomic
@@ -19921,7 +21787,6 @@ spec:
type: object
type: object
required:
- - schedule
- workflowSpec
type: object
status:
diff --git a/manifests/base/crds/full/argoproj.io_workflowartifactgctasks.yaml b/manifests/base/crds/full/argoproj.io_workflowartifactgctasks.yaml
index 32e2b357a9c0..f97e9b37fb2a 100644
--- a/manifests/base/crds/full/argoproj.io_workflowartifactgctasks.yaml
+++ b/manifests/base/crds/full/argoproj.io_workflowartifactgctasks.yaml
@@ -40,6 +40,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -54,6 +55,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -71,6 +73,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -102,6 +105,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -127,11 +131,14 @@ spec:
type: array
insecureIgnoreHostKey:
type: boolean
+ insecureSkipTLS:
+ type: boolean
passwordSecret:
properties:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -150,6 +157,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -162,6 +170,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -189,6 +198,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -201,6 +211,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -213,6 +224,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -242,6 +254,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -254,6 +267,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -269,6 +283,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -281,6 +296,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -296,6 +312,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -308,6 +325,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -335,6 +353,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -368,6 +387,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -397,6 +417,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -425,6 +446,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -439,6 +461,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -464,6 +487,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -487,6 +511,20 @@ spec:
key:
type: string
name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ sessionTokenSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
type: string
optional:
type: boolean
@@ -546,6 +584,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -560,6 +599,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -577,6 +617,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -614,6 +655,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -639,11 +681,14 @@ spec:
type: array
insecureIgnoreHostKey:
type: boolean
+ insecureSkipTLS:
+ type: boolean
passwordSecret:
properties:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -662,6 +707,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -674,6 +720,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -703,6 +750,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -715,6 +763,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -727,6 +776,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -756,6 +806,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -768,6 +819,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -783,6 +835,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -795,6 +848,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -810,6 +864,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -822,6 +877,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -849,6 +905,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -889,6 +946,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -918,6 +976,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -950,6 +1009,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -964,6 +1024,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -989,6 +1050,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -1012,6 +1074,20 @@ spec:
key:
type: string
name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ sessionTokenSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
type: string
optional:
type: boolean
diff --git a/manifests/base/crds/full/argoproj.io_workfloweventbindings.yaml b/manifests/base/crds/full/argoproj.io_workfloweventbindings.yaml
index 65184dfcd1f9..4c483822f853 100644
--- a/manifests/base/crds/full/argoproj.io_workfloweventbindings.yaml
+++ b/manifests/base/crds/full/argoproj.io_workfloweventbindings.yaml
@@ -85,6 +85,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -99,6 +100,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -116,6 +118,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -153,6 +156,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -178,11 +182,14 @@ spec:
type: array
insecureIgnoreHostKey:
type: boolean
+ insecureSkipTLS:
+ type: boolean
passwordSecret:
properties:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -201,6 +208,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -213,6 +221,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -242,6 +251,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -254,6 +264,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -266,6 +277,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -295,6 +307,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -307,6 +320,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -322,6 +336,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -334,6 +349,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -349,6 +365,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -361,6 +378,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -388,6 +406,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -428,6 +447,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -457,6 +477,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -489,6 +510,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -503,6 +525,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -528,6 +551,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -551,6 +575,20 @@ spec:
key:
type: string
name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ sessionTokenSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
type: string
optional:
type: boolean
@@ -591,6 +629,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
diff --git a/manifests/base/crds/full/argoproj.io_workflows.yaml b/manifests/base/crds/full/argoproj.io_workflows.yaml
index 1b8f5bc0a238..da9968304348 100644
--- a/manifests/base/crds/full/argoproj.io_workflows.yaml
+++ b/manifests/base/crds/full/argoproj.io_workflows.yaml
@@ -64,11 +64,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchFields:
items:
properties:
@@ -80,11 +82,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
type: object
x-kubernetes-map-type: atomic
weight:
@@ -95,6 +99,7 @@ spec:
- weight
type: object
type: array
+ x-kubernetes-list-type: atomic
requiredDuringSchedulingIgnoredDuringExecution:
properties:
nodeSelectorTerms:
@@ -111,11 +116,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchFields:
items:
properties:
@@ -127,14 +134,17 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
type: object
x-kubernetes-map-type: atomic
type: array
+ x-kubernetes-list-type: atomic
required:
- nodeSelectorTerms
type: object
@@ -160,17 +170,29 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
type: object
type: object
x-kubernetes-map-type: atomic
+ matchLabelKeys:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
+ mismatchLabelKeys:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
namespaceSelector:
properties:
matchExpressions:
@@ -184,11 +206,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
@@ -199,6 +223,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
topologyKey:
type: string
required:
@@ -212,6 +237,7 @@ spec:
- weight
type: object
type: array
+ x-kubernetes-list-type: atomic
requiredDuringSchedulingIgnoredDuringExecution:
items:
properties:
@@ -228,17 +254,29 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
type: object
type: object
x-kubernetes-map-type: atomic
+ matchLabelKeys:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
+ mismatchLabelKeys:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
namespaceSelector:
properties:
matchExpressions:
@@ -252,11 +290,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
@@ -267,12 +307,14 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
topologyKey:
type: string
required:
- topologyKey
type: object
type: array
+ x-kubernetes-list-type: atomic
type: object
podAntiAffinity:
properties:
@@ -294,17 +336,29 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
type: object
type: object
x-kubernetes-map-type: atomic
+ matchLabelKeys:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
+ mismatchLabelKeys:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
namespaceSelector:
properties:
matchExpressions:
@@ -318,11 +372,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
@@ -333,6 +389,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
topologyKey:
type: string
required:
@@ -346,6 +403,7 @@ spec:
- weight
type: object
type: array
+ x-kubernetes-list-type: atomic
requiredDuringSchedulingIgnoredDuringExecution:
items:
properties:
@@ -362,17 +420,29 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
type: object
type: object
x-kubernetes-map-type: atomic
+ matchLabelKeys:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
+ mismatchLabelKeys:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
namespaceSelector:
properties:
matchExpressions:
@@ -386,11 +456,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
@@ -401,12 +473,14 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
topologyKey:
type: string
required:
- topologyKey
type: object
type: array
+ x-kubernetes-list-type: atomic
type: object
type: object
archiveLogs:
@@ -461,6 +535,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -475,6 +550,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -492,6 +568,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -529,6 +606,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -554,11 +632,14 @@ spec:
type: array
insecureIgnoreHostKey:
type: boolean
+ insecureSkipTLS:
+ type: boolean
passwordSecret:
properties:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -577,6 +658,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -589,6 +671,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -618,6 +701,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -630,6 +714,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -642,6 +727,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -671,6 +757,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -683,6 +770,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -698,6 +786,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -710,6 +799,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -725,6 +815,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -737,6 +828,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -764,6 +856,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -804,6 +897,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -833,6 +927,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -865,6 +960,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -879,6 +975,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -904,6 +1001,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -927,6 +1025,20 @@ spec:
key:
type: string
name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ sessionTokenSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
type: string
optional:
type: boolean
@@ -967,6 +1079,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -1038,6 +1151,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
options:
items:
properties:
@@ -1047,10 +1161,12 @@ spec:
type: string
type: object
type: array
+ x-kubernetes-list-type: atomic
searches:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
dnsPolicy:
type: string
@@ -1114,6 +1230,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -1128,6 +1245,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -1145,6 +1263,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -1182,6 +1301,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -1207,11 +1327,14 @@ spec:
type: array
insecureIgnoreHostKey:
type: boolean
+ insecureSkipTLS:
+ type: boolean
passwordSecret:
properties:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -1230,6 +1353,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -1242,6 +1366,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -1271,6 +1396,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -1283,6 +1409,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -1295,6 +1422,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -1324,6 +1452,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -1336,6 +1465,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -1351,6 +1481,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -1363,6 +1494,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -1378,6 +1510,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -1390,6 +1523,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -1417,6 +1551,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -1457,6 +1592,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -1486,6 +1622,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -1518,6 +1655,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -1532,6 +1670,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -1557,6 +1696,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -1580,6 +1720,20 @@ spec:
key:
type: string
name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ sessionTokenSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
type: string
optional:
type: boolean
@@ -1620,6 +1774,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -1671,8 +1826,11 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
ip:
type: string
+ required:
+ - ip
type: object
type: array
hostNetwork:
@@ -1681,6 +1839,7 @@ spec:
items:
properties:
name:
+ default: ""
type: string
type: object
x-kubernetes-map-type: atomic
@@ -1781,11 +1940,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
@@ -1812,11 +1973,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
@@ -1880,6 +2043,15 @@ spec:
type: string
securityContext:
properties:
+ appArmorProfile:
+ properties:
+ localhostProfile:
+ type: string
+ type:
+ type: string
+ required:
+ - type
+ type: object
fsGroup:
format: int64
type: integer
@@ -1918,6 +2090,7 @@ spec:
format: int64
type: integer
type: array
+ x-kubernetes-list-type: atomic
sysctls:
items:
properties:
@@ -1930,6 +2103,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
windowsOptions:
properties:
gmsaCredentialSpec:
@@ -1957,6 +2131,15 @@ spec:
namespace:
type: string
type: object
+ mutexes:
+ items:
+ properties:
+ name:
+ type: string
+ namespace:
+ type: string
+ type: object
+ type: array
semaphore:
properties:
configMapKeyRef:
@@ -1964,6 +2147,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -1974,6 +2158,26 @@ spec:
namespace:
type: string
type: object
+ semaphores:
+ items:
+ properties:
+ configMapKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ namespace:
+ type: string
+ type: object
+ type: array
type: object
templateDefaults:
properties:
@@ -2002,11 +2206,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchFields:
items:
properties:
@@ -2018,11 +2224,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
type: object
x-kubernetes-map-type: atomic
weight:
@@ -2033,6 +2241,7 @@ spec:
- weight
type: object
type: array
+ x-kubernetes-list-type: atomic
requiredDuringSchedulingIgnoredDuringExecution:
properties:
nodeSelectorTerms:
@@ -2049,11 +2258,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchFields:
items:
properties:
@@ -2065,14 +2276,17 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
type: object
x-kubernetes-map-type: atomic
type: array
+ x-kubernetes-list-type: atomic
required:
- nodeSelectorTerms
type: object
@@ -2098,17 +2312,29 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
type: object
type: object
x-kubernetes-map-type: atomic
+ matchLabelKeys:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
+ mismatchLabelKeys:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
namespaceSelector:
properties:
matchExpressions:
@@ -2122,11 +2348,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
@@ -2137,6 +2365,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
topologyKey:
type: string
required:
@@ -2150,6 +2379,7 @@ spec:
- weight
type: object
type: array
+ x-kubernetes-list-type: atomic
requiredDuringSchedulingIgnoredDuringExecution:
items:
properties:
@@ -2166,17 +2396,29 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
type: object
type: object
x-kubernetes-map-type: atomic
+ matchLabelKeys:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
+ mismatchLabelKeys:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
namespaceSelector:
properties:
matchExpressions:
@@ -2190,11 +2432,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
@@ -2205,12 +2449,14 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
topologyKey:
type: string
required:
- topologyKey
type: object
type: array
+ x-kubernetes-list-type: atomic
type: object
podAntiAffinity:
properties:
@@ -2232,17 +2478,29 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
type: object
type: object
x-kubernetes-map-type: atomic
+ matchLabelKeys:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
+ mismatchLabelKeys:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
namespaceSelector:
properties:
matchExpressions:
@@ -2256,11 +2514,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
@@ -2271,6 +2531,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
topologyKey:
type: string
required:
@@ -2284,6 +2545,7 @@ spec:
- weight
type: object
type: array
+ x-kubernetes-list-type: atomic
requiredDuringSchedulingIgnoredDuringExecution:
items:
properties:
@@ -2300,17 +2562,29 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
type: object
type: object
x-kubernetes-map-type: atomic
+ matchLabelKeys:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
+ mismatchLabelKeys:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
namespaceSelector:
properties:
matchExpressions:
@@ -2324,11 +2598,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
@@ -2339,12 +2615,14 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
topologyKey:
type: string
required:
- topologyKey
type: object
type: array
+ x-kubernetes-list-type: atomic
type: object
type: object
archiveLocation:
@@ -2358,6 +2636,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -2372,6 +2651,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -2389,6 +2669,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -2420,6 +2701,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -2445,11 +2727,14 @@ spec:
type: array
insecureIgnoreHostKey:
type: boolean
+ insecureSkipTLS:
+ type: boolean
passwordSecret:
properties:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -2468,6 +2753,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -2480,6 +2766,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -2507,6 +2794,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -2519,6 +2807,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -2531,6 +2820,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -2560,6 +2850,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -2572,6 +2863,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -2587,6 +2879,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -2599,6 +2892,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -2614,6 +2908,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -2626,6 +2921,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -2653,6 +2949,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -2686,6 +2983,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -2715,6 +3013,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -2743,6 +3042,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -2757,6 +3057,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -2782,6 +3083,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -2805,6 +3107,20 @@ spec:
key:
type: string
name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ sessionTokenSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
type: string
optional:
type: boolean
@@ -2824,10 +3140,12 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
command:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
env:
items:
properties:
@@ -2842,6 +3160,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -2880,6 +3199,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -2892,12 +3212,16 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - name
+ x-kubernetes-list-type: map
envFrom:
items:
properties:
configMapRef:
properties:
name:
+ default: ""
type: string
optional:
type: boolean
@@ -2908,6 +3232,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
optional:
type: boolean
@@ -2915,6 +3240,7 @@ spec:
x-kubernetes-map-type: atomic
type: object
type: array
+ x-kubernetes-list-type: atomic
image:
type: string
imagePullPolicy:
@@ -2929,6 +3255,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
httpGet:
properties:
@@ -2946,6 +3273,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -2958,6 +3286,14 @@ spec:
required:
- port
type: object
+ sleep:
+ properties:
+ seconds:
+ format: int64
+ type: integer
+ required:
+ - seconds
+ type: object
tcpSocket:
properties:
host:
@@ -2979,6 +3315,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
httpGet:
properties:
@@ -2996,6 +3333,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -3008,6 +3346,14 @@ spec:
required:
- port
type: object
+ sleep:
+ properties:
+ seconds:
+ format: int64
+ type: integer
+ required:
+ - seconds
+ type: object
tcpSocket:
properties:
host:
@@ -3030,6 +3376,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -3060,6 +3407,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -3134,6 +3482,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -3164,6 +3513,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -3204,6 +3554,19 @@ spec:
format: int32
type: integer
type: object
+ resizePolicy:
+ items:
+ properties:
+ resourceName:
+ type: string
+ restartPolicy:
+ type: string
+ required:
+ - resourceName
+ - restartPolicy
+ type: object
+ type: array
+ x-kubernetes-list-type: atomic
resources:
properties:
claims:
@@ -3235,20 +3598,33 @@ spec:
x-kubernetes-int-or-string: true
type: object
type: object
+ restartPolicy:
+ type: string
securityContext:
properties:
allowPrivilegeEscalation:
type: boolean
+ appArmorProfile:
+ properties:
+ localhostProfile:
+ type: string
+ type:
+ type: string
+ required:
+ - type
+ type: object
capabilities:
properties:
add:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
drop:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
privileged:
type: boolean
@@ -3304,6 +3680,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -3334,6 +3711,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -3396,6 +3774,9 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - devicePath
+ x-kubernetes-list-type: map
volumeMounts:
items:
properties:
@@ -3407,6 +3788,8 @@ spec:
type: string
readOnly:
type: boolean
+ recursiveReadOnly:
+ type: string
subPath:
type: string
subPathExpr:
@@ -3416,6 +3799,9 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - mountPath
+ x-kubernetes-list-type: map
workingDir:
type: string
required:
@@ -3430,10 +3816,12 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
command:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
dependencies:
items:
type: string
@@ -3452,6 +3840,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -3490,6 +3879,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -3502,12 +3892,16 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - name
+ x-kubernetes-list-type: map
envFrom:
items:
properties:
configMapRef:
properties:
name:
+ default: ""
type: string
optional:
type: boolean
@@ -3518,6 +3912,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
optional:
type: boolean
@@ -3525,6 +3920,7 @@ spec:
x-kubernetes-map-type: atomic
type: object
type: array
+ x-kubernetes-list-type: atomic
image:
type: string
imagePullPolicy:
@@ -3539,6 +3935,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
httpGet:
properties:
@@ -3556,6 +3953,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -3568,6 +3966,14 @@ spec:
required:
- port
type: object
+ sleep:
+ properties:
+ seconds:
+ format: int64
+ type: integer
+ required:
+ - seconds
+ type: object
tcpSocket:
properties:
host:
@@ -3589,6 +3995,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
httpGet:
properties:
@@ -3606,6 +4013,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -3618,6 +4026,14 @@ spec:
required:
- port
type: object
+ sleep:
+ properties:
+ seconds:
+ format: int64
+ type: integer
+ required:
+ - seconds
+ type: object
tcpSocket:
properties:
host:
@@ -3640,6 +4056,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -3670,6 +4087,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -3744,6 +4162,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -3774,6 +4193,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -3814,6 +4234,19 @@ spec:
format: int32
type: integer
type: object
+ resizePolicy:
+ items:
+ properties:
+ resourceName:
+ type: string
+ restartPolicy:
+ type: string
+ required:
+ - resourceName
+ - restartPolicy
+ type: object
+ type: array
+ x-kubernetes-list-type: atomic
resources:
properties:
claims:
@@ -3845,20 +4278,33 @@ spec:
x-kubernetes-int-or-string: true
type: object
type: object
+ restartPolicy:
+ type: string
securityContext:
properties:
allowPrivilegeEscalation:
type: boolean
+ appArmorProfile:
+ properties:
+ localhostProfile:
+ type: string
+ type:
+ type: string
+ required:
+ - type
+ type: object
capabilities:
properties:
add:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
drop:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
privileged:
type: boolean
@@ -3914,6 +4360,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -3944,6 +4391,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -4006,6 +4454,9 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - devicePath
+ x-kubernetes-list-type: map
volumeMounts:
items:
properties:
@@ -4017,6 +4468,8 @@ spec:
type: string
readOnly:
type: boolean
+ recursiveReadOnly:
+ type: string
subPath:
type: string
subPathExpr:
@@ -4026,6 +4479,9 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - mountPath
+ x-kubernetes-list-type: map
workingDir:
type: string
required:
@@ -4055,6 +4511,8 @@ spec:
type: string
readOnly:
type: boolean
+ recursiveReadOnly:
+ type: string
subPath:
type: string
subPathExpr:
@@ -4128,6 +4586,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4142,6 +4601,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4159,6 +4619,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4196,6 +4657,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4221,11 +4683,14 @@ spec:
type: array
insecureIgnoreHostKey:
type: boolean
+ insecureSkipTLS:
+ type: boolean
passwordSecret:
properties:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4244,6 +4709,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4256,6 +4722,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4285,6 +4752,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4297,6 +4765,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4309,6 +4778,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4338,6 +4808,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4350,6 +4821,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4365,6 +4837,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4377,6 +4850,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4392,6 +4866,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4404,6 +4879,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4431,6 +4907,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4471,6 +4948,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4500,6 +4978,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4532,6 +5011,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4546,6 +5026,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4571,6 +5052,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4594,6 +5076,20 @@ spec:
key:
type: string
name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ sessionTokenSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
type: string
optional:
type: boolean
@@ -4634,6 +5130,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4729,6 +5226,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4743,6 +5241,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4760,6 +5259,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4797,6 +5297,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4822,11 +5323,14 @@ spec:
type: array
insecureIgnoreHostKey:
type: boolean
+ insecureSkipTLS:
+ type: boolean
passwordSecret:
properties:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4845,6 +5349,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4857,6 +5362,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4886,6 +5392,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4898,6 +5405,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4910,6 +5418,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4939,6 +5448,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4951,6 +5461,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4966,6 +5477,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4978,6 +5490,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4993,6 +5506,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -5005,6 +5519,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -5032,6 +5547,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -5072,6 +5588,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -5101,6 +5618,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -5133,6 +5651,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -5147,6 +5666,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -5172,6 +5692,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -5195,6 +5716,20 @@ spec:
key:
type: string
name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ sessionTokenSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
type: string
optional:
type: boolean
@@ -5235,6 +5770,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -5381,6 +5917,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -5395,6 +5932,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -5412,6 +5950,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -5449,6 +5988,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -5474,11 +6014,14 @@ spec:
type: array
insecureIgnoreHostKey:
type: boolean
+ insecureSkipTLS:
+ type: boolean
passwordSecret:
properties:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -5497,6 +6040,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -5509,6 +6053,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -5538,6 +6083,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -5550,6 +6096,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -5562,6 +6109,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -5591,6 +6139,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -5603,6 +6152,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -5618,6 +6168,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -5630,6 +6181,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -5645,6 +6197,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -5657,6 +6210,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -5684,6 +6238,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -5724,6 +6279,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -5753,6 +6309,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -5785,6 +6342,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -5799,6 +6357,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -5824,6 +6383,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -5847,6 +6407,20 @@ spec:
key:
type: string
name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ sessionTokenSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
type: string
optional:
type: boolean
@@ -5890,8 +6464,11 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
ip:
type: string
+ required:
+ - ip
type: object
type: array
http:
@@ -5918,6 +6495,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -5951,10 +6529,12 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
command:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
env:
items:
properties:
@@ -5969,6 +6549,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -6007,6 +6588,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -6019,12 +6601,16 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - name
+ x-kubernetes-list-type: map
envFrom:
items:
properties:
configMapRef:
properties:
name:
+ default: ""
type: string
optional:
type: boolean
@@ -6035,6 +6621,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
optional:
type: boolean
@@ -6042,6 +6629,7 @@ spec:
x-kubernetes-map-type: atomic
type: object
type: array
+ x-kubernetes-list-type: atomic
image:
type: string
imagePullPolicy:
@@ -6056,6 +6644,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
httpGet:
properties:
@@ -6073,6 +6662,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -6085,6 +6675,14 @@ spec:
required:
- port
type: object
+ sleep:
+ properties:
+ seconds:
+ format: int64
+ type: integer
+ required:
+ - seconds
+ type: object
tcpSocket:
properties:
host:
@@ -6106,6 +6704,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
httpGet:
properties:
@@ -6123,6 +6722,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -6135,6 +6735,14 @@ spec:
required:
- port
type: object
+ sleep:
+ properties:
+ seconds:
+ format: int64
+ type: integer
+ required:
+ - seconds
+ type: object
tcpSocket:
properties:
host:
@@ -6157,6 +6765,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -6187,6 +6796,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -6263,6 +6873,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -6293,6 +6904,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -6333,6 +6945,19 @@ spec:
format: int32
type: integer
type: object
+ resizePolicy:
+ items:
+ properties:
+ resourceName:
+ type: string
+ restartPolicy:
+ type: string
+ required:
+ - resourceName
+ - restartPolicy
+ type: object
+ type: array
+ x-kubernetes-list-type: atomic
resources:
properties:
claims:
@@ -6364,20 +6989,33 @@ spec:
x-kubernetes-int-or-string: true
type: object
type: object
+ restartPolicy:
+ type: string
securityContext:
properties:
allowPrivilegeEscalation:
type: boolean
+ appArmorProfile:
+ properties:
+ localhostProfile:
+ type: string
+ type:
+ type: string
+ required:
+ - type
+ type: object
capabilities:
properties:
add:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
drop:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
privileged:
type: boolean
@@ -6433,6 +7071,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -6463,6 +7102,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -6525,6 +7165,9 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - devicePath
+ x-kubernetes-list-type: map
volumeMounts:
items:
properties:
@@ -6536,6 +7179,8 @@ spec:
type: string
readOnly:
type: boolean
+ recursiveReadOnly:
+ type: string
subPath:
type: string
subPathExpr:
@@ -6545,6 +7190,9 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - mountPath
+ x-kubernetes-list-type: map
workingDir:
type: string
required:
@@ -6601,6 +7249,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -6615,6 +7264,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -6632,6 +7282,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -6669,6 +7320,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -6694,11 +7346,14 @@ spec:
type: array
insecureIgnoreHostKey:
type: boolean
+ insecureSkipTLS:
+ type: boolean
passwordSecret:
properties:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -6717,6 +7372,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -6729,6 +7385,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -6758,6 +7415,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -6770,6 +7428,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -6782,6 +7441,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -6811,6 +7471,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -6823,6 +7484,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -6838,6 +7500,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -6850,6 +7513,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -6865,6 +7529,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -6877,6 +7542,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -6904,6 +7570,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -6944,6 +7611,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -6973,6 +7641,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -7005,6 +7674,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -7019,6 +7689,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -7044,6 +7715,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -7067,6 +7739,20 @@ spec:
key:
type: string
name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ sessionTokenSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
type: string
optional:
type: boolean
@@ -7107,6 +7793,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -7145,6 +7832,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -7293,6 +7981,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -7307,6 +7996,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -7324,6 +8014,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -7361,6 +8052,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -7386,11 +8078,14 @@ spec:
type: array
insecureIgnoreHostKey:
type: boolean
+ insecureSkipTLS:
+ type: boolean
passwordSecret:
properties:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -7409,6 +8104,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -7421,6 +8117,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -7450,6 +8147,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -7462,6 +8160,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -7474,6 +8173,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -7503,6 +8203,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -7515,6 +8216,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -7530,6 +8232,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -7542,6 +8245,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -7557,6 +8261,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -7569,6 +8274,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -7596,6 +8302,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -7636,6 +8343,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -7665,6 +8373,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -7697,6 +8406,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -7711,6 +8421,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -7736,6 +8447,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -7759,6 +8471,20 @@ spec:
key:
type: string
name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ sessionTokenSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
type: string
optional:
type: boolean
@@ -7801,6 +8527,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -7905,6 +8632,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -7919,6 +8647,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -7936,6 +8665,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -7973,6 +8703,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -7998,11 +8729,14 @@ spec:
type: array
insecureIgnoreHostKey:
type: boolean
+ insecureSkipTLS:
+ type: boolean
passwordSecret:
properties:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -8021,6 +8755,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -8033,6 +8768,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -8062,6 +8798,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -8074,6 +8811,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -8086,6 +8824,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -8115,6 +8854,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -8127,6 +8867,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -8142,6 +8883,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -8154,6 +8896,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -8169,6 +8912,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -8181,6 +8925,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -8208,6 +8953,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -8248,6 +8994,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -8277,6 +9024,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -8309,6 +9057,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -8323,6 +9072,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -8348,6 +9098,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -8371,6 +9122,20 @@ spec:
key:
type: string
name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ sessionTokenSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
type: string
optional:
type: boolean
@@ -8435,10 +9200,12 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
command:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
env:
items:
properties:
@@ -8453,6 +9220,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -8491,6 +9259,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -8503,12 +9272,16 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - name
+ x-kubernetes-list-type: map
envFrom:
items:
properties:
configMapRef:
properties:
name:
+ default: ""
type: string
optional:
type: boolean
@@ -8519,6 +9292,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
optional:
type: boolean
@@ -8526,6 +9300,7 @@ spec:
x-kubernetes-map-type: atomic
type: object
type: array
+ x-kubernetes-list-type: atomic
image:
type: string
imagePullPolicy:
@@ -8540,6 +9315,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
httpGet:
properties:
@@ -8557,6 +9333,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -8569,6 +9346,14 @@ spec:
required:
- port
type: object
+ sleep:
+ properties:
+ seconds:
+ format: int64
+ type: integer
+ required:
+ - seconds
+ type: object
tcpSocket:
properties:
host:
@@ -8590,6 +9375,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
httpGet:
properties:
@@ -8607,6 +9393,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -8619,6 +9406,14 @@ spec:
required:
- port
type: object
+ sleep:
+ properties:
+ seconds:
+ format: int64
+ type: integer
+ required:
+ - seconds
+ type: object
tcpSocket:
properties:
host:
@@ -8641,6 +9436,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -8671,6 +9467,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -8745,6 +9542,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -8775,6 +9573,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -8815,6 +9614,19 @@ spec:
format: int32
type: integer
type: object
+ resizePolicy:
+ items:
+ properties:
+ resourceName:
+ type: string
+ restartPolicy:
+ type: string
+ required:
+ - resourceName
+ - restartPolicy
+ type: object
+ type: array
+ x-kubernetes-list-type: atomic
resources:
properties:
claims:
@@ -8846,20 +9658,33 @@ spec:
x-kubernetes-int-or-string: true
type: object
type: object
+ restartPolicy:
+ type: string
securityContext:
properties:
allowPrivilegeEscalation:
type: boolean
+ appArmorProfile:
+ properties:
+ localhostProfile:
+ type: string
+ type:
+ type: string
+ required:
+ - type
+ type: object
capabilities:
properties:
add:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
drop:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
privileged:
type: boolean
@@ -8917,6 +9742,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -8947,6 +9773,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -9009,6 +9836,9 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - devicePath
+ x-kubernetes-list-type: map
volumeMounts:
items:
properties:
@@ -9020,6 +9850,8 @@ spec:
type: string
readOnly:
type: boolean
+ recursiveReadOnly:
+ type: string
subPath:
type: string
subPathExpr:
@@ -9029,6 +9861,9 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - mountPath
+ x-kubernetes-list-type: map
workingDir:
type: string
required:
@@ -9037,6 +9872,15 @@ spec:
type: object
securityContext:
properties:
+ appArmorProfile:
+ properties:
+ localhostProfile:
+ type: string
+ type:
+ type: string
+ required:
+ - type
+ type: object
fsGroup:
format: int64
type: integer
@@ -9075,6 +9919,7 @@ spec:
format: int64
type: integer
type: array
+ x-kubernetes-list-type: atomic
sysctls:
items:
properties:
@@ -9087,6 +9932,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
windowsOptions:
properties:
gmsaCredentialSpec:
@@ -9108,10 +9954,12 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
command:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
env:
items:
properties:
@@ -9126,6 +9974,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -9164,6 +10013,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -9176,12 +10026,16 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - name
+ x-kubernetes-list-type: map
envFrom:
items:
properties:
configMapRef:
properties:
name:
+ default: ""
type: string
optional:
type: boolean
@@ -9192,6 +10046,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
optional:
type: boolean
@@ -9199,6 +10054,7 @@ spec:
x-kubernetes-map-type: atomic
type: object
type: array
+ x-kubernetes-list-type: atomic
image:
type: string
imagePullPolicy:
@@ -9213,6 +10069,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
httpGet:
properties:
@@ -9230,6 +10087,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -9242,6 +10100,14 @@ spec:
required:
- port
type: object
+ sleep:
+ properties:
+ seconds:
+ format: int64
+ type: integer
+ required:
+ - seconds
+ type: object
tcpSocket:
properties:
host:
@@ -9263,6 +10129,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
httpGet:
properties:
@@ -9280,6 +10147,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -9292,6 +10160,14 @@ spec:
required:
- port
type: object
+ sleep:
+ properties:
+ seconds:
+ format: int64
+ type: integer
+ required:
+ - seconds
+ type: object
tcpSocket:
properties:
host:
@@ -9314,6 +10190,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -9344,6 +10221,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -9420,6 +10298,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -9450,6 +10329,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -9490,6 +10370,19 @@ spec:
format: int32
type: integer
type: object
+ resizePolicy:
+ items:
+ properties:
+ resourceName:
+ type: string
+ restartPolicy:
+ type: string
+ required:
+ - resourceName
+ - restartPolicy
+ type: object
+ type: array
+ x-kubernetes-list-type: atomic
resources:
properties:
claims:
@@ -9521,20 +10414,33 @@ spec:
x-kubernetes-int-or-string: true
type: object
type: object
+ restartPolicy:
+ type: string
securityContext:
properties:
allowPrivilegeEscalation:
type: boolean
+ appArmorProfile:
+ properties:
+ localhostProfile:
+ type: string
+ type:
+ type: string
+ required:
+ - type
+ type: object
capabilities:
properties:
add:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
drop:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
privileged:
type: boolean
@@ -9590,6 +10496,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -9620,6 +10527,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -9682,6 +10590,9 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - devicePath
+ x-kubernetes-list-type: map
volumeMounts:
items:
properties:
@@ -9693,6 +10604,8 @@ spec:
type: string
readOnly:
type: boolean
+ recursiveReadOnly:
+ type: string
subPath:
type: string
subPathExpr:
@@ -9702,6 +10615,9 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - mountPath
+ x-kubernetes-list-type: map
workingDir:
type: string
required:
@@ -9726,6 +10642,15 @@ spec:
namespace:
type: string
type: object
+ mutexes:
+ items:
+ properties:
+ name:
+ type: string
+ namespace:
+ type: string
+ type: object
+ type: array
semaphore:
properties:
configMapKeyRef:
@@ -9733,6 +10658,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -9743,6 +10669,26 @@ spec:
namespace:
type: string
type: object
+ semaphores:
+ items:
+ properties:
+ configMapKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ namespace:
+ type: string
+ type: object
+ type: array
type: object
timeout:
type: string
@@ -9815,6 +10761,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
readOnly:
@@ -9824,6 +10771,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
type: object
x-kubernetes-map-type: atomic
@@ -9841,6 +10789,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
type: object
x-kubernetes-map-type: atomic
@@ -9869,7 +10818,9 @@ spec:
- path
type: object
type: array
+ x-kubernetes-list-type: atomic
name:
+ default: ""
type: string
optional:
type: boolean
@@ -9884,6 +10835,7 @@ spec:
nodePublishSecretRef:
properties:
name:
+ default: ""
type: string
type: object
x-kubernetes-map-type: atomic
@@ -9939,6 +10891,7 @@ spec:
- path
type: object
type: array
+ x-kubernetes-list-type: atomic
type: object
emptyDir:
properties:
@@ -9963,6 +10916,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
dataSource:
properties:
apiGroup:
@@ -9992,18 +10946,6 @@ spec:
type: object
resources:
properties:
- claims:
- items:
- properties:
- name:
- type: string
- required:
- - name
- type: object
- type: array
- x-kubernetes-list-map-keys:
- - name
- x-kubernetes-list-type: map
limits:
additionalProperties:
anyOf:
@@ -10034,11 +10976,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
@@ -10047,6 +10991,8 @@ spec:
x-kubernetes-map-type: atomic
storageClassName:
type: string
+ volumeAttributesClassName:
+ type: string
volumeMode:
type: string
volumeName:
@@ -10069,10 +11015,12 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
wwids:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
flexVolume:
properties:
@@ -10089,6 +11037,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
type: object
x-kubernetes-map-type: atomic
@@ -10169,11 +11118,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
readOnly:
type: boolean
secretRef:
properties:
name:
+ default: ""
type: string
type: object
x-kubernetes-map-type: atomic
@@ -10235,6 +11186,45 @@ spec:
sources:
items:
properties:
+ clusterTrustBundle:
+ properties:
+ labelSelector:
+ properties:
+ matchExpressions:
+ items:
+ properties:
+ key:
+ type: string
+ operator:
+ type: string
+ values:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
+ required:
+ - key
+ - operator
+ type: object
+ type: array
+ x-kubernetes-list-type: atomic
+ matchLabels:
+ additionalProperties:
+ type: string
+ type: object
+ type: object
+ x-kubernetes-map-type: atomic
+ name:
+ type: string
+ optional:
+ type: boolean
+ path:
+ type: string
+ signerName:
+ type: string
+ required:
+ - path
+ type: object
configMap:
properties:
items:
@@ -10252,7 +11242,9 @@ spec:
- path
type: object
type: array
+ x-kubernetes-list-type: atomic
name:
+ default: ""
type: string
optional:
type: boolean
@@ -10298,6 +11290,7 @@ spec:
- path
type: object
type: array
+ x-kubernetes-list-type: atomic
type: object
secret:
properties:
@@ -10316,7 +11309,9 @@ spec:
- path
type: object
type: array
+ x-kubernetes-list-type: atomic
name:
+ default: ""
type: string
optional:
type: boolean
@@ -10336,6 +11331,7 @@ spec:
type: object
type: object
type: array
+ x-kubernetes-list-type: atomic
type: object
quobyte:
properties:
@@ -10367,6 +11363,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
pool:
type: string
readOnly:
@@ -10374,6 +11371,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
type: object
x-kubernetes-map-type: atomic
@@ -10396,6 +11394,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
type: object
x-kubernetes-map-type: atomic
@@ -10434,6 +11433,7 @@ spec:
- path
type: object
type: array
+ x-kubernetes-list-type: atomic
optional:
type: boolean
secretName:
@@ -10448,6 +11448,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
type: object
x-kubernetes-map-type: atomic
@@ -10502,11 +11503,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchFields:
items:
properties:
@@ -10518,11 +11521,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
type: object
x-kubernetes-map-type: atomic
weight:
@@ -10533,6 +11538,7 @@ spec:
- weight
type: object
type: array
+ x-kubernetes-list-type: atomic
requiredDuringSchedulingIgnoredDuringExecution:
properties:
nodeSelectorTerms:
@@ -10549,11 +11555,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchFields:
items:
properties:
@@ -10565,14 +11573,17 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
type: object
x-kubernetes-map-type: atomic
type: array
+ x-kubernetes-list-type: atomic
required:
- nodeSelectorTerms
type: object
@@ -10598,17 +11609,29 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
type: object
type: object
x-kubernetes-map-type: atomic
+ matchLabelKeys:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
+ mismatchLabelKeys:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
namespaceSelector:
properties:
matchExpressions:
@@ -10622,11 +11645,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
@@ -10637,6 +11662,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
topologyKey:
type: string
required:
@@ -10650,6 +11676,7 @@ spec:
- weight
type: object
type: array
+ x-kubernetes-list-type: atomic
requiredDuringSchedulingIgnoredDuringExecution:
items:
properties:
@@ -10666,17 +11693,29 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
type: object
type: object
x-kubernetes-map-type: atomic
+ matchLabelKeys:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
+ mismatchLabelKeys:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
namespaceSelector:
properties:
matchExpressions:
@@ -10690,11 +11729,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
@@ -10705,12 +11746,14 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
topologyKey:
type: string
required:
- topologyKey
type: object
type: array
+ x-kubernetes-list-type: atomic
type: object
podAntiAffinity:
properties:
@@ -10732,17 +11775,29 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
type: object
type: object
x-kubernetes-map-type: atomic
+ matchLabelKeys:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
+ mismatchLabelKeys:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
namespaceSelector:
properties:
matchExpressions:
@@ -10756,11 +11811,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
@@ -10771,6 +11828,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
topologyKey:
type: string
required:
@@ -10784,6 +11842,7 @@ spec:
- weight
type: object
type: array
+ x-kubernetes-list-type: atomic
requiredDuringSchedulingIgnoredDuringExecution:
items:
properties:
@@ -10800,17 +11859,29 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
type: object
type: object
x-kubernetes-map-type: atomic
+ matchLabelKeys:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
+ mismatchLabelKeys:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
namespaceSelector:
properties:
matchExpressions:
@@ -10824,11 +11895,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
@@ -10839,12 +11912,14 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
topologyKey:
type: string
required:
- topologyKey
type: object
type: array
+ x-kubernetes-list-type: atomic
type: object
type: object
archiveLocation:
@@ -10858,6 +11933,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -10872,6 +11948,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -10889,6 +11966,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -10920,6 +11998,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -10945,11 +12024,14 @@ spec:
type: array
insecureIgnoreHostKey:
type: boolean
+ insecureSkipTLS:
+ type: boolean
passwordSecret:
properties:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -10968,6 +12050,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -10980,6 +12063,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -11007,6 +12091,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -11019,6 +12104,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -11031,6 +12117,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -11060,6 +12147,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -11072,6 +12160,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -11087,6 +12176,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -11099,6 +12189,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -11114,6 +12205,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -11126,6 +12218,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -11153,6 +12246,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -11186,6 +12280,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -11215,6 +12310,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -11243,6 +12339,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -11257,6 +12354,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -11282,6 +12380,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -11305,6 +12404,20 @@ spec:
key:
type: string
name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ sessionTokenSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
type: string
optional:
type: boolean
@@ -11324,10 +12437,12 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
command:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
env:
items:
properties:
@@ -11342,6 +12457,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -11380,6 +12496,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -11392,12 +12509,16 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - name
+ x-kubernetes-list-type: map
envFrom:
items:
properties:
configMapRef:
properties:
name:
+ default: ""
type: string
optional:
type: boolean
@@ -11408,6 +12529,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
optional:
type: boolean
@@ -11415,6 +12537,7 @@ spec:
x-kubernetes-map-type: atomic
type: object
type: array
+ x-kubernetes-list-type: atomic
image:
type: string
imagePullPolicy:
@@ -11429,6 +12552,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
httpGet:
properties:
@@ -11446,6 +12570,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -11458,6 +12583,14 @@ spec:
required:
- port
type: object
+ sleep:
+ properties:
+ seconds:
+ format: int64
+ type: integer
+ required:
+ - seconds
+ type: object
tcpSocket:
properties:
host:
@@ -11479,6 +12612,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
httpGet:
properties:
@@ -11496,6 +12630,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -11508,6 +12643,14 @@ spec:
required:
- port
type: object
+ sleep:
+ properties:
+ seconds:
+ format: int64
+ type: integer
+ required:
+ - seconds
+ type: object
tcpSocket:
properties:
host:
@@ -11530,6 +12673,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -11560,6 +12704,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -11634,6 +12779,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -11664,6 +12810,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -11704,6 +12851,19 @@ spec:
format: int32
type: integer
type: object
+ resizePolicy:
+ items:
+ properties:
+ resourceName:
+ type: string
+ restartPolicy:
+ type: string
+ required:
+ - resourceName
+ - restartPolicy
+ type: object
+ type: array
+ x-kubernetes-list-type: atomic
resources:
properties:
claims:
@@ -11735,20 +12895,33 @@ spec:
x-kubernetes-int-or-string: true
type: object
type: object
+ restartPolicy:
+ type: string
securityContext:
properties:
allowPrivilegeEscalation:
type: boolean
+ appArmorProfile:
+ properties:
+ localhostProfile:
+ type: string
+ type:
+ type: string
+ required:
+ - type
+ type: object
capabilities:
properties:
add:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
drop:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
privileged:
type: boolean
@@ -11804,6 +12977,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -11834,6 +13008,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -11896,6 +13071,9 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - devicePath
+ x-kubernetes-list-type: map
volumeMounts:
items:
properties:
@@ -11907,6 +13085,8 @@ spec:
type: string
readOnly:
type: boolean
+ recursiveReadOnly:
+ type: string
subPath:
type: string
subPathExpr:
@@ -11916,6 +13096,9 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - mountPath
+ x-kubernetes-list-type: map
workingDir:
type: string
required:
@@ -11930,10 +13113,12 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
command:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
dependencies:
items:
type: string
@@ -11952,6 +13137,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -11990,6 +13176,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -12002,12 +13189,16 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - name
+ x-kubernetes-list-type: map
envFrom:
items:
properties:
configMapRef:
properties:
name:
+ default: ""
type: string
optional:
type: boolean
@@ -12018,6 +13209,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
optional:
type: boolean
@@ -12025,6 +13217,7 @@ spec:
x-kubernetes-map-type: atomic
type: object
type: array
+ x-kubernetes-list-type: atomic
image:
type: string
imagePullPolicy:
@@ -12039,6 +13232,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
httpGet:
properties:
@@ -12056,6 +13250,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -12068,6 +13263,14 @@ spec:
required:
- port
type: object
+ sleep:
+ properties:
+ seconds:
+ format: int64
+ type: integer
+ required:
+ - seconds
+ type: object
tcpSocket:
properties:
host:
@@ -12089,6 +13292,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
httpGet:
properties:
@@ -12106,6 +13310,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -12118,6 +13323,14 @@ spec:
required:
- port
type: object
+ sleep:
+ properties:
+ seconds:
+ format: int64
+ type: integer
+ required:
+ - seconds
+ type: object
tcpSocket:
properties:
host:
@@ -12140,6 +13353,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -12170,6 +13384,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -12244,6 +13459,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -12274,6 +13490,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -12314,6 +13531,19 @@ spec:
format: int32
type: integer
type: object
+ resizePolicy:
+ items:
+ properties:
+ resourceName:
+ type: string
+ restartPolicy:
+ type: string
+ required:
+ - resourceName
+ - restartPolicy
+ type: object
+ type: array
+ x-kubernetes-list-type: atomic
resources:
properties:
claims:
@@ -12345,20 +13575,33 @@ spec:
x-kubernetes-int-or-string: true
type: object
type: object
+ restartPolicy:
+ type: string
securityContext:
properties:
allowPrivilegeEscalation:
type: boolean
+ appArmorProfile:
+ properties:
+ localhostProfile:
+ type: string
+ type:
+ type: string
+ required:
+ - type
+ type: object
capabilities:
properties:
add:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
drop:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
privileged:
type: boolean
@@ -12414,6 +13657,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -12444,6 +13688,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -12506,6 +13751,9 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - devicePath
+ x-kubernetes-list-type: map
volumeMounts:
items:
properties:
@@ -12517,6 +13765,8 @@ spec:
type: string
readOnly:
type: boolean
+ recursiveReadOnly:
+ type: string
subPath:
type: string
subPathExpr:
@@ -12526,6 +13776,9 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - mountPath
+ x-kubernetes-list-type: map
workingDir:
type: string
required:
@@ -12555,6 +13808,8 @@ spec:
type: string
readOnly:
type: boolean
+ recursiveReadOnly:
+ type: string
subPath:
type: string
subPathExpr:
@@ -12628,6 +13883,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -12642,6 +13898,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -12659,6 +13916,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -12696,6 +13954,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -12721,11 +13980,14 @@ spec:
type: array
insecureIgnoreHostKey:
type: boolean
+ insecureSkipTLS:
+ type: boolean
passwordSecret:
properties:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -12744,6 +14006,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -12756,6 +14019,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -12785,6 +14049,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -12797,6 +14062,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -12809,6 +14075,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -12838,6 +14105,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -12850,6 +14118,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -12865,6 +14134,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -12877,6 +14147,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -12892,6 +14163,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -12904,6 +14176,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -12931,6 +14204,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -12971,6 +14245,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -13000,6 +14275,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -13032,6 +14308,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -13046,6 +14323,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -13071,6 +14349,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -13094,6 +14373,20 @@ spec:
key:
type: string
name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ sessionTokenSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
type: string
optional:
type: boolean
@@ -13134,6 +14427,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -13229,6 +14523,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -13243,6 +14538,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -13260,6 +14556,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -13297,6 +14594,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -13322,11 +14620,14 @@ spec:
type: array
insecureIgnoreHostKey:
type: boolean
+ insecureSkipTLS:
+ type: boolean
passwordSecret:
properties:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -13345,6 +14646,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -13357,6 +14659,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -13386,6 +14689,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -13398,6 +14702,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -13410,6 +14715,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -13439,6 +14745,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -13451,6 +14758,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -13466,6 +14774,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -13478,6 +14787,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -13493,6 +14803,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -13505,6 +14816,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -13532,6 +14844,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -13572,6 +14885,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -13601,6 +14915,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -13633,6 +14948,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -13647,6 +14963,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -13672,6 +14989,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -13695,6 +15013,20 @@ spec:
key:
type: string
name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ sessionTokenSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
type: string
optional:
type: boolean
@@ -13735,6 +15067,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -13881,6 +15214,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -13895,6 +15229,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -13912,6 +15247,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -13949,6 +15285,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -13974,11 +15311,14 @@ spec:
type: array
insecureIgnoreHostKey:
type: boolean
+ insecureSkipTLS:
+ type: boolean
passwordSecret:
properties:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -13997,6 +15337,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -14009,6 +15350,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -14038,6 +15380,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -14050,6 +15393,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -14062,6 +15406,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -14091,6 +15436,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -14103,6 +15449,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -14118,6 +15465,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -14130,6 +15478,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -14145,6 +15494,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -14157,6 +15507,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -14184,6 +15535,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -14224,6 +15576,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -14253,6 +15606,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -14285,6 +15639,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -14299,6 +15654,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -14324,6 +15680,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -14347,6 +15704,20 @@ spec:
key:
type: string
name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ sessionTokenSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
type: string
optional:
type: boolean
@@ -14390,8 +15761,11 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
ip:
type: string
+ required:
+ - ip
type: object
type: array
http:
@@ -14418,6 +15792,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -14451,10 +15826,12 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
command:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
env:
items:
properties:
@@ -14469,6 +15846,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -14507,6 +15885,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -14519,12 +15898,16 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - name
+ x-kubernetes-list-type: map
envFrom:
items:
properties:
configMapRef:
properties:
name:
+ default: ""
type: string
optional:
type: boolean
@@ -14535,6 +15918,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
optional:
type: boolean
@@ -14542,6 +15926,7 @@ spec:
x-kubernetes-map-type: atomic
type: object
type: array
+ x-kubernetes-list-type: atomic
image:
type: string
imagePullPolicy:
@@ -14556,6 +15941,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
httpGet:
properties:
@@ -14573,6 +15959,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -14585,6 +15972,14 @@ spec:
required:
- port
type: object
+ sleep:
+ properties:
+ seconds:
+ format: int64
+ type: integer
+ required:
+ - seconds
+ type: object
tcpSocket:
properties:
host:
@@ -14606,6 +16001,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
httpGet:
properties:
@@ -14623,6 +16019,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -14635,6 +16032,14 @@ spec:
required:
- port
type: object
+ sleep:
+ properties:
+ seconds:
+ format: int64
+ type: integer
+ required:
+ - seconds
+ type: object
tcpSocket:
properties:
host:
@@ -14657,6 +16062,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -14687,6 +16093,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -14763,6 +16170,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -14793,6 +16201,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -14833,6 +16242,19 @@ spec:
format: int32
type: integer
type: object
+ resizePolicy:
+ items:
+ properties:
+ resourceName:
+ type: string
+ restartPolicy:
+ type: string
+ required:
+ - resourceName
+ - restartPolicy
+ type: object
+ type: array
+ x-kubernetes-list-type: atomic
resources:
properties:
claims:
@@ -14864,20 +16286,33 @@ spec:
x-kubernetes-int-or-string: true
type: object
type: object
+ restartPolicy:
+ type: string
securityContext:
properties:
allowPrivilegeEscalation:
type: boolean
+ appArmorProfile:
+ properties:
+ localhostProfile:
+ type: string
+ type:
+ type: string
+ required:
+ - type
+ type: object
capabilities:
properties:
add:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
drop:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
privileged:
type: boolean
@@ -14933,6 +16368,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -14963,6 +16399,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -15025,6 +16462,9 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - devicePath
+ x-kubernetes-list-type: map
volumeMounts:
items:
properties:
@@ -15036,6 +16476,8 @@ spec:
type: string
readOnly:
type: boolean
+ recursiveReadOnly:
+ type: string
subPath:
type: string
subPathExpr:
@@ -15045,6 +16487,9 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - mountPath
+ x-kubernetes-list-type: map
workingDir:
type: string
required:
@@ -15101,6 +16546,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -15115,6 +16561,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -15132,6 +16579,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -15169,6 +16617,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -15194,11 +16643,14 @@ spec:
type: array
insecureIgnoreHostKey:
type: boolean
+ insecureSkipTLS:
+ type: boolean
passwordSecret:
properties:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -15217,6 +16669,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -15229,6 +16682,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -15258,6 +16712,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -15270,6 +16725,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -15282,6 +16738,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -15311,6 +16768,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -15323,6 +16781,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -15338,6 +16797,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -15350,6 +16810,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -15365,6 +16826,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -15377,6 +16839,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -15404,6 +16867,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -15444,6 +16908,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -15473,6 +16938,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -15505,6 +16971,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -15519,6 +16986,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -15544,6 +17012,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -15567,6 +17036,20 @@ spec:
key:
type: string
name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ sessionTokenSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
type: string
optional:
type: boolean
@@ -15607,6 +17090,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -15645,6 +17129,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -15793,6 +17278,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -15807,6 +17293,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -15824,6 +17311,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -15861,6 +17349,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -15886,11 +17375,14 @@ spec:
type: array
insecureIgnoreHostKey:
type: boolean
+ insecureSkipTLS:
+ type: boolean
passwordSecret:
properties:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -15909,6 +17401,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -15921,6 +17414,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -15950,6 +17444,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -15962,6 +17457,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -15974,6 +17470,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -16003,6 +17500,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -16015,6 +17513,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -16030,6 +17529,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -16042,6 +17542,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -16057,6 +17558,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -16069,6 +17571,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -16096,6 +17599,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -16136,6 +17640,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -16165,6 +17670,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -16197,6 +17703,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -16211,6 +17718,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -16236,6 +17744,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -16259,6 +17768,20 @@ spec:
key:
type: string
name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ sessionTokenSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
type: string
optional:
type: boolean
@@ -16301,6 +17824,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -16405,6 +17929,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -16419,6 +17944,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -16436,6 +17962,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -16473,6 +18000,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -16498,11 +18026,14 @@ spec:
type: array
insecureIgnoreHostKey:
type: boolean
+ insecureSkipTLS:
+ type: boolean
passwordSecret:
properties:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -16521,6 +18052,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -16533,6 +18065,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -16562,6 +18095,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -16574,6 +18108,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -16586,6 +18121,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -16615,6 +18151,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -16627,6 +18164,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -16642,6 +18180,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -16654,6 +18193,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -16669,6 +18209,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -16681,6 +18222,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -16708,6 +18250,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -16748,6 +18291,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -16777,6 +18321,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -16809,6 +18354,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -16823,6 +18369,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -16848,6 +18395,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -16871,6 +18419,20 @@ spec:
key:
type: string
name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ sessionTokenSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
type: string
optional:
type: boolean
@@ -16935,10 +18497,12 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
command:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
env:
items:
properties:
@@ -16953,6 +18517,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -16991,6 +18556,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -17003,12 +18569,16 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - name
+ x-kubernetes-list-type: map
envFrom:
items:
properties:
configMapRef:
properties:
name:
+ default: ""
type: string
optional:
type: boolean
@@ -17019,6 +18589,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
optional:
type: boolean
@@ -17026,6 +18597,7 @@ spec:
x-kubernetes-map-type: atomic
type: object
type: array
+ x-kubernetes-list-type: atomic
image:
type: string
imagePullPolicy:
@@ -17040,6 +18612,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
httpGet:
properties:
@@ -17057,6 +18630,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -17069,6 +18643,14 @@ spec:
required:
- port
type: object
+ sleep:
+ properties:
+ seconds:
+ format: int64
+ type: integer
+ required:
+ - seconds
+ type: object
tcpSocket:
properties:
host:
@@ -17090,6 +18672,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
httpGet:
properties:
@@ -17107,6 +18690,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -17119,6 +18703,14 @@ spec:
required:
- port
type: object
+ sleep:
+ properties:
+ seconds:
+ format: int64
+ type: integer
+ required:
+ - seconds
+ type: object
tcpSocket:
properties:
host:
@@ -17141,6 +18733,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -17171,6 +18764,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -17245,6 +18839,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -17275,6 +18870,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -17315,6 +18911,19 @@ spec:
format: int32
type: integer
type: object
+ resizePolicy:
+ items:
+ properties:
+ resourceName:
+ type: string
+ restartPolicy:
+ type: string
+ required:
+ - resourceName
+ - restartPolicy
+ type: object
+ type: array
+ x-kubernetes-list-type: atomic
resources:
properties:
claims:
@@ -17346,20 +18955,33 @@ spec:
x-kubernetes-int-or-string: true
type: object
type: object
+ restartPolicy:
+ type: string
securityContext:
properties:
allowPrivilegeEscalation:
type: boolean
+ appArmorProfile:
+ properties:
+ localhostProfile:
+ type: string
+ type:
+ type: string
+ required:
+ - type
+ type: object
capabilities:
properties:
add:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
drop:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
privileged:
type: boolean
@@ -17417,6 +19039,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -17447,6 +19070,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -17509,6 +19133,9 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - devicePath
+ x-kubernetes-list-type: map
volumeMounts:
items:
properties:
@@ -17520,6 +19147,8 @@ spec:
type: string
readOnly:
type: boolean
+ recursiveReadOnly:
+ type: string
subPath:
type: string
subPathExpr:
@@ -17529,6 +19158,9 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - mountPath
+ x-kubernetes-list-type: map
workingDir:
type: string
required:
@@ -17537,6 +19169,15 @@ spec:
type: object
securityContext:
properties:
+ appArmorProfile:
+ properties:
+ localhostProfile:
+ type: string
+ type:
+ type: string
+ required:
+ - type
+ type: object
fsGroup:
format: int64
type: integer
@@ -17575,6 +19216,7 @@ spec:
format: int64
type: integer
type: array
+ x-kubernetes-list-type: atomic
sysctls:
items:
properties:
@@ -17587,6 +19229,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
windowsOptions:
properties:
gmsaCredentialSpec:
@@ -17608,10 +19251,12 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
command:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
env:
items:
properties:
@@ -17626,6 +19271,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -17664,6 +19310,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -17676,12 +19323,16 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - name
+ x-kubernetes-list-type: map
envFrom:
items:
properties:
configMapRef:
properties:
name:
+ default: ""
type: string
optional:
type: boolean
@@ -17692,6 +19343,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
optional:
type: boolean
@@ -17699,6 +19351,7 @@ spec:
x-kubernetes-map-type: atomic
type: object
type: array
+ x-kubernetes-list-type: atomic
image:
type: string
imagePullPolicy:
@@ -17713,6 +19366,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
httpGet:
properties:
@@ -17730,6 +19384,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -17742,6 +19397,14 @@ spec:
required:
- port
type: object
+ sleep:
+ properties:
+ seconds:
+ format: int64
+ type: integer
+ required:
+ - seconds
+ type: object
tcpSocket:
properties:
host:
@@ -17763,6 +19426,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
httpGet:
properties:
@@ -17780,6 +19444,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -17792,6 +19457,14 @@ spec:
required:
- port
type: object
+ sleep:
+ properties:
+ seconds:
+ format: int64
+ type: integer
+ required:
+ - seconds
+ type: object
tcpSocket:
properties:
host:
@@ -17814,6 +19487,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -17844,6 +19518,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -17920,6 +19595,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -17950,6 +19626,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -17990,6 +19667,19 @@ spec:
format: int32
type: integer
type: object
+ resizePolicy:
+ items:
+ properties:
+ resourceName:
+ type: string
+ restartPolicy:
+ type: string
+ required:
+ - resourceName
+ - restartPolicy
+ type: object
+ type: array
+ x-kubernetes-list-type: atomic
resources:
properties:
claims:
@@ -18021,20 +19711,33 @@ spec:
x-kubernetes-int-or-string: true
type: object
type: object
+ restartPolicy:
+ type: string
securityContext:
properties:
allowPrivilegeEscalation:
type: boolean
+ appArmorProfile:
+ properties:
+ localhostProfile:
+ type: string
+ type:
+ type: string
+ required:
+ - type
+ type: object
capabilities:
properties:
add:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
drop:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
privileged:
type: boolean
@@ -18090,6 +19793,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -18120,6 +19824,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -18182,6 +19887,9 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - devicePath
+ x-kubernetes-list-type: map
volumeMounts:
items:
properties:
@@ -18193,6 +19901,8 @@ spec:
type: string
readOnly:
type: boolean
+ recursiveReadOnly:
+ type: string
subPath:
type: string
subPathExpr:
@@ -18202,6 +19912,9 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - mountPath
+ x-kubernetes-list-type: map
workingDir:
type: string
required:
@@ -18226,6 +19939,15 @@ spec:
namespace:
type: string
type: object
+ mutexes:
+ items:
+ properties:
+ name:
+ type: string
+ namespace:
+ type: string
+ type: object
+ type: array
semaphore:
properties:
configMapKeyRef:
@@ -18233,6 +19955,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -18243,6 +19966,26 @@ spec:
namespace:
type: string
type: object
+ semaphores:
+ items:
+ properties:
+ configMapKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ namespace:
+ type: string
+ type: object
+ type: array
type: object
timeout:
type: string
@@ -18315,6 +20058,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
readOnly:
@@ -18324,6 +20068,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
type: object
x-kubernetes-map-type: atomic
@@ -18341,6 +20086,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
type: object
x-kubernetes-map-type: atomic
@@ -18369,7 +20115,9 @@ spec:
- path
type: object
type: array
+ x-kubernetes-list-type: atomic
name:
+ default: ""
type: string
optional:
type: boolean
@@ -18384,6 +20132,7 @@ spec:
nodePublishSecretRef:
properties:
name:
+ default: ""
type: string
type: object
x-kubernetes-map-type: atomic
@@ -18439,6 +20188,7 @@ spec:
- path
type: object
type: array
+ x-kubernetes-list-type: atomic
type: object
emptyDir:
properties:
@@ -18463,6 +20213,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
dataSource:
properties:
apiGroup:
@@ -18492,18 +20243,6 @@ spec:
type: object
resources:
properties:
- claims:
- items:
- properties:
- name:
- type: string
- required:
- - name
- type: object
- type: array
- x-kubernetes-list-map-keys:
- - name
- x-kubernetes-list-type: map
limits:
additionalProperties:
anyOf:
@@ -18534,11 +20273,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
@@ -18547,6 +20288,8 @@ spec:
x-kubernetes-map-type: atomic
storageClassName:
type: string
+ volumeAttributesClassName:
+ type: string
volumeMode:
type: string
volumeName:
@@ -18569,10 +20312,12 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
wwids:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
flexVolume:
properties:
@@ -18589,6 +20334,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
type: object
x-kubernetes-map-type: atomic
@@ -18669,11 +20415,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
readOnly:
type: boolean
secretRef:
properties:
name:
+ default: ""
type: string
type: object
x-kubernetes-map-type: atomic
@@ -18735,6 +20483,45 @@ spec:
sources:
items:
properties:
+ clusterTrustBundle:
+ properties:
+ labelSelector:
+ properties:
+ matchExpressions:
+ items:
+ properties:
+ key:
+ type: string
+ operator:
+ type: string
+ values:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
+ required:
+ - key
+ - operator
+ type: object
+ type: array
+ x-kubernetes-list-type: atomic
+ matchLabels:
+ additionalProperties:
+ type: string
+ type: object
+ type: object
+ x-kubernetes-map-type: atomic
+ name:
+ type: string
+ optional:
+ type: boolean
+ path:
+ type: string
+ signerName:
+ type: string
+ required:
+ - path
+ type: object
configMap:
properties:
items:
@@ -18752,7 +20539,9 @@ spec:
- path
type: object
type: array
+ x-kubernetes-list-type: atomic
name:
+ default: ""
type: string
optional:
type: boolean
@@ -18798,6 +20587,7 @@ spec:
- path
type: object
type: array
+ x-kubernetes-list-type: atomic
type: object
secret:
properties:
@@ -18816,7 +20606,9 @@ spec:
- path
type: object
type: array
+ x-kubernetes-list-type: atomic
name:
+ default: ""
type: string
optional:
type: boolean
@@ -18836,6 +20628,7 @@ spec:
type: object
type: object
type: array
+ x-kubernetes-list-type: atomic
type: object
quobyte:
properties:
@@ -18867,6 +20660,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
pool:
type: string
readOnly:
@@ -18874,6 +20668,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
type: object
x-kubernetes-map-type: atomic
@@ -18896,6 +20691,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
type: object
x-kubernetes-map-type: atomic
@@ -18934,6 +20730,7 @@ spec:
- path
type: object
type: array
+ x-kubernetes-list-type: atomic
optional:
type: boolean
secretName:
@@ -18948,6 +20745,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
type: object
x-kubernetes-map-type: atomic
@@ -19023,6 +20821,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
dataSource:
properties:
apiGroup:
@@ -19052,18 +20851,6 @@ spec:
type: object
resources:
properties:
- claims:
- items:
- properties:
- name:
- type: string
- required:
- - name
- type: object
- type: array
- x-kubernetes-list-map-keys:
- - name
- x-kubernetes-list-type: map
limits:
additionalProperties:
anyOf:
@@ -19094,11 +20881,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
@@ -19107,6 +20896,8 @@ spec:
x-kubernetes-map-type: atomic
storageClassName:
type: string
+ volumeAttributesClassName:
+ type: string
volumeMode:
type: string
volumeName:
@@ -19118,6 +20909,12 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
+ allocatedResourceStatuses:
+ additionalProperties:
+ type: string
+ type: object
+ x-kubernetes-map-type: granular
allocatedResources:
additionalProperties:
anyOf:
@@ -19156,9 +20953,21 @@ spec:
- type
type: object
type: array
- phase:
+ x-kubernetes-list-map-keys:
+ - type
+ x-kubernetes-list-type: map
+ currentVolumeAttributesClassName:
type: string
- resizeStatus:
+ modifyVolumeStatus:
+ properties:
+ status:
+ type: string
+ targetVolumeAttributesClassName:
+ type: string
+ required:
+ - status
+ type: object
+ phase:
type: string
type: object
type: object
@@ -19216,6 +21025,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
readOnly:
@@ -19225,6 +21035,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
type: object
x-kubernetes-map-type: atomic
@@ -19242,6 +21053,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
type: object
x-kubernetes-map-type: atomic
@@ -19270,7 +21082,9 @@ spec:
- path
type: object
type: array
+ x-kubernetes-list-type: atomic
name:
+ default: ""
type: string
optional:
type: boolean
@@ -19285,6 +21099,7 @@ spec:
nodePublishSecretRef:
properties:
name:
+ default: ""
type: string
type: object
x-kubernetes-map-type: atomic
@@ -19340,6 +21155,7 @@ spec:
- path
type: object
type: array
+ x-kubernetes-list-type: atomic
type: object
emptyDir:
properties:
@@ -19364,6 +21180,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
dataSource:
properties:
apiGroup:
@@ -19393,18 +21210,6 @@ spec:
type: object
resources:
properties:
- claims:
- items:
- properties:
- name:
- type: string
- required:
- - name
- type: object
- type: array
- x-kubernetes-list-map-keys:
- - name
- x-kubernetes-list-type: map
limits:
additionalProperties:
anyOf:
@@ -19435,11 +21240,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
@@ -19448,6 +21255,8 @@ spec:
x-kubernetes-map-type: atomic
storageClassName:
type: string
+ volumeAttributesClassName:
+ type: string
volumeMode:
type: string
volumeName:
@@ -19470,10 +21279,12 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
wwids:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
flexVolume:
properties:
@@ -19490,6 +21301,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
type: object
x-kubernetes-map-type: atomic
@@ -19570,11 +21382,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
readOnly:
type: boolean
secretRef:
properties:
name:
+ default: ""
type: string
type: object
x-kubernetes-map-type: atomic
@@ -19636,6 +21450,45 @@ spec:
sources:
items:
properties:
+ clusterTrustBundle:
+ properties:
+ labelSelector:
+ properties:
+ matchExpressions:
+ items:
+ properties:
+ key:
+ type: string
+ operator:
+ type: string
+ values:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
+ required:
+ - key
+ - operator
+ type: object
+ type: array
+ x-kubernetes-list-type: atomic
+ matchLabels:
+ additionalProperties:
+ type: string
+ type: object
+ type: object
+ x-kubernetes-map-type: atomic
+ name:
+ type: string
+ optional:
+ type: boolean
+ path:
+ type: string
+ signerName:
+ type: string
+ required:
+ - path
+ type: object
configMap:
properties:
items:
@@ -19653,7 +21506,9 @@ spec:
- path
type: object
type: array
+ x-kubernetes-list-type: atomic
name:
+ default: ""
type: string
optional:
type: boolean
@@ -19699,6 +21554,7 @@ spec:
- path
type: object
type: array
+ x-kubernetes-list-type: atomic
type: object
secret:
properties:
@@ -19717,7 +21573,9 @@ spec:
- path
type: object
type: array
+ x-kubernetes-list-type: atomic
name:
+ default: ""
type: string
optional:
type: boolean
@@ -19737,6 +21595,7 @@ spec:
type: object
type: object
type: array
+ x-kubernetes-list-type: atomic
type: object
quobyte:
properties:
@@ -19768,6 +21627,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
pool:
type: string
readOnly:
@@ -19775,6 +21635,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
type: object
x-kubernetes-map-type: atomic
@@ -19797,6 +21658,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
type: object
x-kubernetes-map-type: atomic
@@ -19835,6 +21697,7 @@ spec:
- path
type: object
type: array
+ x-kubernetes-list-type: atomic
optional:
type: boolean
secretName:
@@ -19849,6 +21712,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
type: object
x-kubernetes-map-type: atomic
@@ -19932,6 +21796,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -19946,6 +21811,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -19961,6 +21827,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -19991,6 +21858,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -20016,6 +21884,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -20028,6 +21897,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -20040,6 +21910,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -20063,6 +21934,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -20092,6 +21964,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -20111,6 +21984,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -20125,6 +21999,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -20150,6 +22025,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -20175,6 +22051,20 @@ spec:
key:
type: string
name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ sessionTokenSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
type: string
optional:
type: boolean
@@ -20287,6 +22177,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -20301,6 +22192,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -20318,6 +22210,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -20355,6 +22248,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -20380,11 +22274,14 @@ spec:
type: array
insecureIgnoreHostKey:
type: boolean
+ insecureSkipTLS:
+ type: boolean
passwordSecret:
properties:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -20403,6 +22300,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -20415,6 +22313,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -20444,6 +22343,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -20456,6 +22356,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -20468,6 +22369,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -20497,6 +22399,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -20509,6 +22412,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -20524,6 +22428,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -20536,6 +22441,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -20551,6 +22457,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -20563,6 +22470,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -20590,6 +22498,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -20630,6 +22539,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -20659,6 +22569,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -20691,6 +22602,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -20705,6 +22617,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -20730,6 +22643,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -20753,6 +22667,20 @@ spec:
key:
type: string
name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ sessionTokenSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
type: string
optional:
type: boolean
@@ -20793,6 +22721,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -20900,6 +22829,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -20914,6 +22844,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -20931,6 +22862,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -20968,6 +22900,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -20993,11 +22926,14 @@ spec:
type: array
insecureIgnoreHostKey:
type: boolean
+ insecureSkipTLS:
+ type: boolean
passwordSecret:
properties:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -21016,6 +22952,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -21028,6 +22965,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -21057,6 +22995,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -21069,6 +23008,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -21081,6 +23021,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -21110,6 +23051,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -21122,6 +23064,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -21137,6 +23080,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -21149,6 +23093,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -21164,6 +23109,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -21176,6 +23122,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -21203,6 +23150,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -21243,6 +23191,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -21272,6 +23221,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -21304,6 +23254,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -21318,6 +23269,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -21343,6 +23295,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -21366,6 +23319,20 @@ spec:
key:
type: string
name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ sessionTokenSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
type: string
optional:
type: boolean
@@ -21408,6 +23375,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -21531,6 +23499,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -21545,6 +23514,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -21562,6 +23532,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -21599,6 +23570,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -21624,11 +23596,14 @@ spec:
type: array
insecureIgnoreHostKey:
type: boolean
+ insecureSkipTLS:
+ type: boolean
passwordSecret:
properties:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -21647,6 +23622,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -21659,6 +23635,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -21688,6 +23665,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -21700,6 +23678,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -21712,6 +23691,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -21741,6 +23721,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -21753,6 +23734,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -21768,6 +23750,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -21780,6 +23763,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -21795,6 +23779,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -21807,6 +23792,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -21834,6 +23820,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -21874,6 +23861,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -21903,6 +23891,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -21935,6 +23924,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -21949,6 +23939,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -21974,6 +23965,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -21997,6 +23989,20 @@ spec:
key:
type: string
name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ sessionTokenSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
type: string
optional:
type: boolean
@@ -22039,6 +24045,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -22123,6 +24130,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
readOnly:
@@ -22132,6 +24140,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
type: object
x-kubernetes-map-type: atomic
@@ -22149,6 +24158,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
type: object
x-kubernetes-map-type: atomic
@@ -22177,7 +24187,9 @@ spec:
- path
type: object
type: array
+ x-kubernetes-list-type: atomic
name:
+ default: ""
type: string
optional:
type: boolean
@@ -22192,6 +24204,7 @@ spec:
nodePublishSecretRef:
properties:
name:
+ default: ""
type: string
type: object
x-kubernetes-map-type: atomic
@@ -22247,6 +24260,7 @@ spec:
- path
type: object
type: array
+ x-kubernetes-list-type: atomic
type: object
emptyDir:
properties:
@@ -22271,6 +24285,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
dataSource:
properties:
apiGroup:
@@ -22300,18 +24315,6 @@ spec:
type: object
resources:
properties:
- claims:
- items:
- properties:
- name:
- type: string
- required:
- - name
- type: object
- type: array
- x-kubernetes-list-map-keys:
- - name
- x-kubernetes-list-type: map
limits:
additionalProperties:
anyOf:
@@ -22342,11 +24345,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
@@ -22355,6 +24360,8 @@ spec:
x-kubernetes-map-type: atomic
storageClassName:
type: string
+ volumeAttributesClassName:
+ type: string
volumeMode:
type: string
volumeName:
@@ -22377,10 +24384,12 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
wwids:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
flexVolume:
properties:
@@ -22397,6 +24406,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
type: object
x-kubernetes-map-type: atomic
@@ -22477,11 +24487,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
readOnly:
type: boolean
secretRef:
properties:
name:
+ default: ""
type: string
type: object
x-kubernetes-map-type: atomic
@@ -22543,6 +24555,45 @@ spec:
sources:
items:
properties:
+ clusterTrustBundle:
+ properties:
+ labelSelector:
+ properties:
+ matchExpressions:
+ items:
+ properties:
+ key:
+ type: string
+ operator:
+ type: string
+ values:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
+ required:
+ - key
+ - operator
+ type: object
+ type: array
+ x-kubernetes-list-type: atomic
+ matchLabels:
+ additionalProperties:
+ type: string
+ type: object
+ type: object
+ x-kubernetes-map-type: atomic
+ name:
+ type: string
+ optional:
+ type: boolean
+ path:
+ type: string
+ signerName:
+ type: string
+ required:
+ - path
+ type: object
configMap:
properties:
items:
@@ -22560,7 +24611,9 @@ spec:
- path
type: object
type: array
+ x-kubernetes-list-type: atomic
name:
+ default: ""
type: string
optional:
type: boolean
@@ -22606,6 +24659,7 @@ spec:
- path
type: object
type: array
+ x-kubernetes-list-type: atomic
type: object
secret:
properties:
@@ -22624,7 +24678,9 @@ spec:
- path
type: object
type: array
+ x-kubernetes-list-type: atomic
name:
+ default: ""
type: string
optional:
type: boolean
@@ -22644,6 +24700,7 @@ spec:
type: object
type: object
type: array
+ x-kubernetes-list-type: atomic
type: object
quobyte:
properties:
@@ -22675,6 +24732,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
pool:
type: string
readOnly:
@@ -22682,6 +24740,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
type: object
x-kubernetes-map-type: atomic
@@ -22704,6 +24763,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
type: object
x-kubernetes-map-type: atomic
@@ -22742,6 +24802,7 @@ spec:
- path
type: object
type: array
+ x-kubernetes-list-type: atomic
optional:
type: boolean
secretName:
@@ -22756,6 +24817,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
type: object
x-kubernetes-map-type: atomic
@@ -22821,11 +24883,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchFields:
items:
properties:
@@ -22837,11 +24901,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
type: object
x-kubernetes-map-type: atomic
weight:
@@ -22852,6 +24918,7 @@ spec:
- weight
type: object
type: array
+ x-kubernetes-list-type: atomic
requiredDuringSchedulingIgnoredDuringExecution:
properties:
nodeSelectorTerms:
@@ -22868,11 +24935,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchFields:
items:
properties:
@@ -22884,14 +24953,17 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
type: object
x-kubernetes-map-type: atomic
type: array
+ x-kubernetes-list-type: atomic
required:
- nodeSelectorTerms
type: object
@@ -22917,17 +24989,29 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
type: object
type: object
x-kubernetes-map-type: atomic
+ matchLabelKeys:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
+ mismatchLabelKeys:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
namespaceSelector:
properties:
matchExpressions:
@@ -22941,11 +25025,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
@@ -22956,6 +25042,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
topologyKey:
type: string
required:
@@ -22969,6 +25056,7 @@ spec:
- weight
type: object
type: array
+ x-kubernetes-list-type: atomic
requiredDuringSchedulingIgnoredDuringExecution:
items:
properties:
@@ -22985,17 +25073,29 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
type: object
type: object
x-kubernetes-map-type: atomic
+ matchLabelKeys:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
+ mismatchLabelKeys:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
namespaceSelector:
properties:
matchExpressions:
@@ -23009,11 +25109,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
@@ -23024,12 +25126,14 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
topologyKey:
type: string
required:
- topologyKey
type: object
type: array
+ x-kubernetes-list-type: atomic
type: object
podAntiAffinity:
properties:
@@ -23051,17 +25155,29 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
type: object
type: object
x-kubernetes-map-type: atomic
+ matchLabelKeys:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
+ mismatchLabelKeys:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
namespaceSelector:
properties:
matchExpressions:
@@ -23075,11 +25191,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
@@ -23090,6 +25208,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
topologyKey:
type: string
required:
@@ -23103,6 +25222,7 @@ spec:
- weight
type: object
type: array
+ x-kubernetes-list-type: atomic
requiredDuringSchedulingIgnoredDuringExecution:
items:
properties:
@@ -23119,17 +25239,29 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
type: object
type: object
x-kubernetes-map-type: atomic
+ matchLabelKeys:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
+ mismatchLabelKeys:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
namespaceSelector:
properties:
matchExpressions:
@@ -23143,11 +25275,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
@@ -23158,12 +25292,14 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
topologyKey:
type: string
required:
- topologyKey
type: object
type: array
+ x-kubernetes-list-type: atomic
type: object
type: object
archiveLocation:
@@ -23177,6 +25313,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -23191,6 +25328,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -23208,6 +25346,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -23239,6 +25378,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -23264,11 +25404,14 @@ spec:
type: array
insecureIgnoreHostKey:
type: boolean
+ insecureSkipTLS:
+ type: boolean
passwordSecret:
properties:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -23287,6 +25430,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -23299,6 +25443,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -23326,6 +25471,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -23338,6 +25484,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -23350,6 +25497,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -23379,6 +25527,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -23391,6 +25540,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -23406,6 +25556,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -23418,6 +25569,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -23433,6 +25585,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -23445,6 +25598,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -23472,6 +25626,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -23505,6 +25660,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -23534,6 +25690,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -23562,6 +25719,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -23576,6 +25734,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -23601,6 +25760,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -23624,6 +25784,20 @@ spec:
key:
type: string
name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ sessionTokenSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
type: string
optional:
type: boolean
@@ -23643,10 +25817,12 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
command:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
env:
items:
properties:
@@ -23661,6 +25837,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -23699,6 +25876,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -23711,12 +25889,16 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - name
+ x-kubernetes-list-type: map
envFrom:
items:
properties:
configMapRef:
properties:
name:
+ default: ""
type: string
optional:
type: boolean
@@ -23727,6 +25909,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
optional:
type: boolean
@@ -23734,6 +25917,7 @@ spec:
x-kubernetes-map-type: atomic
type: object
type: array
+ x-kubernetes-list-type: atomic
image:
type: string
imagePullPolicy:
@@ -23748,6 +25932,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
httpGet:
properties:
@@ -23765,6 +25950,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -23777,6 +25963,14 @@ spec:
required:
- port
type: object
+ sleep:
+ properties:
+ seconds:
+ format: int64
+ type: integer
+ required:
+ - seconds
+ type: object
tcpSocket:
properties:
host:
@@ -23798,6 +25992,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
httpGet:
properties:
@@ -23815,6 +26010,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -23827,6 +26023,14 @@ spec:
required:
- port
type: object
+ sleep:
+ properties:
+ seconds:
+ format: int64
+ type: integer
+ required:
+ - seconds
+ type: object
tcpSocket:
properties:
host:
@@ -23849,6 +26053,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -23879,6 +26084,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -23953,6 +26159,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -23983,6 +26190,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -24023,6 +26231,19 @@ spec:
format: int32
type: integer
type: object
+ resizePolicy:
+ items:
+ properties:
+ resourceName:
+ type: string
+ restartPolicy:
+ type: string
+ required:
+ - resourceName
+ - restartPolicy
+ type: object
+ type: array
+ x-kubernetes-list-type: atomic
resources:
properties:
claims:
@@ -24054,20 +26275,33 @@ spec:
x-kubernetes-int-or-string: true
type: object
type: object
+ restartPolicy:
+ type: string
securityContext:
properties:
allowPrivilegeEscalation:
type: boolean
+ appArmorProfile:
+ properties:
+ localhostProfile:
+ type: string
+ type:
+ type: string
+ required:
+ - type
+ type: object
capabilities:
properties:
add:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
drop:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
privileged:
type: boolean
@@ -24123,6 +26357,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -24153,6 +26388,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -24215,6 +26451,9 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - devicePath
+ x-kubernetes-list-type: map
volumeMounts:
items:
properties:
@@ -24226,6 +26465,8 @@ spec:
type: string
readOnly:
type: boolean
+ recursiveReadOnly:
+ type: string
subPath:
type: string
subPathExpr:
@@ -24235,6 +26476,9 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - mountPath
+ x-kubernetes-list-type: map
workingDir:
type: string
required:
@@ -24249,10 +26493,12 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
command:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
dependencies:
items:
type: string
@@ -24271,6 +26517,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -24309,6 +26556,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -24321,12 +26569,16 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - name
+ x-kubernetes-list-type: map
envFrom:
items:
properties:
configMapRef:
properties:
name:
+ default: ""
type: string
optional:
type: boolean
@@ -24337,6 +26589,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
optional:
type: boolean
@@ -24344,6 +26597,7 @@ spec:
x-kubernetes-map-type: atomic
type: object
type: array
+ x-kubernetes-list-type: atomic
image:
type: string
imagePullPolicy:
@@ -24358,6 +26612,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
httpGet:
properties:
@@ -24375,6 +26630,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -24387,6 +26643,14 @@ spec:
required:
- port
type: object
+ sleep:
+ properties:
+ seconds:
+ format: int64
+ type: integer
+ required:
+ - seconds
+ type: object
tcpSocket:
properties:
host:
@@ -24408,6 +26672,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
httpGet:
properties:
@@ -24425,6 +26690,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -24437,6 +26703,14 @@ spec:
required:
- port
type: object
+ sleep:
+ properties:
+ seconds:
+ format: int64
+ type: integer
+ required:
+ - seconds
+ type: object
tcpSocket:
properties:
host:
@@ -24459,6 +26733,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -24489,6 +26764,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -24563,6 +26839,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -24593,6 +26870,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -24633,6 +26911,19 @@ spec:
format: int32
type: integer
type: object
+ resizePolicy:
+ items:
+ properties:
+ resourceName:
+ type: string
+ restartPolicy:
+ type: string
+ required:
+ - resourceName
+ - restartPolicy
+ type: object
+ type: array
+ x-kubernetes-list-type: atomic
resources:
properties:
claims:
@@ -24664,20 +26955,33 @@ spec:
x-kubernetes-int-or-string: true
type: object
type: object
+ restartPolicy:
+ type: string
securityContext:
properties:
allowPrivilegeEscalation:
type: boolean
+ appArmorProfile:
+ properties:
+ localhostProfile:
+ type: string
+ type:
+ type: string
+ required:
+ - type
+ type: object
capabilities:
properties:
add:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
drop:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
privileged:
type: boolean
@@ -24733,6 +27037,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -24763,6 +27068,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -24825,6 +27131,9 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - devicePath
+ x-kubernetes-list-type: map
volumeMounts:
items:
properties:
@@ -24836,6 +27145,8 @@ spec:
type: string
readOnly:
type: boolean
+ recursiveReadOnly:
+ type: string
subPath:
type: string
subPathExpr:
@@ -24845,6 +27156,9 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - mountPath
+ x-kubernetes-list-type: map
workingDir:
type: string
required:
@@ -24874,6 +27188,8 @@ spec:
type: string
readOnly:
type: boolean
+ recursiveReadOnly:
+ type: string
subPath:
type: string
subPathExpr:
@@ -24947,6 +27263,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -24961,6 +27278,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -24978,6 +27296,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -25015,6 +27334,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -25040,11 +27360,14 @@ spec:
type: array
insecureIgnoreHostKey:
type: boolean
+ insecureSkipTLS:
+ type: boolean
passwordSecret:
properties:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -25063,6 +27386,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -25075,6 +27399,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -25104,6 +27429,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -25116,6 +27442,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -25128,6 +27455,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -25157,6 +27485,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -25169,6 +27498,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -25184,6 +27514,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -25196,6 +27527,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -25211,6 +27543,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -25223,6 +27556,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -25250,6 +27584,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -25290,6 +27625,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -25319,6 +27655,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -25351,6 +27688,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -25365,6 +27703,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -25390,6 +27729,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -25413,6 +27753,20 @@ spec:
key:
type: string
name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ sessionTokenSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
type: string
optional:
type: boolean
@@ -25453,6 +27807,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -25548,6 +27903,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -25562,6 +27918,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -25579,6 +27936,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -25616,6 +27974,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -25641,11 +28000,14 @@ spec:
type: array
insecureIgnoreHostKey:
type: boolean
+ insecureSkipTLS:
+ type: boolean
passwordSecret:
properties:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -25664,6 +28026,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -25676,6 +28039,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -25705,6 +28069,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -25717,6 +28082,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -25729,6 +28095,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -25758,6 +28125,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -25770,6 +28138,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -25785,6 +28154,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -25797,6 +28167,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -25812,6 +28183,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -25824,6 +28196,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -25851,6 +28224,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -25891,6 +28265,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -25920,6 +28295,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -25952,6 +28328,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -25966,6 +28343,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -25991,6 +28369,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -26014,6 +28393,20 @@ spec:
key:
type: string
name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ sessionTokenSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
type: string
optional:
type: boolean
@@ -26054,6 +28447,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -26200,6 +28594,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -26214,6 +28609,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -26231,6 +28627,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -26268,6 +28665,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -26293,11 +28691,14 @@ spec:
type: array
insecureIgnoreHostKey:
type: boolean
+ insecureSkipTLS:
+ type: boolean
passwordSecret:
properties:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -26316,6 +28717,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -26328,6 +28730,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -26357,6 +28760,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -26369,6 +28773,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -26381,6 +28786,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -26410,6 +28816,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -26422,6 +28829,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -26437,6 +28845,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -26449,6 +28858,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -26464,6 +28874,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -26476,6 +28887,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -26503,6 +28915,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -26543,6 +28956,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -26572,6 +28986,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -26604,6 +29019,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -26618,6 +29034,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -26643,6 +29060,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -26666,6 +29084,20 @@ spec:
key:
type: string
name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ sessionTokenSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
type: string
optional:
type: boolean
@@ -26709,8 +29141,11 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
ip:
type: string
+ required:
+ - ip
type: object
type: array
http:
@@ -26737,6 +29172,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -26770,10 +29206,12 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
command:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
env:
items:
properties:
@@ -26788,6 +29226,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -26826,6 +29265,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -26838,12 +29278,16 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - name
+ x-kubernetes-list-type: map
envFrom:
items:
properties:
configMapRef:
properties:
name:
+ default: ""
type: string
optional:
type: boolean
@@ -26854,6 +29298,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
optional:
type: boolean
@@ -26861,6 +29306,7 @@ spec:
x-kubernetes-map-type: atomic
type: object
type: array
+ x-kubernetes-list-type: atomic
image:
type: string
imagePullPolicy:
@@ -26875,6 +29321,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
httpGet:
properties:
@@ -26892,6 +29339,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -26904,6 +29352,14 @@ spec:
required:
- port
type: object
+ sleep:
+ properties:
+ seconds:
+ format: int64
+ type: integer
+ required:
+ - seconds
+ type: object
tcpSocket:
properties:
host:
@@ -26925,6 +29381,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
httpGet:
properties:
@@ -26942,6 +29399,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -26954,6 +29412,14 @@ spec:
required:
- port
type: object
+ sleep:
+ properties:
+ seconds:
+ format: int64
+ type: integer
+ required:
+ - seconds
+ type: object
tcpSocket:
properties:
host:
@@ -26976,6 +29442,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -27006,6 +29473,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -27082,6 +29550,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -27112,6 +29581,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -27152,6 +29622,19 @@ spec:
format: int32
type: integer
type: object
+ resizePolicy:
+ items:
+ properties:
+ resourceName:
+ type: string
+ restartPolicy:
+ type: string
+ required:
+ - resourceName
+ - restartPolicy
+ type: object
+ type: array
+ x-kubernetes-list-type: atomic
resources:
properties:
claims:
@@ -27183,20 +29666,33 @@ spec:
x-kubernetes-int-or-string: true
type: object
type: object
+ restartPolicy:
+ type: string
securityContext:
properties:
allowPrivilegeEscalation:
type: boolean
+ appArmorProfile:
+ properties:
+ localhostProfile:
+ type: string
+ type:
+ type: string
+ required:
+ - type
+ type: object
capabilities:
properties:
add:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
drop:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
privileged:
type: boolean
@@ -27252,6 +29748,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -27282,6 +29779,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -27344,6 +29842,9 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - devicePath
+ x-kubernetes-list-type: map
volumeMounts:
items:
properties:
@@ -27355,6 +29856,8 @@ spec:
type: string
readOnly:
type: boolean
+ recursiveReadOnly:
+ type: string
subPath:
type: string
subPathExpr:
@@ -27364,6 +29867,9 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - mountPath
+ x-kubernetes-list-type: map
workingDir:
type: string
required:
@@ -27420,6 +29926,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -27434,6 +29941,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -27451,6 +29959,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -27488,6 +29997,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -27513,11 +30023,14 @@ spec:
type: array
insecureIgnoreHostKey:
type: boolean
+ insecureSkipTLS:
+ type: boolean
passwordSecret:
properties:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -27536,6 +30049,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -27548,6 +30062,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -27577,6 +30092,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -27589,6 +30105,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -27601,6 +30118,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -27630,6 +30148,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -27642,6 +30161,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -27657,6 +30177,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -27669,6 +30190,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -27684,6 +30206,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -27696,6 +30219,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -27723,6 +30247,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -27763,6 +30288,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -27792,6 +30318,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -27824,6 +30351,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -27838,6 +30366,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -27863,6 +30392,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -27886,6 +30416,20 @@ spec:
key:
type: string
name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ sessionTokenSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
type: string
optional:
type: boolean
@@ -27926,6 +30470,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -27964,6 +30509,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -28112,6 +30658,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -28126,6 +30673,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -28143,6 +30691,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -28180,6 +30729,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -28205,11 +30755,14 @@ spec:
type: array
insecureIgnoreHostKey:
type: boolean
+ insecureSkipTLS:
+ type: boolean
passwordSecret:
properties:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -28228,6 +30781,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -28240,6 +30794,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -28269,6 +30824,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -28281,6 +30837,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -28293,6 +30850,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -28322,6 +30880,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -28334,6 +30893,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -28349,6 +30909,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -28361,6 +30922,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -28376,6 +30938,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -28388,6 +30951,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -28415,6 +30979,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -28455,6 +31020,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -28484,6 +31050,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -28516,6 +31083,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -28530,6 +31098,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -28555,6 +31124,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -28578,6 +31148,20 @@ spec:
key:
type: string
name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ sessionTokenSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
type: string
optional:
type: boolean
@@ -28620,6 +31204,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -28724,6 +31309,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -28738,6 +31324,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -28755,6 +31342,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -28792,6 +31380,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -28817,11 +31406,14 @@ spec:
type: array
insecureIgnoreHostKey:
type: boolean
+ insecureSkipTLS:
+ type: boolean
passwordSecret:
properties:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -28840,6 +31432,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -28852,6 +31445,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -28881,6 +31475,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -28893,6 +31488,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -28905,6 +31501,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -28934,6 +31531,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -28946,6 +31544,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -28961,6 +31560,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -28973,6 +31573,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -28988,6 +31589,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -29000,6 +31602,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -29027,6 +31630,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -29067,6 +31671,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -29096,6 +31701,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -29128,6 +31734,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -29142,6 +31749,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -29167,6 +31775,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -29190,6 +31799,20 @@ spec:
key:
type: string
name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ sessionTokenSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
type: string
optional:
type: boolean
@@ -29254,10 +31877,12 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
command:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
env:
items:
properties:
@@ -29272,6 +31897,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -29310,6 +31936,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -29322,12 +31949,16 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - name
+ x-kubernetes-list-type: map
envFrom:
items:
properties:
configMapRef:
properties:
name:
+ default: ""
type: string
optional:
type: boolean
@@ -29338,6 +31969,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
optional:
type: boolean
@@ -29345,6 +31977,7 @@ spec:
x-kubernetes-map-type: atomic
type: object
type: array
+ x-kubernetes-list-type: atomic
image:
type: string
imagePullPolicy:
@@ -29359,6 +31992,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
httpGet:
properties:
@@ -29376,6 +32010,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -29388,6 +32023,14 @@ spec:
required:
- port
type: object
+ sleep:
+ properties:
+ seconds:
+ format: int64
+ type: integer
+ required:
+ - seconds
+ type: object
tcpSocket:
properties:
host:
@@ -29409,6 +32052,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
httpGet:
properties:
@@ -29426,6 +32070,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -29438,6 +32083,14 @@ spec:
required:
- port
type: object
+ sleep:
+ properties:
+ seconds:
+ format: int64
+ type: integer
+ required:
+ - seconds
+ type: object
tcpSocket:
properties:
host:
@@ -29460,6 +32113,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -29490,6 +32144,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -29564,6 +32219,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -29594,6 +32250,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -29634,6 +32291,19 @@ spec:
format: int32
type: integer
type: object
+ resizePolicy:
+ items:
+ properties:
+ resourceName:
+ type: string
+ restartPolicy:
+ type: string
+ required:
+ - resourceName
+ - restartPolicy
+ type: object
+ type: array
+ x-kubernetes-list-type: atomic
resources:
properties:
claims:
@@ -29665,20 +32335,33 @@ spec:
x-kubernetes-int-or-string: true
type: object
type: object
+ restartPolicy:
+ type: string
securityContext:
properties:
allowPrivilegeEscalation:
type: boolean
+ appArmorProfile:
+ properties:
+ localhostProfile:
+ type: string
+ type:
+ type: string
+ required:
+ - type
+ type: object
capabilities:
properties:
add:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
drop:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
privileged:
type: boolean
@@ -29736,6 +32419,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -29766,6 +32450,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -29828,6 +32513,9 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - devicePath
+ x-kubernetes-list-type: map
volumeMounts:
items:
properties:
@@ -29839,6 +32527,8 @@ spec:
type: string
readOnly:
type: boolean
+ recursiveReadOnly:
+ type: string
subPath:
type: string
subPathExpr:
@@ -29848,6 +32538,9 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - mountPath
+ x-kubernetes-list-type: map
workingDir:
type: string
required:
@@ -29856,6 +32549,15 @@ spec:
type: object
securityContext:
properties:
+ appArmorProfile:
+ properties:
+ localhostProfile:
+ type: string
+ type:
+ type: string
+ required:
+ - type
+ type: object
fsGroup:
format: int64
type: integer
@@ -29894,6 +32596,7 @@ spec:
format: int64
type: integer
type: array
+ x-kubernetes-list-type: atomic
sysctls:
items:
properties:
@@ -29906,6 +32609,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
windowsOptions:
properties:
gmsaCredentialSpec:
@@ -29927,10 +32631,12 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
command:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
env:
items:
properties:
@@ -29945,6 +32651,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -29983,6 +32690,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -29995,12 +32703,16 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - name
+ x-kubernetes-list-type: map
envFrom:
items:
properties:
configMapRef:
properties:
name:
+ default: ""
type: string
optional:
type: boolean
@@ -30011,6 +32723,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
optional:
type: boolean
@@ -30018,6 +32731,7 @@ spec:
x-kubernetes-map-type: atomic
type: object
type: array
+ x-kubernetes-list-type: atomic
image:
type: string
imagePullPolicy:
@@ -30032,6 +32746,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
httpGet:
properties:
@@ -30049,6 +32764,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -30061,6 +32777,14 @@ spec:
required:
- port
type: object
+ sleep:
+ properties:
+ seconds:
+ format: int64
+ type: integer
+ required:
+ - seconds
+ type: object
tcpSocket:
properties:
host:
@@ -30082,6 +32806,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
httpGet:
properties:
@@ -30099,6 +32824,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -30111,6 +32837,14 @@ spec:
required:
- port
type: object
+ sleep:
+ properties:
+ seconds:
+ format: int64
+ type: integer
+ required:
+ - seconds
+ type: object
tcpSocket:
properties:
host:
@@ -30133,6 +32867,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -30163,6 +32898,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -30239,6 +32975,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -30269,6 +33006,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -30309,6 +33047,19 @@ spec:
format: int32
type: integer
type: object
+ resizePolicy:
+ items:
+ properties:
+ resourceName:
+ type: string
+ restartPolicy:
+ type: string
+ required:
+ - resourceName
+ - restartPolicy
+ type: object
+ type: array
+ x-kubernetes-list-type: atomic
resources:
properties:
claims:
@@ -30340,20 +33091,33 @@ spec:
x-kubernetes-int-or-string: true
type: object
type: object
+ restartPolicy:
+ type: string
securityContext:
properties:
allowPrivilegeEscalation:
type: boolean
+ appArmorProfile:
+ properties:
+ localhostProfile:
+ type: string
+ type:
+ type: string
+ required:
+ - type
+ type: object
capabilities:
properties:
add:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
drop:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
privileged:
type: boolean
@@ -30409,6 +33173,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -30439,6 +33204,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -30501,6 +33267,9 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - devicePath
+ x-kubernetes-list-type: map
volumeMounts:
items:
properties:
@@ -30512,6 +33281,8 @@ spec:
type: string
readOnly:
type: boolean
+ recursiveReadOnly:
+ type: string
subPath:
type: string
subPathExpr:
@@ -30521,6 +33292,9 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - mountPath
+ x-kubernetes-list-type: map
workingDir:
type: string
required:
@@ -30545,6 +33319,15 @@ spec:
namespace:
type: string
type: object
+ mutexes:
+ items:
+ properties:
+ name:
+ type: string
+ namespace:
+ type: string
+ type: object
+ type: array
semaphore:
properties:
configMapKeyRef:
@@ -30552,6 +33335,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -30562,6 +33346,26 @@ spec:
namespace:
type: string
type: object
+ semaphores:
+ items:
+ properties:
+ configMapKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ namespace:
+ type: string
+ type: object
+ type: array
type: object
timeout:
type: string
@@ -30634,6 +33438,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
readOnly:
@@ -30643,6 +33448,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
type: object
x-kubernetes-map-type: atomic
@@ -30660,6 +33466,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
type: object
x-kubernetes-map-type: atomic
@@ -30688,7 +33495,9 @@ spec:
- path
type: object
type: array
+ x-kubernetes-list-type: atomic
name:
+ default: ""
type: string
optional:
type: boolean
@@ -30703,6 +33512,7 @@ spec:
nodePublishSecretRef:
properties:
name:
+ default: ""
type: string
type: object
x-kubernetes-map-type: atomic
@@ -30758,6 +33568,7 @@ spec:
- path
type: object
type: array
+ x-kubernetes-list-type: atomic
type: object
emptyDir:
properties:
@@ -30782,6 +33593,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
dataSource:
properties:
apiGroup:
@@ -30811,18 +33623,6 @@ spec:
type: object
resources:
properties:
- claims:
- items:
- properties:
- name:
- type: string
- required:
- - name
- type: object
- type: array
- x-kubernetes-list-map-keys:
- - name
- x-kubernetes-list-type: map
limits:
additionalProperties:
anyOf:
@@ -30853,11 +33653,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
@@ -30866,6 +33668,8 @@ spec:
x-kubernetes-map-type: atomic
storageClassName:
type: string
+ volumeAttributesClassName:
+ type: string
volumeMode:
type: string
volumeName:
@@ -30888,10 +33692,12 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
wwids:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
flexVolume:
properties:
@@ -30908,6 +33714,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
type: object
x-kubernetes-map-type: atomic
@@ -30988,11 +33795,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
readOnly:
type: boolean
secretRef:
properties:
name:
+ default: ""
type: string
type: object
x-kubernetes-map-type: atomic
@@ -31054,6 +33863,45 @@ spec:
sources:
items:
properties:
+ clusterTrustBundle:
+ properties:
+ labelSelector:
+ properties:
+ matchExpressions:
+ items:
+ properties:
+ key:
+ type: string
+ operator:
+ type: string
+ values:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
+ required:
+ - key
+ - operator
+ type: object
+ type: array
+ x-kubernetes-list-type: atomic
+ matchLabels:
+ additionalProperties:
+ type: string
+ type: object
+ type: object
+ x-kubernetes-map-type: atomic
+ name:
+ type: string
+ optional:
+ type: boolean
+ path:
+ type: string
+ signerName:
+ type: string
+ required:
+ - path
+ type: object
configMap:
properties:
items:
@@ -31071,7 +33919,9 @@ spec:
- path
type: object
type: array
+ x-kubernetes-list-type: atomic
name:
+ default: ""
type: string
optional:
type: boolean
@@ -31117,6 +33967,7 @@ spec:
- path
type: object
type: array
+ x-kubernetes-list-type: atomic
type: object
secret:
properties:
@@ -31135,7 +33986,9 @@ spec:
- path
type: object
type: array
+ x-kubernetes-list-type: atomic
name:
+ default: ""
type: string
optional:
type: boolean
@@ -31155,6 +34008,7 @@ spec:
type: object
type: object
type: array
+ x-kubernetes-list-type: atomic
type: object
quobyte:
properties:
@@ -31186,6 +34040,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
pool:
type: string
readOnly:
@@ -31193,6 +34048,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
type: object
x-kubernetes-map-type: atomic
@@ -31215,6 +34071,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
type: object
x-kubernetes-map-type: atomic
@@ -31253,6 +34110,7 @@ spec:
- path
type: object
type: array
+ x-kubernetes-list-type: atomic
optional:
type: boolean
secretName:
@@ -31267,6 +34125,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
type: object
x-kubernetes-map-type: atomic
@@ -31319,11 +34178,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchFields:
items:
properties:
@@ -31335,11 +34196,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
type: object
x-kubernetes-map-type: atomic
weight:
@@ -31350,6 +34213,7 @@ spec:
- weight
type: object
type: array
+ x-kubernetes-list-type: atomic
requiredDuringSchedulingIgnoredDuringExecution:
properties:
nodeSelectorTerms:
@@ -31366,11 +34230,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchFields:
items:
properties:
@@ -31382,14 +34248,17 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
type: object
x-kubernetes-map-type: atomic
type: array
+ x-kubernetes-list-type: atomic
required:
- nodeSelectorTerms
type: object
@@ -31415,17 +34284,29 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
type: object
type: object
x-kubernetes-map-type: atomic
+ matchLabelKeys:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
+ mismatchLabelKeys:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
namespaceSelector:
properties:
matchExpressions:
@@ -31439,11 +34320,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
@@ -31454,6 +34337,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
topologyKey:
type: string
required:
@@ -31467,6 +34351,7 @@ spec:
- weight
type: object
type: array
+ x-kubernetes-list-type: atomic
requiredDuringSchedulingIgnoredDuringExecution:
items:
properties:
@@ -31483,17 +34368,29 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
type: object
type: object
x-kubernetes-map-type: atomic
+ matchLabelKeys:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
+ mismatchLabelKeys:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
namespaceSelector:
properties:
matchExpressions:
@@ -31507,11 +34404,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
@@ -31522,12 +34421,14 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
topologyKey:
type: string
required:
- topologyKey
type: object
type: array
+ x-kubernetes-list-type: atomic
type: object
podAntiAffinity:
properties:
@@ -31549,17 +34450,29 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
type: object
type: object
x-kubernetes-map-type: atomic
+ matchLabelKeys:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
+ mismatchLabelKeys:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
namespaceSelector:
properties:
matchExpressions:
@@ -31573,11 +34486,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
@@ -31588,6 +34503,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
topologyKey:
type: string
required:
@@ -31601,6 +34517,7 @@ spec:
- weight
type: object
type: array
+ x-kubernetes-list-type: atomic
requiredDuringSchedulingIgnoredDuringExecution:
items:
properties:
@@ -31617,17 +34534,29 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
type: object
type: object
x-kubernetes-map-type: atomic
+ matchLabelKeys:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
+ mismatchLabelKeys:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
namespaceSelector:
properties:
matchExpressions:
@@ -31641,11 +34570,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
@@ -31656,12 +34587,14 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
topologyKey:
type: string
required:
- topologyKey
type: object
type: array
+ x-kubernetes-list-type: atomic
type: object
type: object
archiveLogs:
@@ -31716,6 +34649,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -31730,6 +34664,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -31747,6 +34682,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -31784,6 +34720,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -31809,11 +34746,14 @@ spec:
type: array
insecureIgnoreHostKey:
type: boolean
+ insecureSkipTLS:
+ type: boolean
passwordSecret:
properties:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -31832,6 +34772,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -31844,6 +34785,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -31873,6 +34815,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -31885,6 +34828,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -31897,6 +34841,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -31926,6 +34871,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -31938,6 +34884,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -31953,6 +34900,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -31965,6 +34913,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -31980,6 +34929,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -31992,6 +34942,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -32019,6 +34970,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -32059,6 +35011,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -32088,6 +35041,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -32120,6 +35074,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -32134,6 +35089,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -32159,6 +35115,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -32182,6 +35139,20 @@ spec:
key:
type: string
name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ sessionTokenSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
type: string
optional:
type: boolean
@@ -32222,6 +35193,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -32293,6 +35265,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
options:
items:
properties:
@@ -32302,10 +35275,12 @@ spec:
type: string
type: object
type: array
+ x-kubernetes-list-type: atomic
searches:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
dnsPolicy:
type: string
@@ -32369,6 +35344,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -32383,6 +35359,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -32400,6 +35377,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -32437,6 +35415,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -32462,11 +35441,14 @@ spec:
type: array
insecureIgnoreHostKey:
type: boolean
+ insecureSkipTLS:
+ type: boolean
passwordSecret:
properties:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -32485,6 +35467,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -32497,6 +35480,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -32526,6 +35510,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -32538,6 +35523,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -32550,6 +35536,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -32579,6 +35566,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -32591,6 +35579,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -32606,6 +35595,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -32618,6 +35608,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -32633,6 +35624,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -32645,6 +35637,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -32672,6 +35665,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -32712,6 +35706,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -32741,6 +35736,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -32773,6 +35769,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -32787,6 +35784,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -32812,6 +35810,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -32835,6 +35834,20 @@ spec:
key:
type: string
name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ sessionTokenSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
type: string
optional:
type: boolean
@@ -32875,6 +35888,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -32926,8 +35940,11 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
ip:
type: string
+ required:
+ - ip
type: object
type: array
hostNetwork:
@@ -32936,6 +35953,7 @@ spec:
items:
properties:
name:
+ default: ""
type: string
type: object
x-kubernetes-map-type: atomic
@@ -33036,11 +36054,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
@@ -33067,11 +36087,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
@@ -33135,6 +36157,15 @@ spec:
type: string
securityContext:
properties:
+ appArmorProfile:
+ properties:
+ localhostProfile:
+ type: string
+ type:
+ type: string
+ required:
+ - type
+ type: object
fsGroup:
format: int64
type: integer
@@ -33173,6 +36204,7 @@ spec:
format: int64
type: integer
type: array
+ x-kubernetes-list-type: atomic
sysctls:
items:
properties:
@@ -33185,6 +36217,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
windowsOptions:
properties:
gmsaCredentialSpec:
@@ -33212,6 +36245,15 @@ spec:
namespace:
type: string
type: object
+ mutexes:
+ items:
+ properties:
+ name:
+ type: string
+ namespace:
+ type: string
+ type: object
+ type: array
semaphore:
properties:
configMapKeyRef:
@@ -33219,6 +36261,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -33229,6 +36272,26 @@ spec:
namespace:
type: string
type: object
+ semaphores:
+ items:
+ properties:
+ configMapKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ namespace:
+ type: string
+ type: object
+ type: array
type: object
templateDefaults:
properties:
@@ -33257,11 +36320,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchFields:
items:
properties:
@@ -33273,11 +36338,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
type: object
x-kubernetes-map-type: atomic
weight:
@@ -33288,6 +36355,7 @@ spec:
- weight
type: object
type: array
+ x-kubernetes-list-type: atomic
requiredDuringSchedulingIgnoredDuringExecution:
properties:
nodeSelectorTerms:
@@ -33304,11 +36372,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchFields:
items:
properties:
@@ -33320,14 +36390,17 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
type: object
x-kubernetes-map-type: atomic
type: array
+ x-kubernetes-list-type: atomic
required:
- nodeSelectorTerms
type: object
@@ -33353,17 +36426,29 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
type: object
type: object
x-kubernetes-map-type: atomic
+ matchLabelKeys:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
+ mismatchLabelKeys:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
namespaceSelector:
properties:
matchExpressions:
@@ -33377,11 +36462,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
@@ -33392,6 +36479,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
topologyKey:
type: string
required:
@@ -33405,6 +36493,7 @@ spec:
- weight
type: object
type: array
+ x-kubernetes-list-type: atomic
requiredDuringSchedulingIgnoredDuringExecution:
items:
properties:
@@ -33421,17 +36510,29 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
type: object
type: object
x-kubernetes-map-type: atomic
+ matchLabelKeys:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
+ mismatchLabelKeys:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
namespaceSelector:
properties:
matchExpressions:
@@ -33445,11 +36546,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
@@ -33460,12 +36563,14 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
topologyKey:
type: string
required:
- topologyKey
type: object
type: array
+ x-kubernetes-list-type: atomic
type: object
podAntiAffinity:
properties:
@@ -33487,17 +36592,29 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
type: object
type: object
x-kubernetes-map-type: atomic
+ matchLabelKeys:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
+ mismatchLabelKeys:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
namespaceSelector:
properties:
matchExpressions:
@@ -33511,11 +36628,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
@@ -33526,6 +36645,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
topologyKey:
type: string
required:
@@ -33539,6 +36659,7 @@ spec:
- weight
type: object
type: array
+ x-kubernetes-list-type: atomic
requiredDuringSchedulingIgnoredDuringExecution:
items:
properties:
@@ -33555,17 +36676,29 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
type: object
type: object
x-kubernetes-map-type: atomic
+ matchLabelKeys:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
+ mismatchLabelKeys:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
namespaceSelector:
properties:
matchExpressions:
@@ -33579,11 +36712,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
@@ -33594,12 +36729,14 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
topologyKey:
type: string
required:
- topologyKey
type: object
type: array
+ x-kubernetes-list-type: atomic
type: object
type: object
archiveLocation:
@@ -33613,6 +36750,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -33627,6 +36765,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -33644,6 +36783,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -33675,6 +36815,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -33700,11 +36841,14 @@ spec:
type: array
insecureIgnoreHostKey:
type: boolean
+ insecureSkipTLS:
+ type: boolean
passwordSecret:
properties:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -33723,6 +36867,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -33735,6 +36880,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -33762,6 +36908,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -33774,6 +36921,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -33786,6 +36934,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -33815,6 +36964,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -33827,6 +36977,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -33842,6 +36993,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -33854,6 +37006,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -33869,6 +37022,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -33881,6 +37035,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -33908,6 +37063,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -33941,6 +37097,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -33970,6 +37127,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -33998,6 +37156,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -34012,6 +37171,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -34037,6 +37197,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -34060,6 +37221,20 @@ spec:
key:
type: string
name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ sessionTokenSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
type: string
optional:
type: boolean
@@ -34079,10 +37254,12 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
command:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
env:
items:
properties:
@@ -34097,6 +37274,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -34135,6 +37313,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -34147,12 +37326,16 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - name
+ x-kubernetes-list-type: map
envFrom:
items:
properties:
configMapRef:
properties:
name:
+ default: ""
type: string
optional:
type: boolean
@@ -34163,6 +37346,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
optional:
type: boolean
@@ -34170,6 +37354,7 @@ spec:
x-kubernetes-map-type: atomic
type: object
type: array
+ x-kubernetes-list-type: atomic
image:
type: string
imagePullPolicy:
@@ -34184,6 +37369,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
httpGet:
properties:
@@ -34201,6 +37387,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -34213,6 +37400,14 @@ spec:
required:
- port
type: object
+ sleep:
+ properties:
+ seconds:
+ format: int64
+ type: integer
+ required:
+ - seconds
+ type: object
tcpSocket:
properties:
host:
@@ -34234,6 +37429,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
httpGet:
properties:
@@ -34251,6 +37447,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -34263,6 +37460,14 @@ spec:
required:
- port
type: object
+ sleep:
+ properties:
+ seconds:
+ format: int64
+ type: integer
+ required:
+ - seconds
+ type: object
tcpSocket:
properties:
host:
@@ -34285,6 +37490,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -34315,6 +37521,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -34389,6 +37596,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -34419,6 +37627,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -34459,6 +37668,19 @@ spec:
format: int32
type: integer
type: object
+ resizePolicy:
+ items:
+ properties:
+ resourceName:
+ type: string
+ restartPolicy:
+ type: string
+ required:
+ - resourceName
+ - restartPolicy
+ type: object
+ type: array
+ x-kubernetes-list-type: atomic
resources:
properties:
claims:
@@ -34490,20 +37712,33 @@ spec:
x-kubernetes-int-or-string: true
type: object
type: object
+ restartPolicy:
+ type: string
securityContext:
properties:
allowPrivilegeEscalation:
type: boolean
+ appArmorProfile:
+ properties:
+ localhostProfile:
+ type: string
+ type:
+ type: string
+ required:
+ - type
+ type: object
capabilities:
properties:
add:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
drop:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
privileged:
type: boolean
@@ -34559,6 +37794,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -34589,6 +37825,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -34651,6 +37888,9 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - devicePath
+ x-kubernetes-list-type: map
volumeMounts:
items:
properties:
@@ -34662,6 +37902,8 @@ spec:
type: string
readOnly:
type: boolean
+ recursiveReadOnly:
+ type: string
subPath:
type: string
subPathExpr:
@@ -34671,6 +37913,9 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - mountPath
+ x-kubernetes-list-type: map
workingDir:
type: string
required:
@@ -34685,10 +37930,12 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
command:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
dependencies:
items:
type: string
@@ -34707,6 +37954,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -34745,6 +37993,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -34757,12 +38006,16 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - name
+ x-kubernetes-list-type: map
envFrom:
items:
properties:
configMapRef:
properties:
name:
+ default: ""
type: string
optional:
type: boolean
@@ -34773,6 +38026,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
optional:
type: boolean
@@ -34780,6 +38034,7 @@ spec:
x-kubernetes-map-type: atomic
type: object
type: array
+ x-kubernetes-list-type: atomic
image:
type: string
imagePullPolicy:
@@ -34794,6 +38049,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
httpGet:
properties:
@@ -34811,6 +38067,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -34823,6 +38080,14 @@ spec:
required:
- port
type: object
+ sleep:
+ properties:
+ seconds:
+ format: int64
+ type: integer
+ required:
+ - seconds
+ type: object
tcpSocket:
properties:
host:
@@ -34844,6 +38109,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
httpGet:
properties:
@@ -34861,6 +38127,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -34873,6 +38140,14 @@ spec:
required:
- port
type: object
+ sleep:
+ properties:
+ seconds:
+ format: int64
+ type: integer
+ required:
+ - seconds
+ type: object
tcpSocket:
properties:
host:
@@ -34895,6 +38170,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -34925,6 +38201,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -34999,6 +38276,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -35029,6 +38307,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -35069,6 +38348,19 @@ spec:
format: int32
type: integer
type: object
+ resizePolicy:
+ items:
+ properties:
+ resourceName:
+ type: string
+ restartPolicy:
+ type: string
+ required:
+ - resourceName
+ - restartPolicy
+ type: object
+ type: array
+ x-kubernetes-list-type: atomic
resources:
properties:
claims:
@@ -35100,20 +38392,33 @@ spec:
x-kubernetes-int-or-string: true
type: object
type: object
+ restartPolicy:
+ type: string
securityContext:
properties:
allowPrivilegeEscalation:
type: boolean
+ appArmorProfile:
+ properties:
+ localhostProfile:
+ type: string
+ type:
+ type: string
+ required:
+ - type
+ type: object
capabilities:
properties:
add:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
drop:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
privileged:
type: boolean
@@ -35169,6 +38474,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -35199,6 +38505,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -35261,6 +38568,9 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - devicePath
+ x-kubernetes-list-type: map
volumeMounts:
items:
properties:
@@ -35272,6 +38582,8 @@ spec:
type: string
readOnly:
type: boolean
+ recursiveReadOnly:
+ type: string
subPath:
type: string
subPathExpr:
@@ -35281,6 +38593,9 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - mountPath
+ x-kubernetes-list-type: map
workingDir:
type: string
required:
@@ -35310,6 +38625,8 @@ spec:
type: string
readOnly:
type: boolean
+ recursiveReadOnly:
+ type: string
subPath:
type: string
subPathExpr:
@@ -35383,6 +38700,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -35397,6 +38715,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -35414,6 +38733,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -35451,6 +38771,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -35476,11 +38797,14 @@ spec:
type: array
insecureIgnoreHostKey:
type: boolean
+ insecureSkipTLS:
+ type: boolean
passwordSecret:
properties:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -35499,6 +38823,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -35511,6 +38836,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -35540,6 +38866,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -35552,6 +38879,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -35564,6 +38892,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -35593,6 +38922,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -35605,6 +38935,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -35620,6 +38951,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -35632,6 +38964,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -35647,6 +38980,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -35659,6 +38993,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -35686,6 +39021,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -35726,6 +39062,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -35755,6 +39092,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -35787,6 +39125,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -35801,6 +39140,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -35826,6 +39166,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -35849,6 +39190,20 @@ spec:
key:
type: string
name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ sessionTokenSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
type: string
optional:
type: boolean
@@ -35889,6 +39244,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -35984,6 +39340,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -35998,6 +39355,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -36015,6 +39373,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -36052,6 +39411,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -36077,11 +39437,14 @@ spec:
type: array
insecureIgnoreHostKey:
type: boolean
+ insecureSkipTLS:
+ type: boolean
passwordSecret:
properties:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -36100,6 +39463,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -36112,6 +39476,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -36141,6 +39506,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -36153,6 +39519,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -36165,6 +39532,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -36194,6 +39562,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -36206,6 +39575,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -36221,6 +39591,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -36233,6 +39604,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -36248,6 +39620,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -36260,6 +39633,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -36287,6 +39661,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -36327,6 +39702,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -36356,6 +39732,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -36388,6 +39765,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -36402,6 +39780,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -36427,6 +39806,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -36450,6 +39830,20 @@ spec:
key:
type: string
name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ sessionTokenSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
type: string
optional:
type: boolean
@@ -36490,6 +39884,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -36636,6 +40031,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -36650,6 +40046,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -36667,6 +40064,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -36704,6 +40102,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -36729,11 +40128,14 @@ spec:
type: array
insecureIgnoreHostKey:
type: boolean
+ insecureSkipTLS:
+ type: boolean
passwordSecret:
properties:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -36752,6 +40154,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -36764,6 +40167,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -36793,6 +40197,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -36805,6 +40210,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -36817,6 +40223,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -36846,6 +40253,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -36858,6 +40266,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -36873,6 +40282,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -36885,6 +40295,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -36900,6 +40311,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -36912,6 +40324,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -36939,6 +40352,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -36979,6 +40393,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -37008,6 +40423,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -37040,6 +40456,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -37054,6 +40471,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -37079,6 +40497,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -37102,6 +40521,20 @@ spec:
key:
type: string
name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ sessionTokenSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
type: string
optional:
type: boolean
@@ -37145,8 +40578,11 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
ip:
type: string
+ required:
+ - ip
type: object
type: array
http:
@@ -37173,6 +40609,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -37206,10 +40643,12 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
command:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
env:
items:
properties:
@@ -37224,6 +40663,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -37262,6 +40702,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -37274,12 +40715,16 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - name
+ x-kubernetes-list-type: map
envFrom:
items:
properties:
configMapRef:
properties:
name:
+ default: ""
type: string
optional:
type: boolean
@@ -37290,6 +40735,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
optional:
type: boolean
@@ -37297,6 +40743,7 @@ spec:
x-kubernetes-map-type: atomic
type: object
type: array
+ x-kubernetes-list-type: atomic
image:
type: string
imagePullPolicy:
@@ -37311,6 +40758,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
httpGet:
properties:
@@ -37328,6 +40776,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -37340,6 +40789,14 @@ spec:
required:
- port
type: object
+ sleep:
+ properties:
+ seconds:
+ format: int64
+ type: integer
+ required:
+ - seconds
+ type: object
tcpSocket:
properties:
host:
@@ -37361,6 +40818,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
httpGet:
properties:
@@ -37378,6 +40836,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -37390,6 +40849,14 @@ spec:
required:
- port
type: object
+ sleep:
+ properties:
+ seconds:
+ format: int64
+ type: integer
+ required:
+ - seconds
+ type: object
tcpSocket:
properties:
host:
@@ -37412,6 +40879,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -37442,6 +40910,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -37518,6 +40987,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -37548,6 +41018,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -37588,6 +41059,19 @@ spec:
format: int32
type: integer
type: object
+ resizePolicy:
+ items:
+ properties:
+ resourceName:
+ type: string
+ restartPolicy:
+ type: string
+ required:
+ - resourceName
+ - restartPolicy
+ type: object
+ type: array
+ x-kubernetes-list-type: atomic
resources:
properties:
claims:
@@ -37619,20 +41103,33 @@ spec:
x-kubernetes-int-or-string: true
type: object
type: object
+ restartPolicy:
+ type: string
securityContext:
properties:
allowPrivilegeEscalation:
type: boolean
+ appArmorProfile:
+ properties:
+ localhostProfile:
+ type: string
+ type:
+ type: string
+ required:
+ - type
+ type: object
capabilities:
properties:
add:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
drop:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
privileged:
type: boolean
@@ -37688,6 +41185,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -37718,6 +41216,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -37780,6 +41279,9 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - devicePath
+ x-kubernetes-list-type: map
volumeMounts:
items:
properties:
@@ -37791,6 +41293,8 @@ spec:
type: string
readOnly:
type: boolean
+ recursiveReadOnly:
+ type: string
subPath:
type: string
subPathExpr:
@@ -37800,6 +41304,9 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - mountPath
+ x-kubernetes-list-type: map
workingDir:
type: string
required:
@@ -37856,6 +41363,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -37870,6 +41378,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -37887,6 +41396,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -37924,6 +41434,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -37949,11 +41460,14 @@ spec:
type: array
insecureIgnoreHostKey:
type: boolean
+ insecureSkipTLS:
+ type: boolean
passwordSecret:
properties:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -37972,6 +41486,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -37984,6 +41499,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -38013,6 +41529,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -38025,6 +41542,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -38037,6 +41555,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -38066,6 +41585,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -38078,6 +41598,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -38093,6 +41614,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -38105,6 +41627,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -38120,6 +41643,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -38132,6 +41656,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -38159,6 +41684,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -38199,6 +41725,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -38228,6 +41755,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -38260,6 +41788,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -38274,6 +41803,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -38299,6 +41829,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -38322,6 +41853,20 @@ spec:
key:
type: string
name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ sessionTokenSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
type: string
optional:
type: boolean
@@ -38362,6 +41907,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -38400,6 +41946,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -38548,6 +42095,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -38562,6 +42110,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -38579,6 +42128,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -38616,6 +42166,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -38641,11 +42192,14 @@ spec:
type: array
insecureIgnoreHostKey:
type: boolean
+ insecureSkipTLS:
+ type: boolean
passwordSecret:
properties:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -38664,6 +42218,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -38676,6 +42231,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -38705,6 +42261,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -38717,6 +42274,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -38729,6 +42287,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -38758,6 +42317,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -38770,6 +42330,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -38785,6 +42346,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -38797,6 +42359,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -38812,6 +42375,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -38824,6 +42388,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -38851,6 +42416,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -38891,6 +42457,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -38920,6 +42487,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -38952,6 +42520,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -38966,6 +42535,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -38991,6 +42561,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -39014,6 +42585,20 @@ spec:
key:
type: string
name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ sessionTokenSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
type: string
optional:
type: boolean
@@ -39056,6 +42641,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -39160,6 +42746,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -39174,6 +42761,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -39191,6 +42779,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -39228,6 +42817,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -39253,11 +42843,14 @@ spec:
type: array
insecureIgnoreHostKey:
type: boolean
+ insecureSkipTLS:
+ type: boolean
passwordSecret:
properties:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -39276,6 +42869,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -39288,6 +42882,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -39317,6 +42912,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -39329,6 +42925,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -39341,6 +42938,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -39370,6 +42968,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -39382,6 +42981,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -39397,6 +42997,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -39409,6 +43010,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -39424,6 +43026,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -39436,6 +43039,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -39463,6 +43067,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -39503,6 +43108,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -39532,6 +43138,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -39564,6 +43171,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -39578,6 +43186,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -39603,6 +43212,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -39626,6 +43236,20 @@ spec:
key:
type: string
name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ sessionTokenSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
type: string
optional:
type: boolean
@@ -39690,10 +43314,12 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
command:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
env:
items:
properties:
@@ -39708,6 +43334,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -39746,6 +43373,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -39758,12 +43386,16 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - name
+ x-kubernetes-list-type: map
envFrom:
items:
properties:
configMapRef:
properties:
name:
+ default: ""
type: string
optional:
type: boolean
@@ -39774,6 +43406,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
optional:
type: boolean
@@ -39781,6 +43414,7 @@ spec:
x-kubernetes-map-type: atomic
type: object
type: array
+ x-kubernetes-list-type: atomic
image:
type: string
imagePullPolicy:
@@ -39795,6 +43429,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
httpGet:
properties:
@@ -39812,6 +43447,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -39824,6 +43460,14 @@ spec:
required:
- port
type: object
+ sleep:
+ properties:
+ seconds:
+ format: int64
+ type: integer
+ required:
+ - seconds
+ type: object
tcpSocket:
properties:
host:
@@ -39845,6 +43489,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
httpGet:
properties:
@@ -39862,6 +43507,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -39874,6 +43520,14 @@ spec:
required:
- port
type: object
+ sleep:
+ properties:
+ seconds:
+ format: int64
+ type: integer
+ required:
+ - seconds
+ type: object
tcpSocket:
properties:
host:
@@ -39896,6 +43550,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -39926,6 +43581,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -40000,6 +43656,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -40030,6 +43687,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -40070,6 +43728,19 @@ spec:
format: int32
type: integer
type: object
+ resizePolicy:
+ items:
+ properties:
+ resourceName:
+ type: string
+ restartPolicy:
+ type: string
+ required:
+ - resourceName
+ - restartPolicy
+ type: object
+ type: array
+ x-kubernetes-list-type: atomic
resources:
properties:
claims:
@@ -40101,20 +43772,33 @@ spec:
x-kubernetes-int-or-string: true
type: object
type: object
+ restartPolicy:
+ type: string
securityContext:
properties:
allowPrivilegeEscalation:
type: boolean
+ appArmorProfile:
+ properties:
+ localhostProfile:
+ type: string
+ type:
+ type: string
+ required:
+ - type
+ type: object
capabilities:
properties:
add:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
drop:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
privileged:
type: boolean
@@ -40172,6 +43856,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -40202,6 +43887,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -40264,6 +43950,9 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - devicePath
+ x-kubernetes-list-type: map
volumeMounts:
items:
properties:
@@ -40275,6 +43964,8 @@ spec:
type: string
readOnly:
type: boolean
+ recursiveReadOnly:
+ type: string
subPath:
type: string
subPathExpr:
@@ -40284,6 +43975,9 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - mountPath
+ x-kubernetes-list-type: map
workingDir:
type: string
required:
@@ -40292,6 +43986,15 @@ spec:
type: object
securityContext:
properties:
+ appArmorProfile:
+ properties:
+ localhostProfile:
+ type: string
+ type:
+ type: string
+ required:
+ - type
+ type: object
fsGroup:
format: int64
type: integer
@@ -40330,6 +44033,7 @@ spec:
format: int64
type: integer
type: array
+ x-kubernetes-list-type: atomic
sysctls:
items:
properties:
@@ -40342,6 +44046,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
windowsOptions:
properties:
gmsaCredentialSpec:
@@ -40363,10 +44068,12 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
command:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
env:
items:
properties:
@@ -40381,6 +44088,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -40419,6 +44127,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -40431,12 +44140,16 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - name
+ x-kubernetes-list-type: map
envFrom:
items:
properties:
configMapRef:
properties:
name:
+ default: ""
type: string
optional:
type: boolean
@@ -40447,6 +44160,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
optional:
type: boolean
@@ -40454,6 +44168,7 @@ spec:
x-kubernetes-map-type: atomic
type: object
type: array
+ x-kubernetes-list-type: atomic
image:
type: string
imagePullPolicy:
@@ -40468,6 +44183,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
httpGet:
properties:
@@ -40485,6 +44201,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -40497,6 +44214,14 @@ spec:
required:
- port
type: object
+ sleep:
+ properties:
+ seconds:
+ format: int64
+ type: integer
+ required:
+ - seconds
+ type: object
tcpSocket:
properties:
host:
@@ -40518,6 +44243,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
httpGet:
properties:
@@ -40535,6 +44261,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -40547,6 +44274,14 @@ spec:
required:
- port
type: object
+ sleep:
+ properties:
+ seconds:
+ format: int64
+ type: integer
+ required:
+ - seconds
+ type: object
tcpSocket:
properties:
host:
@@ -40569,6 +44304,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -40599,6 +44335,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -40675,6 +44412,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -40705,6 +44443,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -40745,6 +44484,19 @@ spec:
format: int32
type: integer
type: object
+ resizePolicy:
+ items:
+ properties:
+ resourceName:
+ type: string
+ restartPolicy:
+ type: string
+ required:
+ - resourceName
+ - restartPolicy
+ type: object
+ type: array
+ x-kubernetes-list-type: atomic
resources:
properties:
claims:
@@ -40776,20 +44528,33 @@ spec:
x-kubernetes-int-or-string: true
type: object
type: object
+ restartPolicy:
+ type: string
securityContext:
properties:
allowPrivilegeEscalation:
type: boolean
+ appArmorProfile:
+ properties:
+ localhostProfile:
+ type: string
+ type:
+ type: string
+ required:
+ - type
+ type: object
capabilities:
properties:
add:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
drop:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
privileged:
type: boolean
@@ -40845,6 +44610,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -40875,6 +44641,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -40937,6 +44704,9 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - devicePath
+ x-kubernetes-list-type: map
volumeMounts:
items:
properties:
@@ -40948,6 +44718,8 @@ spec:
type: string
readOnly:
type: boolean
+ recursiveReadOnly:
+ type: string
subPath:
type: string
subPathExpr:
@@ -40957,6 +44729,9 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - mountPath
+ x-kubernetes-list-type: map
workingDir:
type: string
required:
@@ -40981,6 +44756,15 @@ spec:
namespace:
type: string
type: object
+ mutexes:
+ items:
+ properties:
+ name:
+ type: string
+ namespace:
+ type: string
+ type: object
+ type: array
semaphore:
properties:
configMapKeyRef:
@@ -40988,6 +44772,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -40998,6 +44783,26 @@ spec:
namespace:
type: string
type: object
+ semaphores:
+ items:
+ properties:
+ configMapKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ namespace:
+ type: string
+ type: object
+ type: array
type: object
timeout:
type: string
@@ -41070,6 +44875,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
readOnly:
@@ -41079,6 +44885,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
type: object
x-kubernetes-map-type: atomic
@@ -41096,6 +44903,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
type: object
x-kubernetes-map-type: atomic
@@ -41124,7 +44932,9 @@ spec:
- path
type: object
type: array
+ x-kubernetes-list-type: atomic
name:
+ default: ""
type: string
optional:
type: boolean
@@ -41139,6 +44949,7 @@ spec:
nodePublishSecretRef:
properties:
name:
+ default: ""
type: string
type: object
x-kubernetes-map-type: atomic
@@ -41194,6 +45005,7 @@ spec:
- path
type: object
type: array
+ x-kubernetes-list-type: atomic
type: object
emptyDir:
properties:
@@ -41218,6 +45030,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
dataSource:
properties:
apiGroup:
@@ -41247,18 +45060,6 @@ spec:
type: object
resources:
properties:
- claims:
- items:
- properties:
- name:
- type: string
- required:
- - name
- type: object
- type: array
- x-kubernetes-list-map-keys:
- - name
- x-kubernetes-list-type: map
limits:
additionalProperties:
anyOf:
@@ -41289,11 +45090,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
@@ -41302,6 +45105,8 @@ spec:
x-kubernetes-map-type: atomic
storageClassName:
type: string
+ volumeAttributesClassName:
+ type: string
volumeMode:
type: string
volumeName:
@@ -41324,10 +45129,12 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
wwids:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
flexVolume:
properties:
@@ -41344,6 +45151,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
type: object
x-kubernetes-map-type: atomic
@@ -41424,11 +45232,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
readOnly:
type: boolean
secretRef:
properties:
name:
+ default: ""
type: string
type: object
x-kubernetes-map-type: atomic
@@ -41490,6 +45300,45 @@ spec:
sources:
items:
properties:
+ clusterTrustBundle:
+ properties:
+ labelSelector:
+ properties:
+ matchExpressions:
+ items:
+ properties:
+ key:
+ type: string
+ operator:
+ type: string
+ values:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
+ required:
+ - key
+ - operator
+ type: object
+ type: array
+ x-kubernetes-list-type: atomic
+ matchLabels:
+ additionalProperties:
+ type: string
+ type: object
+ type: object
+ x-kubernetes-map-type: atomic
+ name:
+ type: string
+ optional:
+ type: boolean
+ path:
+ type: string
+ signerName:
+ type: string
+ required:
+ - path
+ type: object
configMap:
properties:
items:
@@ -41507,7 +45356,9 @@ spec:
- path
type: object
type: array
+ x-kubernetes-list-type: atomic
name:
+ default: ""
type: string
optional:
type: boolean
@@ -41553,6 +45404,7 @@ spec:
- path
type: object
type: array
+ x-kubernetes-list-type: atomic
type: object
secret:
properties:
@@ -41571,7 +45423,9 @@ spec:
- path
type: object
type: array
+ x-kubernetes-list-type: atomic
name:
+ default: ""
type: string
optional:
type: boolean
@@ -41591,6 +45445,7 @@ spec:
type: object
type: object
type: array
+ x-kubernetes-list-type: atomic
type: object
quobyte:
properties:
@@ -41622,6 +45477,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
pool:
type: string
readOnly:
@@ -41629,6 +45485,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
type: object
x-kubernetes-map-type: atomic
@@ -41651,6 +45508,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
type: object
x-kubernetes-map-type: atomic
@@ -41689,6 +45547,7 @@ spec:
- path
type: object
type: array
+ x-kubernetes-list-type: atomic
optional:
type: boolean
secretName:
@@ -41703,6 +45562,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
type: object
x-kubernetes-map-type: atomic
@@ -41757,11 +45617,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchFields:
items:
properties:
@@ -41773,11 +45635,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
type: object
x-kubernetes-map-type: atomic
weight:
@@ -41788,6 +45652,7 @@ spec:
- weight
type: object
type: array
+ x-kubernetes-list-type: atomic
requiredDuringSchedulingIgnoredDuringExecution:
properties:
nodeSelectorTerms:
@@ -41804,11 +45669,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchFields:
items:
properties:
@@ -41820,14 +45687,17 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
type: object
x-kubernetes-map-type: atomic
type: array
+ x-kubernetes-list-type: atomic
required:
- nodeSelectorTerms
type: object
@@ -41853,17 +45723,29 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
type: object
type: object
x-kubernetes-map-type: atomic
+ matchLabelKeys:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
+ mismatchLabelKeys:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
namespaceSelector:
properties:
matchExpressions:
@@ -41877,11 +45759,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
@@ -41892,6 +45776,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
topologyKey:
type: string
required:
@@ -41905,6 +45790,7 @@ spec:
- weight
type: object
type: array
+ x-kubernetes-list-type: atomic
requiredDuringSchedulingIgnoredDuringExecution:
items:
properties:
@@ -41921,17 +45807,29 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
type: object
type: object
x-kubernetes-map-type: atomic
+ matchLabelKeys:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
+ mismatchLabelKeys:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
namespaceSelector:
properties:
matchExpressions:
@@ -41945,11 +45843,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
@@ -41960,12 +45860,14 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
topologyKey:
type: string
required:
- topologyKey
type: object
type: array
+ x-kubernetes-list-type: atomic
type: object
podAntiAffinity:
properties:
@@ -41987,17 +45889,29 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
type: object
type: object
x-kubernetes-map-type: atomic
+ matchLabelKeys:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
+ mismatchLabelKeys:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
namespaceSelector:
properties:
matchExpressions:
@@ -42011,11 +45925,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
@@ -42026,6 +45942,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
topologyKey:
type: string
required:
@@ -42039,6 +45956,7 @@ spec:
- weight
type: object
type: array
+ x-kubernetes-list-type: atomic
requiredDuringSchedulingIgnoredDuringExecution:
items:
properties:
@@ -42055,17 +45973,29 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
type: object
type: object
x-kubernetes-map-type: atomic
+ matchLabelKeys:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
+ mismatchLabelKeys:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
namespaceSelector:
properties:
matchExpressions:
@@ -42079,11 +46009,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
@@ -42094,12 +46026,14 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
topologyKey:
type: string
required:
- topologyKey
type: object
type: array
+ x-kubernetes-list-type: atomic
type: object
type: object
archiveLocation:
@@ -42113,6 +46047,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -42127,6 +46062,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -42144,6 +46080,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -42175,6 +46112,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -42200,11 +46138,14 @@ spec:
type: array
insecureIgnoreHostKey:
type: boolean
+ insecureSkipTLS:
+ type: boolean
passwordSecret:
properties:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -42223,6 +46164,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -42235,6 +46177,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -42262,6 +46205,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -42274,6 +46218,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -42286,6 +46231,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -42315,6 +46261,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -42327,6 +46274,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -42342,6 +46290,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -42354,6 +46303,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -42369,6 +46319,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -42381,6 +46332,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -42408,6 +46360,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -42441,6 +46394,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -42470,6 +46424,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -42498,6 +46453,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -42512,6 +46468,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -42537,6 +46494,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -42560,6 +46518,20 @@ spec:
key:
type: string
name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ sessionTokenSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
type: string
optional:
type: boolean
@@ -42579,10 +46551,12 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
command:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
env:
items:
properties:
@@ -42597,6 +46571,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -42635,6 +46610,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -42647,12 +46623,16 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - name
+ x-kubernetes-list-type: map
envFrom:
items:
properties:
configMapRef:
properties:
name:
+ default: ""
type: string
optional:
type: boolean
@@ -42663,6 +46643,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
optional:
type: boolean
@@ -42670,6 +46651,7 @@ spec:
x-kubernetes-map-type: atomic
type: object
type: array
+ x-kubernetes-list-type: atomic
image:
type: string
imagePullPolicy:
@@ -42684,6 +46666,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
httpGet:
properties:
@@ -42701,6 +46684,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -42713,6 +46697,14 @@ spec:
required:
- port
type: object
+ sleep:
+ properties:
+ seconds:
+ format: int64
+ type: integer
+ required:
+ - seconds
+ type: object
tcpSocket:
properties:
host:
@@ -42734,6 +46726,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
httpGet:
properties:
@@ -42751,6 +46744,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -42763,6 +46757,14 @@ spec:
required:
- port
type: object
+ sleep:
+ properties:
+ seconds:
+ format: int64
+ type: integer
+ required:
+ - seconds
+ type: object
tcpSocket:
properties:
host:
@@ -42785,6 +46787,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -42815,6 +46818,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -42889,6 +46893,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -42919,6 +46924,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -42959,6 +46965,19 @@ spec:
format: int32
type: integer
type: object
+ resizePolicy:
+ items:
+ properties:
+ resourceName:
+ type: string
+ restartPolicy:
+ type: string
+ required:
+ - resourceName
+ - restartPolicy
+ type: object
+ type: array
+ x-kubernetes-list-type: atomic
resources:
properties:
claims:
@@ -42990,20 +47009,33 @@ spec:
x-kubernetes-int-or-string: true
type: object
type: object
+ restartPolicy:
+ type: string
securityContext:
properties:
allowPrivilegeEscalation:
type: boolean
+ appArmorProfile:
+ properties:
+ localhostProfile:
+ type: string
+ type:
+ type: string
+ required:
+ - type
+ type: object
capabilities:
properties:
add:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
drop:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
privileged:
type: boolean
@@ -43059,6 +47091,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -43089,6 +47122,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -43151,6 +47185,9 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - devicePath
+ x-kubernetes-list-type: map
volumeMounts:
items:
properties:
@@ -43162,6 +47199,8 @@ spec:
type: string
readOnly:
type: boolean
+ recursiveReadOnly:
+ type: string
subPath:
type: string
subPathExpr:
@@ -43171,6 +47210,9 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - mountPath
+ x-kubernetes-list-type: map
workingDir:
type: string
required:
@@ -43185,10 +47227,12 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
command:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
dependencies:
items:
type: string
@@ -43207,6 +47251,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -43245,6 +47290,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -43257,12 +47303,16 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - name
+ x-kubernetes-list-type: map
envFrom:
items:
properties:
configMapRef:
properties:
name:
+ default: ""
type: string
optional:
type: boolean
@@ -43273,6 +47323,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
optional:
type: boolean
@@ -43280,6 +47331,7 @@ spec:
x-kubernetes-map-type: atomic
type: object
type: array
+ x-kubernetes-list-type: atomic
image:
type: string
imagePullPolicy:
@@ -43294,6 +47346,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
httpGet:
properties:
@@ -43311,6 +47364,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -43323,6 +47377,14 @@ spec:
required:
- port
type: object
+ sleep:
+ properties:
+ seconds:
+ format: int64
+ type: integer
+ required:
+ - seconds
+ type: object
tcpSocket:
properties:
host:
@@ -43344,6 +47406,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
httpGet:
properties:
@@ -43361,6 +47424,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -43373,6 +47437,14 @@ spec:
required:
- port
type: object
+ sleep:
+ properties:
+ seconds:
+ format: int64
+ type: integer
+ required:
+ - seconds
+ type: object
tcpSocket:
properties:
host:
@@ -43395,6 +47467,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -43425,6 +47498,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -43499,6 +47573,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -43529,6 +47604,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -43569,6 +47645,19 @@ spec:
format: int32
type: integer
type: object
+ resizePolicy:
+ items:
+ properties:
+ resourceName:
+ type: string
+ restartPolicy:
+ type: string
+ required:
+ - resourceName
+ - restartPolicy
+ type: object
+ type: array
+ x-kubernetes-list-type: atomic
resources:
properties:
claims:
@@ -43600,20 +47689,33 @@ spec:
x-kubernetes-int-or-string: true
type: object
type: object
+ restartPolicy:
+ type: string
securityContext:
properties:
allowPrivilegeEscalation:
type: boolean
+ appArmorProfile:
+ properties:
+ localhostProfile:
+ type: string
+ type:
+ type: string
+ required:
+ - type
+ type: object
capabilities:
properties:
add:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
drop:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
privileged:
type: boolean
@@ -43669,6 +47771,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -43699,6 +47802,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -43761,6 +47865,9 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - devicePath
+ x-kubernetes-list-type: map
volumeMounts:
items:
properties:
@@ -43772,6 +47879,8 @@ spec:
type: string
readOnly:
type: boolean
+ recursiveReadOnly:
+ type: string
subPath:
type: string
subPathExpr:
@@ -43781,6 +47890,9 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - mountPath
+ x-kubernetes-list-type: map
workingDir:
type: string
required:
@@ -43810,6 +47922,8 @@ spec:
type: string
readOnly:
type: boolean
+ recursiveReadOnly:
+ type: string
subPath:
type: string
subPathExpr:
@@ -43883,6 +47997,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -43897,6 +48012,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -43914,6 +48030,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -43951,6 +48068,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -43976,11 +48094,14 @@ spec:
type: array
insecureIgnoreHostKey:
type: boolean
+ insecureSkipTLS:
+ type: boolean
passwordSecret:
properties:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -43999,6 +48120,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -44011,6 +48133,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -44040,6 +48163,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -44052,6 +48176,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -44064,6 +48189,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -44093,6 +48219,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -44105,6 +48232,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -44120,6 +48248,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -44132,6 +48261,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -44147,6 +48277,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -44159,6 +48290,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -44186,6 +48318,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -44226,6 +48359,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -44255,6 +48389,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -44287,6 +48422,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -44301,6 +48437,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -44326,6 +48463,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -44349,6 +48487,20 @@ spec:
key:
type: string
name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ sessionTokenSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
type: string
optional:
type: boolean
@@ -44389,6 +48541,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -44484,6 +48637,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -44498,6 +48652,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -44515,6 +48670,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -44552,6 +48708,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -44577,11 +48734,14 @@ spec:
type: array
insecureIgnoreHostKey:
type: boolean
+ insecureSkipTLS:
+ type: boolean
passwordSecret:
properties:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -44600,6 +48760,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -44612,6 +48773,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -44641,6 +48803,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -44653,6 +48816,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -44665,6 +48829,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -44694,6 +48859,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -44706,6 +48872,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -44721,6 +48888,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -44733,6 +48901,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -44748,6 +48917,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -44760,6 +48930,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -44787,6 +48958,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -44827,6 +48999,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -44856,6 +49029,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -44888,6 +49062,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -44902,6 +49077,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -44927,6 +49103,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -44950,6 +49127,20 @@ spec:
key:
type: string
name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ sessionTokenSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
type: string
optional:
type: boolean
@@ -44990,6 +49181,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -45136,6 +49328,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -45150,6 +49343,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -45167,6 +49361,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -45204,6 +49399,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -45229,11 +49425,14 @@ spec:
type: array
insecureIgnoreHostKey:
type: boolean
+ insecureSkipTLS:
+ type: boolean
passwordSecret:
properties:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -45252,6 +49451,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -45264,6 +49464,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -45293,6 +49494,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -45305,6 +49507,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -45317,6 +49520,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -45346,6 +49550,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -45358,6 +49563,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -45373,6 +49579,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -45385,6 +49592,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -45400,6 +49608,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -45412,6 +49621,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -45439,6 +49649,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -45479,6 +49690,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -45508,6 +49720,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -45540,6 +49753,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -45554,6 +49768,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -45579,6 +49794,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -45602,6 +49818,20 @@ spec:
key:
type: string
name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ sessionTokenSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
type: string
optional:
type: boolean
@@ -45645,8 +49875,11 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
ip:
type: string
+ required:
+ - ip
type: object
type: array
http:
@@ -45673,6 +49906,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -45706,10 +49940,12 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
command:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
env:
items:
properties:
@@ -45724,6 +49960,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -45762,6 +49999,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -45774,12 +50012,16 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - name
+ x-kubernetes-list-type: map
envFrom:
items:
properties:
configMapRef:
properties:
name:
+ default: ""
type: string
optional:
type: boolean
@@ -45790,6 +50032,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
optional:
type: boolean
@@ -45797,6 +50040,7 @@ spec:
x-kubernetes-map-type: atomic
type: object
type: array
+ x-kubernetes-list-type: atomic
image:
type: string
imagePullPolicy:
@@ -45811,6 +50055,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
httpGet:
properties:
@@ -45828,6 +50073,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -45840,6 +50086,14 @@ spec:
required:
- port
type: object
+ sleep:
+ properties:
+ seconds:
+ format: int64
+ type: integer
+ required:
+ - seconds
+ type: object
tcpSocket:
properties:
host:
@@ -45861,6 +50115,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
httpGet:
properties:
@@ -45878,6 +50133,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -45890,6 +50146,14 @@ spec:
required:
- port
type: object
+ sleep:
+ properties:
+ seconds:
+ format: int64
+ type: integer
+ required:
+ - seconds
+ type: object
tcpSocket:
properties:
host:
@@ -45912,6 +50176,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -45942,6 +50207,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -46018,6 +50284,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -46048,6 +50315,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -46088,6 +50356,19 @@ spec:
format: int32
type: integer
type: object
+ resizePolicy:
+ items:
+ properties:
+ resourceName:
+ type: string
+ restartPolicy:
+ type: string
+ required:
+ - resourceName
+ - restartPolicy
+ type: object
+ type: array
+ x-kubernetes-list-type: atomic
resources:
properties:
claims:
@@ -46119,20 +50400,33 @@ spec:
x-kubernetes-int-or-string: true
type: object
type: object
+ restartPolicy:
+ type: string
securityContext:
properties:
allowPrivilegeEscalation:
type: boolean
+ appArmorProfile:
+ properties:
+ localhostProfile:
+ type: string
+ type:
+ type: string
+ required:
+ - type
+ type: object
capabilities:
properties:
add:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
drop:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
privileged:
type: boolean
@@ -46188,6 +50482,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -46218,6 +50513,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -46280,6 +50576,9 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - devicePath
+ x-kubernetes-list-type: map
volumeMounts:
items:
properties:
@@ -46291,6 +50590,8 @@ spec:
type: string
readOnly:
type: boolean
+ recursiveReadOnly:
+ type: string
subPath:
type: string
subPathExpr:
@@ -46300,6 +50601,9 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - mountPath
+ x-kubernetes-list-type: map
workingDir:
type: string
required:
@@ -46356,6 +50660,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -46370,6 +50675,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -46387,6 +50693,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -46424,6 +50731,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -46449,11 +50757,14 @@ spec:
type: array
insecureIgnoreHostKey:
type: boolean
+ insecureSkipTLS:
+ type: boolean
passwordSecret:
properties:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -46472,6 +50783,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -46484,6 +50796,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -46513,6 +50826,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -46525,6 +50839,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -46537,6 +50852,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -46566,6 +50882,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -46578,6 +50895,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -46593,6 +50911,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -46605,6 +50924,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -46620,6 +50940,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -46632,6 +50953,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -46659,6 +50981,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -46699,6 +51022,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -46728,6 +51052,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -46760,6 +51085,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -46774,6 +51100,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -46799,6 +51126,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -46822,6 +51150,20 @@ spec:
key:
type: string
name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ sessionTokenSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
type: string
optional:
type: boolean
@@ -46862,6 +51204,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -46900,6 +51243,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -47048,6 +51392,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -47062,6 +51407,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -47079,6 +51425,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -47116,6 +51463,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -47141,11 +51489,14 @@ spec:
type: array
insecureIgnoreHostKey:
type: boolean
+ insecureSkipTLS:
+ type: boolean
passwordSecret:
properties:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -47164,6 +51515,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -47176,6 +51528,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -47205,6 +51558,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -47217,6 +51571,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -47229,6 +51584,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -47258,6 +51614,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -47270,6 +51627,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -47285,6 +51643,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -47297,6 +51656,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -47312,6 +51672,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -47324,6 +51685,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -47351,6 +51713,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -47391,6 +51754,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -47420,6 +51784,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -47452,6 +51817,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -47466,6 +51832,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -47491,6 +51858,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -47514,6 +51882,20 @@ spec:
key:
type: string
name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ sessionTokenSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
type: string
optional:
type: boolean
@@ -47556,6 +51938,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -47660,6 +52043,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -47674,6 +52058,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -47691,6 +52076,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -47728,6 +52114,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -47753,11 +52140,14 @@ spec:
type: array
insecureIgnoreHostKey:
type: boolean
+ insecureSkipTLS:
+ type: boolean
passwordSecret:
properties:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -47776,6 +52166,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -47788,6 +52179,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -47817,6 +52209,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -47829,6 +52222,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -47841,6 +52235,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -47870,6 +52265,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -47882,6 +52278,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -47897,6 +52294,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -47909,6 +52307,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -47924,6 +52323,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -47936,6 +52336,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -47963,6 +52364,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -48003,6 +52405,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -48032,6 +52435,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -48064,6 +52468,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -48078,6 +52483,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -48103,6 +52509,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -48126,6 +52533,20 @@ spec:
key:
type: string
name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ sessionTokenSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
type: string
optional:
type: boolean
@@ -48190,10 +52611,12 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
command:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
env:
items:
properties:
@@ -48208,6 +52631,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -48246,6 +52670,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -48258,12 +52683,16 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - name
+ x-kubernetes-list-type: map
envFrom:
items:
properties:
configMapRef:
properties:
name:
+ default: ""
type: string
optional:
type: boolean
@@ -48274,6 +52703,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
optional:
type: boolean
@@ -48281,6 +52711,7 @@ spec:
x-kubernetes-map-type: atomic
type: object
type: array
+ x-kubernetes-list-type: atomic
image:
type: string
imagePullPolicy:
@@ -48295,6 +52726,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
httpGet:
properties:
@@ -48312,6 +52744,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -48324,6 +52757,14 @@ spec:
required:
- port
type: object
+ sleep:
+ properties:
+ seconds:
+ format: int64
+ type: integer
+ required:
+ - seconds
+ type: object
tcpSocket:
properties:
host:
@@ -48345,6 +52786,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
httpGet:
properties:
@@ -48362,6 +52804,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -48374,6 +52817,14 @@ spec:
required:
- port
type: object
+ sleep:
+ properties:
+ seconds:
+ format: int64
+ type: integer
+ required:
+ - seconds
+ type: object
tcpSocket:
properties:
host:
@@ -48396,6 +52847,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -48426,6 +52878,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -48500,6 +52953,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -48530,6 +52984,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -48570,6 +53025,19 @@ spec:
format: int32
type: integer
type: object
+ resizePolicy:
+ items:
+ properties:
+ resourceName:
+ type: string
+ restartPolicy:
+ type: string
+ required:
+ - resourceName
+ - restartPolicy
+ type: object
+ type: array
+ x-kubernetes-list-type: atomic
resources:
properties:
claims:
@@ -48601,20 +53069,33 @@ spec:
x-kubernetes-int-or-string: true
type: object
type: object
+ restartPolicy:
+ type: string
securityContext:
properties:
allowPrivilegeEscalation:
type: boolean
+ appArmorProfile:
+ properties:
+ localhostProfile:
+ type: string
+ type:
+ type: string
+ required:
+ - type
+ type: object
capabilities:
properties:
add:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
drop:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
privileged:
type: boolean
@@ -48672,6 +53153,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -48702,6 +53184,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -48764,6 +53247,9 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - devicePath
+ x-kubernetes-list-type: map
volumeMounts:
items:
properties:
@@ -48775,6 +53261,8 @@ spec:
type: string
readOnly:
type: boolean
+ recursiveReadOnly:
+ type: string
subPath:
type: string
subPathExpr:
@@ -48784,6 +53272,9 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - mountPath
+ x-kubernetes-list-type: map
workingDir:
type: string
required:
@@ -48792,6 +53283,15 @@ spec:
type: object
securityContext:
properties:
+ appArmorProfile:
+ properties:
+ localhostProfile:
+ type: string
+ type:
+ type: string
+ required:
+ - type
+ type: object
fsGroup:
format: int64
type: integer
@@ -48830,6 +53330,7 @@ spec:
format: int64
type: integer
type: array
+ x-kubernetes-list-type: atomic
sysctls:
items:
properties:
@@ -48842,6 +53343,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
windowsOptions:
properties:
gmsaCredentialSpec:
@@ -48863,10 +53365,12 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
command:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
env:
items:
properties:
@@ -48881,6 +53385,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -48919,6 +53424,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -48931,12 +53437,16 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - name
+ x-kubernetes-list-type: map
envFrom:
items:
properties:
configMapRef:
properties:
name:
+ default: ""
type: string
optional:
type: boolean
@@ -48947,6 +53457,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
optional:
type: boolean
@@ -48954,6 +53465,7 @@ spec:
x-kubernetes-map-type: atomic
type: object
type: array
+ x-kubernetes-list-type: atomic
image:
type: string
imagePullPolicy:
@@ -48968,6 +53480,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
httpGet:
properties:
@@ -48985,6 +53498,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -48997,6 +53511,14 @@ spec:
required:
- port
type: object
+ sleep:
+ properties:
+ seconds:
+ format: int64
+ type: integer
+ required:
+ - seconds
+ type: object
tcpSocket:
properties:
host:
@@ -49018,6 +53540,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
httpGet:
properties:
@@ -49035,6 +53558,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -49047,6 +53571,14 @@ spec:
required:
- port
type: object
+ sleep:
+ properties:
+ seconds:
+ format: int64
+ type: integer
+ required:
+ - seconds
+ type: object
tcpSocket:
properties:
host:
@@ -49069,6 +53601,115 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
+ type: object
+ failureThreshold:
+ format: int32
+ type: integer
+ grpc:
+ properties:
+ port:
+ format: int32
+ type: integer
+ service:
+ type: string
+ required:
+ - port
+ type: object
+ httpGet:
+ properties:
+ host:
+ type: string
+ httpHeaders:
+ items:
+ properties:
+ name:
+ type: string
+ value:
+ type: string
+ required:
+ - name
+ - value
+ type: object
+ type: array
+ x-kubernetes-list-type: atomic
+ path:
+ type: string
+ port:
+ anyOf:
+ - type: integer
+ - type: string
+ x-kubernetes-int-or-string: true
+ scheme:
+ type: string
+ required:
+ - port
+ type: object
+ initialDelaySeconds:
+ format: int32
+ type: integer
+ periodSeconds:
+ format: int32
+ type: integer
+ successThreshold:
+ format: int32
+ type: integer
+ tcpSocket:
+ properties:
+ host:
+ type: string
+ port:
+ anyOf:
+ - type: integer
+ - type: string
+ x-kubernetes-int-or-string: true
+ required:
+ - port
+ type: object
+ terminationGracePeriodSeconds:
+ format: int64
+ type: integer
+ timeoutSeconds:
+ format: int32
+ type: integer
+ type: object
+ mirrorVolumeMounts:
+ type: boolean
+ name:
+ type: string
+ ports:
+ items:
+ properties:
+ containerPort:
+ format: int32
+ type: integer
+ hostIP:
+ type: string
+ hostPort:
+ format: int32
+ type: integer
+ name:
+ type: string
+ protocol:
+ default: TCP
+ type: string
+ required:
+ - containerPort
+ type: object
+ type: array
+ x-kubernetes-list-map-keys:
+ - containerPort
+ - protocol
+ x-kubernetes-list-type: map
+ readinessProbe:
+ properties:
+ exec:
+ properties:
+ command:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -49099,6 +53740,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -49139,112 +53781,19 @@ spec:
format: int32
type: integer
type: object
- mirrorVolumeMounts:
- type: boolean
- name:
- type: string
- ports:
+ resizePolicy:
items:
properties:
- containerPort:
- format: int32
- type: integer
- hostIP:
+ resourceName:
type: string
- hostPort:
- format: int32
- type: integer
- name:
- type: string
- protocol:
- default: TCP
+ restartPolicy:
type: string
required:
- - containerPort
+ - resourceName
+ - restartPolicy
type: object
type: array
- x-kubernetes-list-map-keys:
- - containerPort
- - protocol
- x-kubernetes-list-type: map
- readinessProbe:
- properties:
- exec:
- properties:
- command:
- items:
- type: string
- type: array
- type: object
- failureThreshold:
- format: int32
- type: integer
- grpc:
- properties:
- port:
- format: int32
- type: integer
- service:
- type: string
- required:
- - port
- type: object
- httpGet:
- properties:
- host:
- type: string
- httpHeaders:
- items:
- properties:
- name:
- type: string
- value:
- type: string
- required:
- - name
- - value
- type: object
- type: array
- path:
- type: string
- port:
- anyOf:
- - type: integer
- - type: string
- x-kubernetes-int-or-string: true
- scheme:
- type: string
- required:
- - port
- type: object
- initialDelaySeconds:
- format: int32
- type: integer
- periodSeconds:
- format: int32
- type: integer
- successThreshold:
- format: int32
- type: integer
- tcpSocket:
- properties:
- host:
- type: string
- port:
- anyOf:
- - type: integer
- - type: string
- x-kubernetes-int-or-string: true
- required:
- - port
- type: object
- terminationGracePeriodSeconds:
- format: int64
- type: integer
- timeoutSeconds:
- format: int32
- type: integer
- type: object
+ x-kubernetes-list-type: atomic
resources:
properties:
claims:
@@ -49276,20 +53825,33 @@ spec:
x-kubernetes-int-or-string: true
type: object
type: object
+ restartPolicy:
+ type: string
securityContext:
properties:
allowPrivilegeEscalation:
type: boolean
+ appArmorProfile:
+ properties:
+ localhostProfile:
+ type: string
+ type:
+ type: string
+ required:
+ - type
+ type: object
capabilities:
properties:
add:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
drop:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
privileged:
type: boolean
@@ -49345,6 +53907,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -49375,6 +53938,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -49437,6 +54001,9 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - devicePath
+ x-kubernetes-list-type: map
volumeMounts:
items:
properties:
@@ -49448,6 +54015,8 @@ spec:
type: string
readOnly:
type: boolean
+ recursiveReadOnly:
+ type: string
subPath:
type: string
subPathExpr:
@@ -49457,6 +54026,9 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - mountPath
+ x-kubernetes-list-type: map
workingDir:
type: string
required:
@@ -49481,6 +54053,15 @@ spec:
namespace:
type: string
type: object
+ mutexes:
+ items:
+ properties:
+ name:
+ type: string
+ namespace:
+ type: string
+ type: object
+ type: array
semaphore:
properties:
configMapKeyRef:
@@ -49488,6 +54069,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -49498,6 +54080,26 @@ spec:
namespace:
type: string
type: object
+ semaphores:
+ items:
+ properties:
+ configMapKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ namespace:
+ type: string
+ type: object
+ type: array
type: object
timeout:
type: string
@@ -49570,6 +54172,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
readOnly:
@@ -49579,6 +54182,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
type: object
x-kubernetes-map-type: atomic
@@ -49596,6 +54200,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
type: object
x-kubernetes-map-type: atomic
@@ -49624,7 +54229,9 @@ spec:
- path
type: object
type: array
+ x-kubernetes-list-type: atomic
name:
+ default: ""
type: string
optional:
type: boolean
@@ -49639,6 +54246,7 @@ spec:
nodePublishSecretRef:
properties:
name:
+ default: ""
type: string
type: object
x-kubernetes-map-type: atomic
@@ -49694,6 +54302,7 @@ spec:
- path
type: object
type: array
+ x-kubernetes-list-type: atomic
type: object
emptyDir:
properties:
@@ -49718,6 +54327,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
dataSource:
properties:
apiGroup:
@@ -49747,18 +54357,6 @@ spec:
type: object
resources:
properties:
- claims:
- items:
- properties:
- name:
- type: string
- required:
- - name
- type: object
- type: array
- x-kubernetes-list-map-keys:
- - name
- x-kubernetes-list-type: map
limits:
additionalProperties:
anyOf:
@@ -49789,11 +54387,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
@@ -49802,6 +54402,8 @@ spec:
x-kubernetes-map-type: atomic
storageClassName:
type: string
+ volumeAttributesClassName:
+ type: string
volumeMode:
type: string
volumeName:
@@ -49824,10 +54426,12 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
wwids:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
flexVolume:
properties:
@@ -49844,6 +54448,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
type: object
x-kubernetes-map-type: atomic
@@ -49924,11 +54529,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
readOnly:
type: boolean
secretRef:
properties:
name:
+ default: ""
type: string
type: object
x-kubernetes-map-type: atomic
@@ -49990,6 +54597,45 @@ spec:
sources:
items:
properties:
+ clusterTrustBundle:
+ properties:
+ labelSelector:
+ properties:
+ matchExpressions:
+ items:
+ properties:
+ key:
+ type: string
+ operator:
+ type: string
+ values:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
+ required:
+ - key
+ - operator
+ type: object
+ type: array
+ x-kubernetes-list-type: atomic
+ matchLabels:
+ additionalProperties:
+ type: string
+ type: object
+ type: object
+ x-kubernetes-map-type: atomic
+ name:
+ type: string
+ optional:
+ type: boolean
+ path:
+ type: string
+ signerName:
+ type: string
+ required:
+ - path
+ type: object
configMap:
properties:
items:
@@ -50007,7 +54653,9 @@ spec:
- path
type: object
type: array
+ x-kubernetes-list-type: atomic
name:
+ default: ""
type: string
optional:
type: boolean
@@ -50053,6 +54701,7 @@ spec:
- path
type: object
type: array
+ x-kubernetes-list-type: atomic
type: object
secret:
properties:
@@ -50071,7 +54720,9 @@ spec:
- path
type: object
type: array
+ x-kubernetes-list-type: atomic
name:
+ default: ""
type: string
optional:
type: boolean
@@ -50091,6 +54742,7 @@ spec:
type: object
type: object
type: array
+ x-kubernetes-list-type: atomic
type: object
quobyte:
properties:
@@ -50122,6 +54774,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
pool:
type: string
readOnly:
@@ -50129,6 +54782,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
type: object
x-kubernetes-map-type: atomic
@@ -50151,6 +54805,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
type: object
x-kubernetes-map-type: atomic
@@ -50189,6 +54844,7 @@ spec:
- path
type: object
type: array
+ x-kubernetes-list-type: atomic
optional:
type: boolean
secretName:
@@ -50203,6 +54859,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
type: object
x-kubernetes-map-type: atomic
@@ -50278,6 +54935,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
dataSource:
properties:
apiGroup:
@@ -50307,18 +54965,6 @@ spec:
type: object
resources:
properties:
- claims:
- items:
- properties:
- name:
- type: string
- required:
- - name
- type: object
- type: array
- x-kubernetes-list-map-keys:
- - name
- x-kubernetes-list-type: map
limits:
additionalProperties:
anyOf:
@@ -50349,11 +54995,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
@@ -50362,6 +55010,8 @@ spec:
x-kubernetes-map-type: atomic
storageClassName:
type: string
+ volumeAttributesClassName:
+ type: string
volumeMode:
type: string
volumeName:
@@ -50373,6 +55023,12 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
+ allocatedResourceStatuses:
+ additionalProperties:
+ type: string
+ type: object
+ x-kubernetes-map-type: granular
allocatedResources:
additionalProperties:
anyOf:
@@ -50411,9 +55067,21 @@ spec:
- type
type: object
type: array
- phase:
+ x-kubernetes-list-map-keys:
+ - type
+ x-kubernetes-list-type: map
+ currentVolumeAttributesClassName:
type: string
- resizeStatus:
+ modifyVolumeStatus:
+ properties:
+ status:
+ type: string
+ targetVolumeAttributesClassName:
+ type: string
+ required:
+ - status
+ type: object
+ phase:
type: string
type: object
type: object
@@ -50471,6 +55139,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
readOnly:
@@ -50480,6 +55149,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
type: object
x-kubernetes-map-type: atomic
@@ -50497,6 +55167,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
type: object
x-kubernetes-map-type: atomic
@@ -50525,7 +55196,9 @@ spec:
- path
type: object
type: array
+ x-kubernetes-list-type: atomic
name:
+ default: ""
type: string
optional:
type: boolean
@@ -50540,6 +55213,7 @@ spec:
nodePublishSecretRef:
properties:
name:
+ default: ""
type: string
type: object
x-kubernetes-map-type: atomic
@@ -50595,6 +55269,7 @@ spec:
- path
type: object
type: array
+ x-kubernetes-list-type: atomic
type: object
emptyDir:
properties:
@@ -50619,6 +55294,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
dataSource:
properties:
apiGroup:
@@ -50648,18 +55324,6 @@ spec:
type: object
resources:
properties:
- claims:
- items:
- properties:
- name:
- type: string
- required:
- - name
- type: object
- type: array
- x-kubernetes-list-map-keys:
- - name
- x-kubernetes-list-type: map
limits:
additionalProperties:
anyOf:
@@ -50690,11 +55354,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
@@ -50703,6 +55369,8 @@ spec:
x-kubernetes-map-type: atomic
storageClassName:
type: string
+ volumeAttributesClassName:
+ type: string
volumeMode:
type: string
volumeName:
@@ -50725,10 +55393,12 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
wwids:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
flexVolume:
properties:
@@ -50745,6 +55415,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
type: object
x-kubernetes-map-type: atomic
@@ -50825,11 +55496,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
readOnly:
type: boolean
secretRef:
properties:
name:
+ default: ""
type: string
type: object
x-kubernetes-map-type: atomic
@@ -50891,6 +55564,45 @@ spec:
sources:
items:
properties:
+ clusterTrustBundle:
+ properties:
+ labelSelector:
+ properties:
+ matchExpressions:
+ items:
+ properties:
+ key:
+ type: string
+ operator:
+ type: string
+ values:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
+ required:
+ - key
+ - operator
+ type: object
+ type: array
+ x-kubernetes-list-type: atomic
+ matchLabels:
+ additionalProperties:
+ type: string
+ type: object
+ type: object
+ x-kubernetes-map-type: atomic
+ name:
+ type: string
+ optional:
+ type: boolean
+ path:
+ type: string
+ signerName:
+ type: string
+ required:
+ - path
+ type: object
configMap:
properties:
items:
@@ -50908,7 +55620,9 @@ spec:
- path
type: object
type: array
+ x-kubernetes-list-type: atomic
name:
+ default: ""
type: string
optional:
type: boolean
@@ -50954,6 +55668,7 @@ spec:
- path
type: object
type: array
+ x-kubernetes-list-type: atomic
type: object
secret:
properties:
@@ -50972,7 +55687,9 @@ spec:
- path
type: object
type: array
+ x-kubernetes-list-type: atomic
name:
+ default: ""
type: string
optional:
type: boolean
@@ -50992,6 +55709,7 @@ spec:
type: object
type: object
type: array
+ x-kubernetes-list-type: atomic
type: object
quobyte:
properties:
@@ -51023,6 +55741,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
pool:
type: string
readOnly:
@@ -51030,6 +55749,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
type: object
x-kubernetes-map-type: atomic
@@ -51052,6 +55772,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
type: object
x-kubernetes-map-type: atomic
@@ -51090,6 +55811,7 @@ spec:
- path
type: object
type: array
+ x-kubernetes-list-type: atomic
optional:
type: boolean
secretName:
@@ -51104,6 +55826,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
type: object
x-kubernetes-map-type: atomic
diff --git a/manifests/base/crds/full/argoproj.io_workflowtaskresults.yaml b/manifests/base/crds/full/argoproj.io_workflowtaskresults.yaml
index 82a40f00fa5a..ebcdcb835fea 100644
--- a/manifests/base/crds/full/argoproj.io_workflowtaskresults.yaml
+++ b/manifests/base/crds/full/argoproj.io_workflowtaskresults.yaml
@@ -74,6 +74,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -88,6 +89,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -105,6 +107,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -142,6 +145,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -167,11 +171,14 @@ spec:
type: array
insecureIgnoreHostKey:
type: boolean
+ insecureSkipTLS:
+ type: boolean
passwordSecret:
properties:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -190,6 +197,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -202,6 +210,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -231,6 +240,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -243,6 +253,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -255,6 +266,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -284,6 +296,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -296,6 +309,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -311,6 +325,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -323,6 +338,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -338,6 +354,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -350,6 +367,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -377,6 +395,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -417,6 +436,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -446,6 +466,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -478,6 +499,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -492,6 +514,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -517,6 +540,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -540,6 +564,20 @@ spec:
key:
type: string
name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ sessionTokenSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
type: string
optional:
type: boolean
@@ -582,6 +620,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
diff --git a/manifests/base/crds/full/argoproj.io_workflowtasksets.yaml b/manifests/base/crds/full/argoproj.io_workflowtasksets.yaml
index 07a07754714a..1811733493d8 100644
--- a/manifests/base/crds/full/argoproj.io_workflowtasksets.yaml
+++ b/manifests/base/crds/full/argoproj.io_workflowtasksets.yaml
@@ -54,11 +54,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchFields:
items:
properties:
@@ -70,11 +72,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
type: object
x-kubernetes-map-type: atomic
weight:
@@ -85,6 +89,7 @@ spec:
- weight
type: object
type: array
+ x-kubernetes-list-type: atomic
requiredDuringSchedulingIgnoredDuringExecution:
properties:
nodeSelectorTerms:
@@ -101,11 +106,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchFields:
items:
properties:
@@ -117,14 +124,17 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
type: object
x-kubernetes-map-type: atomic
type: array
+ x-kubernetes-list-type: atomic
required:
- nodeSelectorTerms
type: object
@@ -150,17 +160,29 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
type: object
type: object
x-kubernetes-map-type: atomic
+ matchLabelKeys:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
+ mismatchLabelKeys:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
namespaceSelector:
properties:
matchExpressions:
@@ -174,11 +196,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
@@ -189,6 +213,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
topologyKey:
type: string
required:
@@ -202,6 +227,7 @@ spec:
- weight
type: object
type: array
+ x-kubernetes-list-type: atomic
requiredDuringSchedulingIgnoredDuringExecution:
items:
properties:
@@ -218,17 +244,29 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
type: object
type: object
x-kubernetes-map-type: atomic
+ matchLabelKeys:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
+ mismatchLabelKeys:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
namespaceSelector:
properties:
matchExpressions:
@@ -242,11 +280,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
@@ -257,12 +297,14 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
topologyKey:
type: string
required:
- topologyKey
type: object
type: array
+ x-kubernetes-list-type: atomic
type: object
podAntiAffinity:
properties:
@@ -284,17 +326,29 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
type: object
type: object
x-kubernetes-map-type: atomic
+ matchLabelKeys:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
+ mismatchLabelKeys:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
namespaceSelector:
properties:
matchExpressions:
@@ -308,11 +362,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
@@ -323,6 +379,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
topologyKey:
type: string
required:
@@ -336,6 +393,7 @@ spec:
- weight
type: object
type: array
+ x-kubernetes-list-type: atomic
requiredDuringSchedulingIgnoredDuringExecution:
items:
properties:
@@ -352,17 +410,29 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
type: object
type: object
x-kubernetes-map-type: atomic
+ matchLabelKeys:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
+ mismatchLabelKeys:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
namespaceSelector:
properties:
matchExpressions:
@@ -376,11 +446,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
@@ -391,12 +463,14 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
topologyKey:
type: string
required:
- topologyKey
type: object
type: array
+ x-kubernetes-list-type: atomic
type: object
type: object
archiveLocation:
@@ -410,6 +484,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -424,6 +499,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -441,6 +517,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -472,6 +549,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -497,11 +575,14 @@ spec:
type: array
insecureIgnoreHostKey:
type: boolean
+ insecureSkipTLS:
+ type: boolean
passwordSecret:
properties:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -520,6 +601,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -532,6 +614,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -559,6 +642,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -571,6 +655,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -583,6 +668,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -612,6 +698,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -624,6 +711,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -639,6 +727,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -651,6 +740,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -666,6 +756,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -678,6 +769,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -705,6 +797,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -738,6 +831,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -767,6 +861,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -795,6 +890,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -809,6 +905,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -834,6 +931,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -857,6 +955,20 @@ spec:
key:
type: string
name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ sessionTokenSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
type: string
optional:
type: boolean
@@ -876,10 +988,12 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
command:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
env:
items:
properties:
@@ -894,6 +1008,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -932,6 +1047,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -944,12 +1060,16 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - name
+ x-kubernetes-list-type: map
envFrom:
items:
properties:
configMapRef:
properties:
name:
+ default: ""
type: string
optional:
type: boolean
@@ -960,6 +1080,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
optional:
type: boolean
@@ -967,6 +1088,7 @@ spec:
x-kubernetes-map-type: atomic
type: object
type: array
+ x-kubernetes-list-type: atomic
image:
type: string
imagePullPolicy:
@@ -981,6 +1103,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
httpGet:
properties:
@@ -998,6 +1121,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -1010,6 +1134,14 @@ spec:
required:
- port
type: object
+ sleep:
+ properties:
+ seconds:
+ format: int64
+ type: integer
+ required:
+ - seconds
+ type: object
tcpSocket:
properties:
host:
@@ -1031,6 +1163,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
httpGet:
properties:
@@ -1048,6 +1181,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -1060,6 +1194,14 @@ spec:
required:
- port
type: object
+ sleep:
+ properties:
+ seconds:
+ format: int64
+ type: integer
+ required:
+ - seconds
+ type: object
tcpSocket:
properties:
host:
@@ -1082,6 +1224,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -1112,6 +1255,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -1186,6 +1330,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -1216,6 +1361,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -1256,6 +1402,19 @@ spec:
format: int32
type: integer
type: object
+ resizePolicy:
+ items:
+ properties:
+ resourceName:
+ type: string
+ restartPolicy:
+ type: string
+ required:
+ - resourceName
+ - restartPolicy
+ type: object
+ type: array
+ x-kubernetes-list-type: atomic
resources:
properties:
claims:
@@ -1287,20 +1446,33 @@ spec:
x-kubernetes-int-or-string: true
type: object
type: object
+ restartPolicy:
+ type: string
securityContext:
properties:
allowPrivilegeEscalation:
type: boolean
+ appArmorProfile:
+ properties:
+ localhostProfile:
+ type: string
+ type:
+ type: string
+ required:
+ - type
+ type: object
capabilities:
properties:
add:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
drop:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
privileged:
type: boolean
@@ -1356,6 +1528,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -1386,6 +1559,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -1448,6 +1622,9 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - devicePath
+ x-kubernetes-list-type: map
volumeMounts:
items:
properties:
@@ -1459,6 +1636,8 @@ spec:
type: string
readOnly:
type: boolean
+ recursiveReadOnly:
+ type: string
subPath:
type: string
subPathExpr:
@@ -1468,6 +1647,9 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - mountPath
+ x-kubernetes-list-type: map
workingDir:
type: string
required:
@@ -1482,10 +1664,12 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
command:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
dependencies:
items:
type: string
@@ -1504,6 +1688,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -1542,6 +1727,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -1554,12 +1740,16 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - name
+ x-kubernetes-list-type: map
envFrom:
items:
properties:
configMapRef:
properties:
name:
+ default: ""
type: string
optional:
type: boolean
@@ -1570,6 +1760,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
optional:
type: boolean
@@ -1577,6 +1768,7 @@ spec:
x-kubernetes-map-type: atomic
type: object
type: array
+ x-kubernetes-list-type: atomic
image:
type: string
imagePullPolicy:
@@ -1591,6 +1783,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
httpGet:
properties:
@@ -1608,6 +1801,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -1620,6 +1814,14 @@ spec:
required:
- port
type: object
+ sleep:
+ properties:
+ seconds:
+ format: int64
+ type: integer
+ required:
+ - seconds
+ type: object
tcpSocket:
properties:
host:
@@ -1641,6 +1843,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
httpGet:
properties:
@@ -1658,6 +1861,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -1670,6 +1874,14 @@ spec:
required:
- port
type: object
+ sleep:
+ properties:
+ seconds:
+ format: int64
+ type: integer
+ required:
+ - seconds
+ type: object
tcpSocket:
properties:
host:
@@ -1692,6 +1904,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -1722,6 +1935,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -1796,6 +2010,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -1826,6 +2041,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -1866,6 +2082,19 @@ spec:
format: int32
type: integer
type: object
+ resizePolicy:
+ items:
+ properties:
+ resourceName:
+ type: string
+ restartPolicy:
+ type: string
+ required:
+ - resourceName
+ - restartPolicy
+ type: object
+ type: array
+ x-kubernetes-list-type: atomic
resources:
properties:
claims:
@@ -1897,20 +2126,33 @@ spec:
x-kubernetes-int-or-string: true
type: object
type: object
+ restartPolicy:
+ type: string
securityContext:
properties:
allowPrivilegeEscalation:
type: boolean
+ appArmorProfile:
+ properties:
+ localhostProfile:
+ type: string
+ type:
+ type: string
+ required:
+ - type
+ type: object
capabilities:
properties:
add:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
drop:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
privileged:
type: boolean
@@ -1966,6 +2208,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -1996,6 +2239,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -2058,6 +2302,9 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - devicePath
+ x-kubernetes-list-type: map
volumeMounts:
items:
properties:
@@ -2069,6 +2316,8 @@ spec:
type: string
readOnly:
type: boolean
+ recursiveReadOnly:
+ type: string
subPath:
type: string
subPathExpr:
@@ -2078,6 +2327,9 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - mountPath
+ x-kubernetes-list-type: map
workingDir:
type: string
required:
@@ -2107,6 +2359,8 @@ spec:
type: string
readOnly:
type: boolean
+ recursiveReadOnly:
+ type: string
subPath:
type: string
subPathExpr:
@@ -2180,6 +2434,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -2194,6 +2449,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -2211,6 +2467,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -2248,6 +2505,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -2273,11 +2531,14 @@ spec:
type: array
insecureIgnoreHostKey:
type: boolean
+ insecureSkipTLS:
+ type: boolean
passwordSecret:
properties:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -2296,6 +2557,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -2308,6 +2570,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -2337,6 +2600,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -2349,6 +2613,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -2361,6 +2626,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -2390,6 +2656,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -2402,6 +2669,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -2417,6 +2685,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -2429,6 +2698,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -2444,6 +2714,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -2456,6 +2727,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -2483,6 +2755,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -2523,6 +2796,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -2552,6 +2826,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -2584,6 +2859,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -2598,6 +2874,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -2623,6 +2900,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -2646,6 +2924,20 @@ spec:
key:
type: string
name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ sessionTokenSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
type: string
optional:
type: boolean
@@ -2686,6 +2978,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -2781,6 +3074,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -2795,6 +3089,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -2812,6 +3107,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -2849,6 +3145,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -2874,11 +3171,14 @@ spec:
type: array
insecureIgnoreHostKey:
type: boolean
+ insecureSkipTLS:
+ type: boolean
passwordSecret:
properties:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -2897,6 +3197,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -2909,6 +3210,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -2938,6 +3240,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -2950,6 +3253,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -2962,6 +3266,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -2991,6 +3296,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -3003,6 +3309,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -3018,6 +3325,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -3030,6 +3338,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -3045,6 +3354,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -3057,6 +3367,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -3084,6 +3395,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -3124,6 +3436,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -3153,6 +3466,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -3185,6 +3499,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -3199,6 +3514,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -3224,6 +3540,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -3247,6 +3564,20 @@ spec:
key:
type: string
name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ sessionTokenSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
type: string
optional:
type: boolean
@@ -3287,6 +3618,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -3433,6 +3765,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -3447,6 +3780,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -3464,6 +3798,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -3501,6 +3836,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -3526,11 +3862,14 @@ spec:
type: array
insecureIgnoreHostKey:
type: boolean
+ insecureSkipTLS:
+ type: boolean
passwordSecret:
properties:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -3549,6 +3888,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -3561,6 +3901,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -3590,6 +3931,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -3602,6 +3944,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -3614,6 +3957,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -3643,6 +3987,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -3655,6 +4000,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -3670,6 +4016,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -3682,6 +4029,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -3697,6 +4045,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -3709,6 +4058,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -3736,6 +4086,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -3776,6 +4127,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -3805,6 +4157,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -3837,6 +4190,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -3851,6 +4205,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -3876,6 +4231,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -3899,6 +4255,20 @@ spec:
key:
type: string
name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ sessionTokenSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
type: string
optional:
type: boolean
@@ -3942,8 +4312,11 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
ip:
type: string
+ required:
+ - ip
type: object
type: array
http:
@@ -3970,6 +4343,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4003,10 +4377,12 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
command:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
env:
items:
properties:
@@ -4021,6 +4397,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4059,6 +4436,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4071,12 +4449,16 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - name
+ x-kubernetes-list-type: map
envFrom:
items:
properties:
configMapRef:
properties:
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4087,6 +4469,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4094,6 +4477,7 @@ spec:
x-kubernetes-map-type: atomic
type: object
type: array
+ x-kubernetes-list-type: atomic
image:
type: string
imagePullPolicy:
@@ -4108,6 +4492,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
httpGet:
properties:
@@ -4125,6 +4510,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -4137,6 +4523,14 @@ spec:
required:
- port
type: object
+ sleep:
+ properties:
+ seconds:
+ format: int64
+ type: integer
+ required:
+ - seconds
+ type: object
tcpSocket:
properties:
host:
@@ -4158,6 +4552,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
httpGet:
properties:
@@ -4175,6 +4570,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -4187,6 +4583,14 @@ spec:
required:
- port
type: object
+ sleep:
+ properties:
+ seconds:
+ format: int64
+ type: integer
+ required:
+ - seconds
+ type: object
tcpSocket:
properties:
host:
@@ -4209,6 +4613,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -4239,6 +4644,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -4315,6 +4721,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -4345,6 +4752,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -4385,6 +4793,19 @@ spec:
format: int32
type: integer
type: object
+ resizePolicy:
+ items:
+ properties:
+ resourceName:
+ type: string
+ restartPolicy:
+ type: string
+ required:
+ - resourceName
+ - restartPolicy
+ type: object
+ type: array
+ x-kubernetes-list-type: atomic
resources:
properties:
claims:
@@ -4416,20 +4837,33 @@ spec:
x-kubernetes-int-or-string: true
type: object
type: object
+ restartPolicy:
+ type: string
securityContext:
properties:
allowPrivilegeEscalation:
type: boolean
+ appArmorProfile:
+ properties:
+ localhostProfile:
+ type: string
+ type:
+ type: string
+ required:
+ - type
+ type: object
capabilities:
properties:
add:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
drop:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
privileged:
type: boolean
@@ -4485,6 +4919,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -4515,6 +4950,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -4577,6 +5013,9 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - devicePath
+ x-kubernetes-list-type: map
volumeMounts:
items:
properties:
@@ -4588,6 +5027,8 @@ spec:
type: string
readOnly:
type: boolean
+ recursiveReadOnly:
+ type: string
subPath:
type: string
subPathExpr:
@@ -4597,6 +5038,9 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - mountPath
+ x-kubernetes-list-type: map
workingDir:
type: string
required:
@@ -4653,6 +5097,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4667,6 +5112,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4684,6 +5130,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4721,6 +5168,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4746,11 +5194,14 @@ spec:
type: array
insecureIgnoreHostKey:
type: boolean
+ insecureSkipTLS:
+ type: boolean
passwordSecret:
properties:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4769,6 +5220,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4781,6 +5233,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4810,6 +5263,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4822,6 +5276,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4834,6 +5289,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4863,6 +5319,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4875,6 +5332,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4890,6 +5348,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4902,6 +5361,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4917,6 +5377,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4929,6 +5390,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4956,6 +5418,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4996,6 +5459,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -5025,6 +5489,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -5057,6 +5522,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -5071,6 +5537,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -5096,6 +5563,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -5119,6 +5587,20 @@ spec:
key:
type: string
name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ sessionTokenSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
type: string
optional:
type: boolean
@@ -5159,6 +5641,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -5197,6 +5680,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -5345,6 +5829,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -5359,6 +5844,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -5376,6 +5862,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -5413,6 +5900,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -5438,11 +5926,14 @@ spec:
type: array
insecureIgnoreHostKey:
type: boolean
+ insecureSkipTLS:
+ type: boolean
passwordSecret:
properties:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -5461,6 +5952,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -5473,6 +5965,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -5502,6 +5995,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -5514,6 +6008,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -5526,6 +6021,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -5555,6 +6051,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -5567,6 +6064,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -5582,6 +6080,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -5594,6 +6093,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -5609,6 +6109,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -5621,6 +6122,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -5648,6 +6150,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -5688,6 +6191,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -5717,6 +6221,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -5749,6 +6254,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -5763,6 +6269,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -5788,6 +6295,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -5811,6 +6319,20 @@ spec:
key:
type: string
name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ sessionTokenSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
type: string
optional:
type: boolean
@@ -5853,6 +6375,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -5957,6 +6480,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -5971,6 +6495,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -5988,6 +6513,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -6025,6 +6551,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -6050,11 +6577,14 @@ spec:
type: array
insecureIgnoreHostKey:
type: boolean
+ insecureSkipTLS:
+ type: boolean
passwordSecret:
properties:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -6073,6 +6603,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -6085,6 +6616,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -6114,6 +6646,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -6126,6 +6659,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -6138,6 +6672,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -6167,6 +6702,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -6179,6 +6715,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -6194,6 +6731,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -6206,6 +6744,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -6221,6 +6760,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -6233,6 +6773,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -6260,6 +6801,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -6300,6 +6842,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -6329,6 +6872,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -6361,6 +6905,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -6375,6 +6920,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -6400,6 +6946,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -6423,6 +6970,20 @@ spec:
key:
type: string
name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ sessionTokenSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
type: string
optional:
type: boolean
@@ -6487,10 +7048,12 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
command:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
env:
items:
properties:
@@ -6505,6 +7068,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -6543,6 +7107,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -6555,12 +7120,16 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - name
+ x-kubernetes-list-type: map
envFrom:
items:
properties:
configMapRef:
properties:
name:
+ default: ""
type: string
optional:
type: boolean
@@ -6571,6 +7140,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
optional:
type: boolean
@@ -6578,6 +7148,7 @@ spec:
x-kubernetes-map-type: atomic
type: object
type: array
+ x-kubernetes-list-type: atomic
image:
type: string
imagePullPolicy:
@@ -6592,6 +7163,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
httpGet:
properties:
@@ -6609,6 +7181,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -6621,6 +7194,14 @@ spec:
required:
- port
type: object
+ sleep:
+ properties:
+ seconds:
+ format: int64
+ type: integer
+ required:
+ - seconds
+ type: object
tcpSocket:
properties:
host:
@@ -6642,6 +7223,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
httpGet:
properties:
@@ -6659,6 +7241,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -6671,6 +7254,14 @@ spec:
required:
- port
type: object
+ sleep:
+ properties:
+ seconds:
+ format: int64
+ type: integer
+ required:
+ - seconds
+ type: object
tcpSocket:
properties:
host:
@@ -6693,6 +7284,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -6723,6 +7315,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -6797,6 +7390,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -6827,6 +7421,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -6867,6 +7462,19 @@ spec:
format: int32
type: integer
type: object
+ resizePolicy:
+ items:
+ properties:
+ resourceName:
+ type: string
+ restartPolicy:
+ type: string
+ required:
+ - resourceName
+ - restartPolicy
+ type: object
+ type: array
+ x-kubernetes-list-type: atomic
resources:
properties:
claims:
@@ -6898,20 +7506,33 @@ spec:
x-kubernetes-int-or-string: true
type: object
type: object
+ restartPolicy:
+ type: string
securityContext:
properties:
allowPrivilegeEscalation:
type: boolean
+ appArmorProfile:
+ properties:
+ localhostProfile:
+ type: string
+ type:
+ type: string
+ required:
+ - type
+ type: object
capabilities:
properties:
add:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
drop:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
privileged:
type: boolean
@@ -6969,6 +7590,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -6999,6 +7621,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -7061,6 +7684,9 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - devicePath
+ x-kubernetes-list-type: map
volumeMounts:
items:
properties:
@@ -7072,6 +7698,8 @@ spec:
type: string
readOnly:
type: boolean
+ recursiveReadOnly:
+ type: string
subPath:
type: string
subPathExpr:
@@ -7081,6 +7709,9 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - mountPath
+ x-kubernetes-list-type: map
workingDir:
type: string
required:
@@ -7089,6 +7720,15 @@ spec:
type: object
securityContext:
properties:
+ appArmorProfile:
+ properties:
+ localhostProfile:
+ type: string
+ type:
+ type: string
+ required:
+ - type
+ type: object
fsGroup:
format: int64
type: integer
@@ -7127,6 +7767,7 @@ spec:
format: int64
type: integer
type: array
+ x-kubernetes-list-type: atomic
sysctls:
items:
properties:
@@ -7139,6 +7780,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
windowsOptions:
properties:
gmsaCredentialSpec:
@@ -7160,10 +7802,12 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
command:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
env:
items:
properties:
@@ -7178,6 +7822,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -7216,6 +7861,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -7228,12 +7874,16 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - name
+ x-kubernetes-list-type: map
envFrom:
items:
properties:
configMapRef:
properties:
name:
+ default: ""
type: string
optional:
type: boolean
@@ -7244,6 +7894,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
optional:
type: boolean
@@ -7251,6 +7902,7 @@ spec:
x-kubernetes-map-type: atomic
type: object
type: array
+ x-kubernetes-list-type: atomic
image:
type: string
imagePullPolicy:
@@ -7265,6 +7917,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
httpGet:
properties:
@@ -7282,6 +7935,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -7294,6 +7948,14 @@ spec:
required:
- port
type: object
+ sleep:
+ properties:
+ seconds:
+ format: int64
+ type: integer
+ required:
+ - seconds
+ type: object
tcpSocket:
properties:
host:
@@ -7315,6 +7977,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
httpGet:
properties:
@@ -7332,6 +7995,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -7344,6 +8008,14 @@ spec:
required:
- port
type: object
+ sleep:
+ properties:
+ seconds:
+ format: int64
+ type: integer
+ required:
+ - seconds
+ type: object
tcpSocket:
properties:
host:
@@ -7366,6 +8038,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -7396,6 +8069,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -7472,6 +8146,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -7502,6 +8177,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -7542,6 +8218,19 @@ spec:
format: int32
type: integer
type: object
+ resizePolicy:
+ items:
+ properties:
+ resourceName:
+ type: string
+ restartPolicy:
+ type: string
+ required:
+ - resourceName
+ - restartPolicy
+ type: object
+ type: array
+ x-kubernetes-list-type: atomic
resources:
properties:
claims:
@@ -7573,20 +8262,33 @@ spec:
x-kubernetes-int-or-string: true
type: object
type: object
+ restartPolicy:
+ type: string
securityContext:
properties:
allowPrivilegeEscalation:
type: boolean
+ appArmorProfile:
+ properties:
+ localhostProfile:
+ type: string
+ type:
+ type: string
+ required:
+ - type
+ type: object
capabilities:
properties:
add:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
drop:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
privileged:
type: boolean
@@ -7642,6 +8344,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -7672,6 +8375,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -7734,6 +8438,9 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - devicePath
+ x-kubernetes-list-type: map
volumeMounts:
items:
properties:
@@ -7745,6 +8452,8 @@ spec:
type: string
readOnly:
type: boolean
+ recursiveReadOnly:
+ type: string
subPath:
type: string
subPathExpr:
@@ -7754,6 +8463,9 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - mountPath
+ x-kubernetes-list-type: map
workingDir:
type: string
required:
@@ -7778,6 +8490,15 @@ spec:
namespace:
type: string
type: object
+ mutexes:
+ items:
+ properties:
+ name:
+ type: string
+ namespace:
+ type: string
+ type: object
+ type: array
semaphore:
properties:
configMapKeyRef:
@@ -7785,6 +8506,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -7795,6 +8517,26 @@ spec:
namespace:
type: string
type: object
+ semaphores:
+ items:
+ properties:
+ configMapKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ namespace:
+ type: string
+ type: object
+ type: array
type: object
timeout:
type: string
@@ -7867,6 +8609,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
readOnly:
@@ -7876,6 +8619,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
type: object
x-kubernetes-map-type: atomic
@@ -7893,6 +8637,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
type: object
x-kubernetes-map-type: atomic
@@ -7921,7 +8666,9 @@ spec:
- path
type: object
type: array
+ x-kubernetes-list-type: atomic
name:
+ default: ""
type: string
optional:
type: boolean
@@ -7936,6 +8683,7 @@ spec:
nodePublishSecretRef:
properties:
name:
+ default: ""
type: string
type: object
x-kubernetes-map-type: atomic
@@ -7991,6 +8739,7 @@ spec:
- path
type: object
type: array
+ x-kubernetes-list-type: atomic
type: object
emptyDir:
properties:
@@ -8015,6 +8764,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
dataSource:
properties:
apiGroup:
@@ -8044,18 +8794,6 @@ spec:
type: object
resources:
properties:
- claims:
- items:
- properties:
- name:
- type: string
- required:
- - name
- type: object
- type: array
- x-kubernetes-list-map-keys:
- - name
- x-kubernetes-list-type: map
limits:
additionalProperties:
anyOf:
@@ -8086,11 +8824,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
@@ -8099,6 +8839,8 @@ spec:
x-kubernetes-map-type: atomic
storageClassName:
type: string
+ volumeAttributesClassName:
+ type: string
volumeMode:
type: string
volumeName:
@@ -8121,10 +8863,12 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
wwids:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
flexVolume:
properties:
@@ -8141,6 +8885,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
type: object
x-kubernetes-map-type: atomic
@@ -8221,11 +8966,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
readOnly:
type: boolean
secretRef:
properties:
name:
+ default: ""
type: string
type: object
x-kubernetes-map-type: atomic
@@ -8287,6 +9034,45 @@ spec:
sources:
items:
properties:
+ clusterTrustBundle:
+ properties:
+ labelSelector:
+ properties:
+ matchExpressions:
+ items:
+ properties:
+ key:
+ type: string
+ operator:
+ type: string
+ values:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
+ required:
+ - key
+ - operator
+ type: object
+ type: array
+ x-kubernetes-list-type: atomic
+ matchLabels:
+ additionalProperties:
+ type: string
+ type: object
+ type: object
+ x-kubernetes-map-type: atomic
+ name:
+ type: string
+ optional:
+ type: boolean
+ path:
+ type: string
+ signerName:
+ type: string
+ required:
+ - path
+ type: object
configMap:
properties:
items:
@@ -8304,7 +9090,9 @@ spec:
- path
type: object
type: array
+ x-kubernetes-list-type: atomic
name:
+ default: ""
type: string
optional:
type: boolean
@@ -8350,6 +9138,7 @@ spec:
- path
type: object
type: array
+ x-kubernetes-list-type: atomic
type: object
secret:
properties:
@@ -8368,7 +9157,9 @@ spec:
- path
type: object
type: array
+ x-kubernetes-list-type: atomic
name:
+ default: ""
type: string
optional:
type: boolean
@@ -8388,6 +9179,7 @@ spec:
type: object
type: object
type: array
+ x-kubernetes-list-type: atomic
type: object
quobyte:
properties:
@@ -8419,6 +9211,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
pool:
type: string
readOnly:
@@ -8426,6 +9219,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
type: object
x-kubernetes-map-type: atomic
@@ -8448,6 +9242,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
type: object
x-kubernetes-map-type: atomic
@@ -8486,6 +9281,7 @@ spec:
- path
type: object
type: array
+ x-kubernetes-list-type: atomic
optional:
type: boolean
secretName:
@@ -8500,6 +9296,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
type: object
x-kubernetes-map-type: atomic
@@ -8585,6 +9382,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -8599,6 +9397,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -8616,6 +9415,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -8653,6 +9453,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -8678,11 +9479,14 @@ spec:
type: array
insecureIgnoreHostKey:
type: boolean
+ insecureSkipTLS:
+ type: boolean
passwordSecret:
properties:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -8701,6 +9505,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -8713,6 +9518,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -8742,6 +9548,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -8754,6 +9561,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -8766,6 +9574,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -8795,6 +9604,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -8807,6 +9617,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -8822,6 +9633,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -8834,6 +9646,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -8849,6 +9662,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -8861,6 +9675,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -8888,6 +9703,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -8928,6 +9744,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -8957,6 +9774,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -8989,6 +9807,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -9003,6 +9822,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -9028,6 +9848,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -9051,6 +9872,20 @@ spec:
key:
type: string
name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ sessionTokenSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
type: string
optional:
type: boolean
@@ -9093,6 +9928,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
diff --git a/manifests/base/crds/full/argoproj.io_workflowtemplates.yaml b/manifests/base/crds/full/argoproj.io_workflowtemplates.yaml
index 55269546af57..330b98e7f927 100644
--- a/manifests/base/crds/full/argoproj.io_workflowtemplates.yaml
+++ b/manifests/base/crds/full/argoproj.io_workflowtemplates.yaml
@@ -49,11 +49,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchFields:
items:
properties:
@@ -65,11 +67,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
type: object
x-kubernetes-map-type: atomic
weight:
@@ -80,6 +84,7 @@ spec:
- weight
type: object
type: array
+ x-kubernetes-list-type: atomic
requiredDuringSchedulingIgnoredDuringExecution:
properties:
nodeSelectorTerms:
@@ -96,11 +101,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchFields:
items:
properties:
@@ -112,14 +119,17 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
type: object
x-kubernetes-map-type: atomic
type: array
+ x-kubernetes-list-type: atomic
required:
- nodeSelectorTerms
type: object
@@ -145,17 +155,29 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
type: object
type: object
x-kubernetes-map-type: atomic
+ matchLabelKeys:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
+ mismatchLabelKeys:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
namespaceSelector:
properties:
matchExpressions:
@@ -169,11 +191,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
@@ -184,6 +208,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
topologyKey:
type: string
required:
@@ -197,6 +222,7 @@ spec:
- weight
type: object
type: array
+ x-kubernetes-list-type: atomic
requiredDuringSchedulingIgnoredDuringExecution:
items:
properties:
@@ -213,17 +239,29 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
type: object
type: object
x-kubernetes-map-type: atomic
+ matchLabelKeys:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
+ mismatchLabelKeys:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
namespaceSelector:
properties:
matchExpressions:
@@ -237,11 +275,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
@@ -252,12 +292,14 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
topologyKey:
type: string
required:
- topologyKey
type: object
type: array
+ x-kubernetes-list-type: atomic
type: object
podAntiAffinity:
properties:
@@ -279,17 +321,29 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
type: object
type: object
x-kubernetes-map-type: atomic
+ matchLabelKeys:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
+ mismatchLabelKeys:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
namespaceSelector:
properties:
matchExpressions:
@@ -303,11 +357,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
@@ -318,6 +374,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
topologyKey:
type: string
required:
@@ -331,6 +388,7 @@ spec:
- weight
type: object
type: array
+ x-kubernetes-list-type: atomic
requiredDuringSchedulingIgnoredDuringExecution:
items:
properties:
@@ -347,17 +405,29 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
type: object
type: object
x-kubernetes-map-type: atomic
+ matchLabelKeys:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
+ mismatchLabelKeys:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
namespaceSelector:
properties:
matchExpressions:
@@ -371,11 +441,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
@@ -386,12 +458,14 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
topologyKey:
type: string
required:
- topologyKey
type: object
type: array
+ x-kubernetes-list-type: atomic
type: object
type: object
archiveLogs:
@@ -446,6 +520,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -460,6 +535,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -477,6 +553,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -514,6 +591,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -539,11 +617,14 @@ spec:
type: array
insecureIgnoreHostKey:
type: boolean
+ insecureSkipTLS:
+ type: boolean
passwordSecret:
properties:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -562,6 +643,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -574,6 +656,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -603,6 +686,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -615,6 +699,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -627,6 +712,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -656,6 +742,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -668,6 +755,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -683,6 +771,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -695,6 +784,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -710,6 +800,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -722,6 +813,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -749,6 +841,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -789,6 +882,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -818,6 +912,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -850,6 +945,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -864,6 +960,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -889,6 +986,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -912,6 +1010,20 @@ spec:
key:
type: string
name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ sessionTokenSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
type: string
optional:
type: boolean
@@ -952,6 +1064,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -1023,6 +1136,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
options:
items:
properties:
@@ -1032,10 +1146,12 @@ spec:
type: string
type: object
type: array
+ x-kubernetes-list-type: atomic
searches:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
dnsPolicy:
type: string
@@ -1099,6 +1215,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -1113,6 +1230,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -1130,6 +1248,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -1167,6 +1286,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -1192,11 +1312,14 @@ spec:
type: array
insecureIgnoreHostKey:
type: boolean
+ insecureSkipTLS:
+ type: boolean
passwordSecret:
properties:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -1215,6 +1338,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -1227,6 +1351,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -1256,6 +1381,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -1268,6 +1394,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -1280,6 +1407,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -1309,6 +1437,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -1321,6 +1450,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -1336,6 +1466,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -1348,6 +1479,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -1363,6 +1495,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -1375,6 +1508,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -1402,6 +1536,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -1442,6 +1577,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -1471,6 +1607,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -1503,6 +1640,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -1517,6 +1655,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -1542,6 +1681,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -1565,6 +1705,20 @@ spec:
key:
type: string
name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ sessionTokenSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
type: string
optional:
type: boolean
@@ -1605,6 +1759,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -1656,8 +1811,11 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
ip:
type: string
+ required:
+ - ip
type: object
type: array
hostNetwork:
@@ -1666,6 +1824,7 @@ spec:
items:
properties:
name:
+ default: ""
type: string
type: object
x-kubernetes-map-type: atomic
@@ -1766,11 +1925,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
@@ -1797,11 +1958,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
@@ -1865,6 +2028,15 @@ spec:
type: string
securityContext:
properties:
+ appArmorProfile:
+ properties:
+ localhostProfile:
+ type: string
+ type:
+ type: string
+ required:
+ - type
+ type: object
fsGroup:
format: int64
type: integer
@@ -1903,6 +2075,7 @@ spec:
format: int64
type: integer
type: array
+ x-kubernetes-list-type: atomic
sysctls:
items:
properties:
@@ -1915,6 +2088,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
windowsOptions:
properties:
gmsaCredentialSpec:
@@ -1942,6 +2116,15 @@ spec:
namespace:
type: string
type: object
+ mutexes:
+ items:
+ properties:
+ name:
+ type: string
+ namespace:
+ type: string
+ type: object
+ type: array
semaphore:
properties:
configMapKeyRef:
@@ -1949,6 +2132,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -1959,6 +2143,26 @@ spec:
namespace:
type: string
type: object
+ semaphores:
+ items:
+ properties:
+ configMapKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ namespace:
+ type: string
+ type: object
+ type: array
type: object
templateDefaults:
properties:
@@ -1987,11 +2191,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchFields:
items:
properties:
@@ -2003,11 +2209,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
type: object
x-kubernetes-map-type: atomic
weight:
@@ -2018,6 +2226,7 @@ spec:
- weight
type: object
type: array
+ x-kubernetes-list-type: atomic
requiredDuringSchedulingIgnoredDuringExecution:
properties:
nodeSelectorTerms:
@@ -2034,11 +2243,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchFields:
items:
properties:
@@ -2050,14 +2261,17 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
type: object
x-kubernetes-map-type: atomic
type: array
+ x-kubernetes-list-type: atomic
required:
- nodeSelectorTerms
type: object
@@ -2083,17 +2297,29 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
type: object
type: object
x-kubernetes-map-type: atomic
+ matchLabelKeys:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
+ mismatchLabelKeys:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
namespaceSelector:
properties:
matchExpressions:
@@ -2107,11 +2333,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
@@ -2122,6 +2350,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
topologyKey:
type: string
required:
@@ -2135,6 +2364,7 @@ spec:
- weight
type: object
type: array
+ x-kubernetes-list-type: atomic
requiredDuringSchedulingIgnoredDuringExecution:
items:
properties:
@@ -2151,17 +2381,29 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
type: object
type: object
x-kubernetes-map-type: atomic
+ matchLabelKeys:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
+ mismatchLabelKeys:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
namespaceSelector:
properties:
matchExpressions:
@@ -2175,11 +2417,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
@@ -2190,12 +2434,14 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
topologyKey:
type: string
required:
- topologyKey
type: object
type: array
+ x-kubernetes-list-type: atomic
type: object
podAntiAffinity:
properties:
@@ -2217,17 +2463,29 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
type: object
type: object
x-kubernetes-map-type: atomic
+ matchLabelKeys:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
+ mismatchLabelKeys:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
namespaceSelector:
properties:
matchExpressions:
@@ -2241,11 +2499,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
@@ -2256,6 +2516,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
topologyKey:
type: string
required:
@@ -2269,6 +2530,7 @@ spec:
- weight
type: object
type: array
+ x-kubernetes-list-type: atomic
requiredDuringSchedulingIgnoredDuringExecution:
items:
properties:
@@ -2285,17 +2547,29 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
type: object
type: object
x-kubernetes-map-type: atomic
+ matchLabelKeys:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
+ mismatchLabelKeys:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
namespaceSelector:
properties:
matchExpressions:
@@ -2309,11 +2583,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
@@ -2324,12 +2600,14 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
topologyKey:
type: string
required:
- topologyKey
type: object
type: array
+ x-kubernetes-list-type: atomic
type: object
type: object
archiveLocation:
@@ -2343,6 +2621,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -2357,6 +2636,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -2374,6 +2654,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -2405,6 +2686,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -2430,11 +2712,14 @@ spec:
type: array
insecureIgnoreHostKey:
type: boolean
+ insecureSkipTLS:
+ type: boolean
passwordSecret:
properties:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -2453,6 +2738,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -2465,6 +2751,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -2492,6 +2779,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -2504,6 +2792,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -2516,6 +2805,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -2545,6 +2835,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -2557,6 +2848,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -2572,6 +2864,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -2584,6 +2877,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -2599,6 +2893,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -2611,6 +2906,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -2638,6 +2934,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -2671,6 +2968,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -2700,6 +2998,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -2728,6 +3027,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -2742,6 +3042,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -2767,6 +3068,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -2790,6 +3092,20 @@ spec:
key:
type: string
name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ sessionTokenSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
type: string
optional:
type: boolean
@@ -2809,10 +3125,12 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
command:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
env:
items:
properties:
@@ -2827,6 +3145,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -2865,6 +3184,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -2877,12 +3197,16 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - name
+ x-kubernetes-list-type: map
envFrom:
items:
properties:
configMapRef:
properties:
name:
+ default: ""
type: string
optional:
type: boolean
@@ -2893,6 +3217,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
optional:
type: boolean
@@ -2900,6 +3225,7 @@ spec:
x-kubernetes-map-type: atomic
type: object
type: array
+ x-kubernetes-list-type: atomic
image:
type: string
imagePullPolicy:
@@ -2914,6 +3240,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
httpGet:
properties:
@@ -2931,6 +3258,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -2943,6 +3271,14 @@ spec:
required:
- port
type: object
+ sleep:
+ properties:
+ seconds:
+ format: int64
+ type: integer
+ required:
+ - seconds
+ type: object
tcpSocket:
properties:
host:
@@ -2964,6 +3300,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
httpGet:
properties:
@@ -2981,6 +3318,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -2993,6 +3331,14 @@ spec:
required:
- port
type: object
+ sleep:
+ properties:
+ seconds:
+ format: int64
+ type: integer
+ required:
+ - seconds
+ type: object
tcpSocket:
properties:
host:
@@ -3015,6 +3361,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -3045,6 +3392,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -3119,6 +3467,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -3149,6 +3498,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -3189,6 +3539,19 @@ spec:
format: int32
type: integer
type: object
+ resizePolicy:
+ items:
+ properties:
+ resourceName:
+ type: string
+ restartPolicy:
+ type: string
+ required:
+ - resourceName
+ - restartPolicy
+ type: object
+ type: array
+ x-kubernetes-list-type: atomic
resources:
properties:
claims:
@@ -3220,20 +3583,33 @@ spec:
x-kubernetes-int-or-string: true
type: object
type: object
+ restartPolicy:
+ type: string
securityContext:
properties:
allowPrivilegeEscalation:
type: boolean
+ appArmorProfile:
+ properties:
+ localhostProfile:
+ type: string
+ type:
+ type: string
+ required:
+ - type
+ type: object
capabilities:
properties:
add:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
drop:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
privileged:
type: boolean
@@ -3289,6 +3665,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -3319,6 +3696,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -3381,6 +3759,9 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - devicePath
+ x-kubernetes-list-type: map
volumeMounts:
items:
properties:
@@ -3392,6 +3773,8 @@ spec:
type: string
readOnly:
type: boolean
+ recursiveReadOnly:
+ type: string
subPath:
type: string
subPathExpr:
@@ -3401,6 +3784,9 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - mountPath
+ x-kubernetes-list-type: map
workingDir:
type: string
required:
@@ -3415,10 +3801,12 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
command:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
dependencies:
items:
type: string
@@ -3437,6 +3825,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -3475,6 +3864,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -3487,12 +3877,16 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - name
+ x-kubernetes-list-type: map
envFrom:
items:
properties:
configMapRef:
properties:
name:
+ default: ""
type: string
optional:
type: boolean
@@ -3503,6 +3897,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
optional:
type: boolean
@@ -3510,6 +3905,7 @@ spec:
x-kubernetes-map-type: atomic
type: object
type: array
+ x-kubernetes-list-type: atomic
image:
type: string
imagePullPolicy:
@@ -3524,6 +3920,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
httpGet:
properties:
@@ -3541,6 +3938,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -3553,6 +3951,14 @@ spec:
required:
- port
type: object
+ sleep:
+ properties:
+ seconds:
+ format: int64
+ type: integer
+ required:
+ - seconds
+ type: object
tcpSocket:
properties:
host:
@@ -3574,6 +3980,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
httpGet:
properties:
@@ -3591,6 +3998,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -3603,6 +4011,14 @@ spec:
required:
- port
type: object
+ sleep:
+ properties:
+ seconds:
+ format: int64
+ type: integer
+ required:
+ - seconds
+ type: object
tcpSocket:
properties:
host:
@@ -3625,6 +4041,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -3655,6 +4072,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -3729,6 +4147,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -3759,6 +4178,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -3799,6 +4219,19 @@ spec:
format: int32
type: integer
type: object
+ resizePolicy:
+ items:
+ properties:
+ resourceName:
+ type: string
+ restartPolicy:
+ type: string
+ required:
+ - resourceName
+ - restartPolicy
+ type: object
+ type: array
+ x-kubernetes-list-type: atomic
resources:
properties:
claims:
@@ -3830,20 +4263,33 @@ spec:
x-kubernetes-int-or-string: true
type: object
type: object
+ restartPolicy:
+ type: string
securityContext:
properties:
allowPrivilegeEscalation:
type: boolean
+ appArmorProfile:
+ properties:
+ localhostProfile:
+ type: string
+ type:
+ type: string
+ required:
+ - type
+ type: object
capabilities:
properties:
add:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
drop:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
privileged:
type: boolean
@@ -3899,6 +4345,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -3929,6 +4376,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -3991,6 +4439,9 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - devicePath
+ x-kubernetes-list-type: map
volumeMounts:
items:
properties:
@@ -4002,6 +4453,8 @@ spec:
type: string
readOnly:
type: boolean
+ recursiveReadOnly:
+ type: string
subPath:
type: string
subPathExpr:
@@ -4011,6 +4464,9 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - mountPath
+ x-kubernetes-list-type: map
workingDir:
type: string
required:
@@ -4040,6 +4496,8 @@ spec:
type: string
readOnly:
type: boolean
+ recursiveReadOnly:
+ type: string
subPath:
type: string
subPathExpr:
@@ -4113,6 +4571,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4127,6 +4586,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4144,6 +4604,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4181,6 +4642,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4206,11 +4668,14 @@ spec:
type: array
insecureIgnoreHostKey:
type: boolean
+ insecureSkipTLS:
+ type: boolean
passwordSecret:
properties:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4229,6 +4694,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4241,6 +4707,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4270,6 +4737,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4282,6 +4750,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4294,6 +4763,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4323,6 +4793,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4335,6 +4806,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4350,6 +4822,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4362,6 +4835,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4377,6 +4851,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4389,6 +4864,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4416,6 +4892,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4456,6 +4933,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4485,6 +4963,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4517,6 +4996,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4531,6 +5011,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4556,6 +5037,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4579,6 +5061,20 @@ spec:
key:
type: string
name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ sessionTokenSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
type: string
optional:
type: boolean
@@ -4619,6 +5115,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4714,6 +5211,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4728,6 +5226,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4745,6 +5244,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4782,6 +5282,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4807,11 +5308,14 @@ spec:
type: array
insecureIgnoreHostKey:
type: boolean
+ insecureSkipTLS:
+ type: boolean
passwordSecret:
properties:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4830,6 +5334,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4842,6 +5347,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4871,6 +5377,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4883,6 +5390,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4895,6 +5403,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4924,6 +5433,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4936,6 +5446,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4951,6 +5462,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4963,6 +5475,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4978,6 +5491,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -4990,6 +5504,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -5017,6 +5532,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -5057,6 +5573,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -5086,6 +5603,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -5118,6 +5636,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -5132,6 +5651,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -5157,6 +5677,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -5180,6 +5701,20 @@ spec:
key:
type: string
name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ sessionTokenSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
type: string
optional:
type: boolean
@@ -5220,6 +5755,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -5366,6 +5902,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -5380,6 +5917,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -5397,6 +5935,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -5434,6 +5973,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -5459,11 +5999,14 @@ spec:
type: array
insecureIgnoreHostKey:
type: boolean
+ insecureSkipTLS:
+ type: boolean
passwordSecret:
properties:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -5482,6 +6025,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -5494,6 +6038,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -5523,6 +6068,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -5535,6 +6081,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -5547,6 +6094,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -5576,6 +6124,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -5588,6 +6137,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -5603,6 +6153,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -5615,6 +6166,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -5630,6 +6182,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -5642,6 +6195,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -5669,6 +6223,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -5709,6 +6264,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -5738,6 +6294,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -5770,6 +6327,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -5784,6 +6342,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -5809,6 +6368,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -5832,6 +6392,20 @@ spec:
key:
type: string
name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ sessionTokenSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
type: string
optional:
type: boolean
@@ -5875,8 +6449,11 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
ip:
type: string
+ required:
+ - ip
type: object
type: array
http:
@@ -5903,6 +6480,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -5936,10 +6514,12 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
command:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
env:
items:
properties:
@@ -5954,6 +6534,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -5992,6 +6573,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -6004,12 +6586,16 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - name
+ x-kubernetes-list-type: map
envFrom:
items:
properties:
configMapRef:
properties:
name:
+ default: ""
type: string
optional:
type: boolean
@@ -6020,6 +6606,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
optional:
type: boolean
@@ -6027,6 +6614,7 @@ spec:
x-kubernetes-map-type: atomic
type: object
type: array
+ x-kubernetes-list-type: atomic
image:
type: string
imagePullPolicy:
@@ -6041,6 +6629,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
httpGet:
properties:
@@ -6058,6 +6647,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -6070,6 +6660,14 @@ spec:
required:
- port
type: object
+ sleep:
+ properties:
+ seconds:
+ format: int64
+ type: integer
+ required:
+ - seconds
+ type: object
tcpSocket:
properties:
host:
@@ -6091,6 +6689,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
httpGet:
properties:
@@ -6108,6 +6707,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -6120,6 +6720,14 @@ spec:
required:
- port
type: object
+ sleep:
+ properties:
+ seconds:
+ format: int64
+ type: integer
+ required:
+ - seconds
+ type: object
tcpSocket:
properties:
host:
@@ -6142,6 +6750,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -6172,6 +6781,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -6248,6 +6858,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -6278,6 +6889,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -6318,6 +6930,19 @@ spec:
format: int32
type: integer
type: object
+ resizePolicy:
+ items:
+ properties:
+ resourceName:
+ type: string
+ restartPolicy:
+ type: string
+ required:
+ - resourceName
+ - restartPolicy
+ type: object
+ type: array
+ x-kubernetes-list-type: atomic
resources:
properties:
claims:
@@ -6349,20 +6974,33 @@ spec:
x-kubernetes-int-or-string: true
type: object
type: object
+ restartPolicy:
+ type: string
securityContext:
properties:
allowPrivilegeEscalation:
type: boolean
+ appArmorProfile:
+ properties:
+ localhostProfile:
+ type: string
+ type:
+ type: string
+ required:
+ - type
+ type: object
capabilities:
properties:
add:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
drop:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
privileged:
type: boolean
@@ -6418,6 +7056,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -6448,6 +7087,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -6510,6 +7150,9 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - devicePath
+ x-kubernetes-list-type: map
volumeMounts:
items:
properties:
@@ -6521,6 +7164,8 @@ spec:
type: string
readOnly:
type: boolean
+ recursiveReadOnly:
+ type: string
subPath:
type: string
subPathExpr:
@@ -6530,6 +7175,9 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - mountPath
+ x-kubernetes-list-type: map
workingDir:
type: string
required:
@@ -6586,6 +7234,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -6600,6 +7249,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -6617,6 +7267,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -6654,6 +7305,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -6679,11 +7331,14 @@ spec:
type: array
insecureIgnoreHostKey:
type: boolean
+ insecureSkipTLS:
+ type: boolean
passwordSecret:
properties:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -6702,6 +7357,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -6714,6 +7370,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -6743,6 +7400,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -6755,6 +7413,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -6767,6 +7426,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -6796,6 +7456,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -6808,6 +7469,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -6823,6 +7485,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -6835,6 +7498,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -6850,6 +7514,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -6862,6 +7527,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -6889,6 +7555,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -6929,6 +7596,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -6958,6 +7626,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -6990,6 +7659,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -7004,6 +7674,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -7029,6 +7700,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -7052,6 +7724,20 @@ spec:
key:
type: string
name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ sessionTokenSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
type: string
optional:
type: boolean
@@ -7092,6 +7778,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -7130,6 +7817,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -7278,6 +7966,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -7292,6 +7981,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -7309,6 +7999,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -7346,6 +8037,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -7371,11 +8063,14 @@ spec:
type: array
insecureIgnoreHostKey:
type: boolean
+ insecureSkipTLS:
+ type: boolean
passwordSecret:
properties:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -7394,6 +8089,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -7406,6 +8102,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -7435,6 +8132,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -7447,6 +8145,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -7459,6 +8158,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -7488,6 +8188,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -7500,6 +8201,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -7515,6 +8217,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -7527,6 +8230,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -7542,6 +8246,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -7554,6 +8259,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -7581,6 +8287,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -7621,6 +8328,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -7650,6 +8358,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -7682,6 +8391,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -7696,6 +8406,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -7721,6 +8432,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -7744,6 +8456,20 @@ spec:
key:
type: string
name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ sessionTokenSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
type: string
optional:
type: boolean
@@ -7786,6 +8512,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -7890,6 +8617,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -7904,6 +8632,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -7921,6 +8650,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -7958,6 +8688,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -7983,11 +8714,14 @@ spec:
type: array
insecureIgnoreHostKey:
type: boolean
+ insecureSkipTLS:
+ type: boolean
passwordSecret:
properties:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -8006,6 +8740,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -8018,6 +8753,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -8047,6 +8783,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -8059,6 +8796,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -8071,6 +8809,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -8100,6 +8839,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -8112,6 +8852,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -8127,6 +8868,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -8139,6 +8881,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -8154,6 +8897,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -8166,6 +8910,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -8193,6 +8938,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -8233,6 +8979,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -8262,6 +9009,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -8294,6 +9042,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -8308,6 +9057,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -8333,6 +9083,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -8356,6 +9107,20 @@ spec:
key:
type: string
name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ sessionTokenSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
type: string
optional:
type: boolean
@@ -8420,10 +9185,12 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
command:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
env:
items:
properties:
@@ -8438,6 +9205,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -8476,6 +9244,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -8488,12 +9257,16 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - name
+ x-kubernetes-list-type: map
envFrom:
items:
properties:
configMapRef:
properties:
name:
+ default: ""
type: string
optional:
type: boolean
@@ -8504,6 +9277,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
optional:
type: boolean
@@ -8511,6 +9285,7 @@ spec:
x-kubernetes-map-type: atomic
type: object
type: array
+ x-kubernetes-list-type: atomic
image:
type: string
imagePullPolicy:
@@ -8525,6 +9300,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
httpGet:
properties:
@@ -8542,6 +9318,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -8554,6 +9331,14 @@ spec:
required:
- port
type: object
+ sleep:
+ properties:
+ seconds:
+ format: int64
+ type: integer
+ required:
+ - seconds
+ type: object
tcpSocket:
properties:
host:
@@ -8575,6 +9360,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
httpGet:
properties:
@@ -8592,6 +9378,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -8604,6 +9391,14 @@ spec:
required:
- port
type: object
+ sleep:
+ properties:
+ seconds:
+ format: int64
+ type: integer
+ required:
+ - seconds
+ type: object
tcpSocket:
properties:
host:
@@ -8626,6 +9421,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -8656,6 +9452,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -8730,6 +9527,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -8760,6 +9558,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -8800,6 +9599,19 @@ spec:
format: int32
type: integer
type: object
+ resizePolicy:
+ items:
+ properties:
+ resourceName:
+ type: string
+ restartPolicy:
+ type: string
+ required:
+ - resourceName
+ - restartPolicy
+ type: object
+ type: array
+ x-kubernetes-list-type: atomic
resources:
properties:
claims:
@@ -8831,20 +9643,33 @@ spec:
x-kubernetes-int-or-string: true
type: object
type: object
+ restartPolicy:
+ type: string
securityContext:
properties:
allowPrivilegeEscalation:
type: boolean
+ appArmorProfile:
+ properties:
+ localhostProfile:
+ type: string
+ type:
+ type: string
+ required:
+ - type
+ type: object
capabilities:
properties:
add:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
drop:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
privileged:
type: boolean
@@ -8902,6 +9727,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -8932,6 +9758,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -8994,6 +9821,9 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - devicePath
+ x-kubernetes-list-type: map
volumeMounts:
items:
properties:
@@ -9005,6 +9835,8 @@ spec:
type: string
readOnly:
type: boolean
+ recursiveReadOnly:
+ type: string
subPath:
type: string
subPathExpr:
@@ -9014,6 +9846,9 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - mountPath
+ x-kubernetes-list-type: map
workingDir:
type: string
required:
@@ -9022,6 +9857,15 @@ spec:
type: object
securityContext:
properties:
+ appArmorProfile:
+ properties:
+ localhostProfile:
+ type: string
+ type:
+ type: string
+ required:
+ - type
+ type: object
fsGroup:
format: int64
type: integer
@@ -9060,6 +9904,7 @@ spec:
format: int64
type: integer
type: array
+ x-kubernetes-list-type: atomic
sysctls:
items:
properties:
@@ -9072,6 +9917,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
windowsOptions:
properties:
gmsaCredentialSpec:
@@ -9093,10 +9939,12 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
command:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
env:
items:
properties:
@@ -9111,6 +9959,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -9149,6 +9998,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -9161,12 +10011,16 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - name
+ x-kubernetes-list-type: map
envFrom:
items:
properties:
configMapRef:
properties:
name:
+ default: ""
type: string
optional:
type: boolean
@@ -9177,6 +10031,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
optional:
type: boolean
@@ -9184,6 +10039,7 @@ spec:
x-kubernetes-map-type: atomic
type: object
type: array
+ x-kubernetes-list-type: atomic
image:
type: string
imagePullPolicy:
@@ -9198,6 +10054,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
httpGet:
properties:
@@ -9215,6 +10072,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -9227,6 +10085,14 @@ spec:
required:
- port
type: object
+ sleep:
+ properties:
+ seconds:
+ format: int64
+ type: integer
+ required:
+ - seconds
+ type: object
tcpSocket:
properties:
host:
@@ -9248,6 +10114,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
httpGet:
properties:
@@ -9265,6 +10132,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -9277,6 +10145,14 @@ spec:
required:
- port
type: object
+ sleep:
+ properties:
+ seconds:
+ format: int64
+ type: integer
+ required:
+ - seconds
+ type: object
tcpSocket:
properties:
host:
@@ -9299,6 +10175,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -9329,6 +10206,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -9405,6 +10283,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -9435,6 +10314,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -9475,6 +10355,19 @@ spec:
format: int32
type: integer
type: object
+ resizePolicy:
+ items:
+ properties:
+ resourceName:
+ type: string
+ restartPolicy:
+ type: string
+ required:
+ - resourceName
+ - restartPolicy
+ type: object
+ type: array
+ x-kubernetes-list-type: atomic
resources:
properties:
claims:
@@ -9506,20 +10399,33 @@ spec:
x-kubernetes-int-or-string: true
type: object
type: object
+ restartPolicy:
+ type: string
securityContext:
properties:
allowPrivilegeEscalation:
type: boolean
+ appArmorProfile:
+ properties:
+ localhostProfile:
+ type: string
+ type:
+ type: string
+ required:
+ - type
+ type: object
capabilities:
properties:
add:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
drop:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
privileged:
type: boolean
@@ -9575,6 +10481,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -9605,6 +10512,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -9667,6 +10575,9 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - devicePath
+ x-kubernetes-list-type: map
volumeMounts:
items:
properties:
@@ -9678,6 +10589,8 @@ spec:
type: string
readOnly:
type: boolean
+ recursiveReadOnly:
+ type: string
subPath:
type: string
subPathExpr:
@@ -9687,6 +10600,9 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - mountPath
+ x-kubernetes-list-type: map
workingDir:
type: string
required:
@@ -9711,6 +10627,15 @@ spec:
namespace:
type: string
type: object
+ mutexes:
+ items:
+ properties:
+ name:
+ type: string
+ namespace:
+ type: string
+ type: object
+ type: array
semaphore:
properties:
configMapKeyRef:
@@ -9718,6 +10643,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -9728,6 +10654,26 @@ spec:
namespace:
type: string
type: object
+ semaphores:
+ items:
+ properties:
+ configMapKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ namespace:
+ type: string
+ type: object
+ type: array
type: object
timeout:
type: string
@@ -9800,6 +10746,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
readOnly:
@@ -9809,6 +10756,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
type: object
x-kubernetes-map-type: atomic
@@ -9826,6 +10774,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
type: object
x-kubernetes-map-type: atomic
@@ -9854,7 +10803,9 @@ spec:
- path
type: object
type: array
+ x-kubernetes-list-type: atomic
name:
+ default: ""
type: string
optional:
type: boolean
@@ -9869,6 +10820,7 @@ spec:
nodePublishSecretRef:
properties:
name:
+ default: ""
type: string
type: object
x-kubernetes-map-type: atomic
@@ -9924,6 +10876,7 @@ spec:
- path
type: object
type: array
+ x-kubernetes-list-type: atomic
type: object
emptyDir:
properties:
@@ -9948,6 +10901,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
dataSource:
properties:
apiGroup:
@@ -9977,18 +10931,6 @@ spec:
type: object
resources:
properties:
- claims:
- items:
- properties:
- name:
- type: string
- required:
- - name
- type: object
- type: array
- x-kubernetes-list-map-keys:
- - name
- x-kubernetes-list-type: map
limits:
additionalProperties:
anyOf:
@@ -10019,11 +10961,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
@@ -10032,6 +10976,8 @@ spec:
x-kubernetes-map-type: atomic
storageClassName:
type: string
+ volumeAttributesClassName:
+ type: string
volumeMode:
type: string
volumeName:
@@ -10054,10 +11000,12 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
wwids:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
flexVolume:
properties:
@@ -10074,6 +11022,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
type: object
x-kubernetes-map-type: atomic
@@ -10154,11 +11103,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
readOnly:
type: boolean
secretRef:
properties:
name:
+ default: ""
type: string
type: object
x-kubernetes-map-type: atomic
@@ -10220,6 +11171,45 @@ spec:
sources:
items:
properties:
+ clusterTrustBundle:
+ properties:
+ labelSelector:
+ properties:
+ matchExpressions:
+ items:
+ properties:
+ key:
+ type: string
+ operator:
+ type: string
+ values:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
+ required:
+ - key
+ - operator
+ type: object
+ type: array
+ x-kubernetes-list-type: atomic
+ matchLabels:
+ additionalProperties:
+ type: string
+ type: object
+ type: object
+ x-kubernetes-map-type: atomic
+ name:
+ type: string
+ optional:
+ type: boolean
+ path:
+ type: string
+ signerName:
+ type: string
+ required:
+ - path
+ type: object
configMap:
properties:
items:
@@ -10237,7 +11227,9 @@ spec:
- path
type: object
type: array
+ x-kubernetes-list-type: atomic
name:
+ default: ""
type: string
optional:
type: boolean
@@ -10283,6 +11275,7 @@ spec:
- path
type: object
type: array
+ x-kubernetes-list-type: atomic
type: object
secret:
properties:
@@ -10301,7 +11294,9 @@ spec:
- path
type: object
type: array
+ x-kubernetes-list-type: atomic
name:
+ default: ""
type: string
optional:
type: boolean
@@ -10321,6 +11316,7 @@ spec:
type: object
type: object
type: array
+ x-kubernetes-list-type: atomic
type: object
quobyte:
properties:
@@ -10352,6 +11348,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
pool:
type: string
readOnly:
@@ -10359,6 +11356,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
type: object
x-kubernetes-map-type: atomic
@@ -10381,6 +11379,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
type: object
x-kubernetes-map-type: atomic
@@ -10419,6 +11418,7 @@ spec:
- path
type: object
type: array
+ x-kubernetes-list-type: atomic
optional:
type: boolean
secretName:
@@ -10433,6 +11433,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
type: object
x-kubernetes-map-type: atomic
@@ -10487,11 +11488,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchFields:
items:
properties:
@@ -10503,11 +11506,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
type: object
x-kubernetes-map-type: atomic
weight:
@@ -10518,6 +11523,7 @@ spec:
- weight
type: object
type: array
+ x-kubernetes-list-type: atomic
requiredDuringSchedulingIgnoredDuringExecution:
properties:
nodeSelectorTerms:
@@ -10534,11 +11540,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchFields:
items:
properties:
@@ -10550,14 +11558,17 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
type: object
x-kubernetes-map-type: atomic
type: array
+ x-kubernetes-list-type: atomic
required:
- nodeSelectorTerms
type: object
@@ -10583,17 +11594,29 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
type: object
type: object
x-kubernetes-map-type: atomic
+ matchLabelKeys:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
+ mismatchLabelKeys:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
namespaceSelector:
properties:
matchExpressions:
@@ -10607,11 +11630,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
@@ -10622,6 +11647,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
topologyKey:
type: string
required:
@@ -10635,6 +11661,7 @@ spec:
- weight
type: object
type: array
+ x-kubernetes-list-type: atomic
requiredDuringSchedulingIgnoredDuringExecution:
items:
properties:
@@ -10651,17 +11678,29 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
type: object
type: object
x-kubernetes-map-type: atomic
+ matchLabelKeys:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
+ mismatchLabelKeys:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
namespaceSelector:
properties:
matchExpressions:
@@ -10675,11 +11714,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
@@ -10690,12 +11731,14 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
topologyKey:
type: string
required:
- topologyKey
type: object
type: array
+ x-kubernetes-list-type: atomic
type: object
podAntiAffinity:
properties:
@@ -10717,17 +11760,29 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
type: object
type: object
x-kubernetes-map-type: atomic
+ matchLabelKeys:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
+ mismatchLabelKeys:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
namespaceSelector:
properties:
matchExpressions:
@@ -10741,11 +11796,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
@@ -10756,6 +11813,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
topologyKey:
type: string
required:
@@ -10769,6 +11827,7 @@ spec:
- weight
type: object
type: array
+ x-kubernetes-list-type: atomic
requiredDuringSchedulingIgnoredDuringExecution:
items:
properties:
@@ -10785,17 +11844,29 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
type: object
type: object
x-kubernetes-map-type: atomic
+ matchLabelKeys:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
+ mismatchLabelKeys:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
namespaceSelector:
properties:
matchExpressions:
@@ -10809,11 +11880,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
@@ -10824,12 +11897,14 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
topologyKey:
type: string
required:
- topologyKey
type: object
type: array
+ x-kubernetes-list-type: atomic
type: object
type: object
archiveLocation:
@@ -10843,6 +11918,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -10857,6 +11933,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -10874,6 +11951,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -10905,6 +11983,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -10930,11 +12009,14 @@ spec:
type: array
insecureIgnoreHostKey:
type: boolean
+ insecureSkipTLS:
+ type: boolean
passwordSecret:
properties:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -10953,6 +12035,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -10965,6 +12048,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -10992,6 +12076,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -11004,6 +12089,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -11016,6 +12102,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -11045,6 +12132,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -11057,6 +12145,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -11072,6 +12161,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -11084,6 +12174,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -11099,6 +12190,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -11111,6 +12203,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -11138,6 +12231,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -11171,6 +12265,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -11200,6 +12295,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -11228,6 +12324,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -11242,6 +12339,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -11267,6 +12365,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -11290,6 +12389,20 @@ spec:
key:
type: string
name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ sessionTokenSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
type: string
optional:
type: boolean
@@ -11309,10 +12422,12 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
command:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
env:
items:
properties:
@@ -11327,6 +12442,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -11365,6 +12481,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -11377,12 +12494,16 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - name
+ x-kubernetes-list-type: map
envFrom:
items:
properties:
configMapRef:
properties:
name:
+ default: ""
type: string
optional:
type: boolean
@@ -11393,6 +12514,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
optional:
type: boolean
@@ -11400,6 +12522,7 @@ spec:
x-kubernetes-map-type: atomic
type: object
type: array
+ x-kubernetes-list-type: atomic
image:
type: string
imagePullPolicy:
@@ -11414,6 +12537,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
httpGet:
properties:
@@ -11431,6 +12555,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -11443,6 +12568,14 @@ spec:
required:
- port
type: object
+ sleep:
+ properties:
+ seconds:
+ format: int64
+ type: integer
+ required:
+ - seconds
+ type: object
tcpSocket:
properties:
host:
@@ -11464,6 +12597,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
httpGet:
properties:
@@ -11481,6 +12615,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -11493,6 +12628,14 @@ spec:
required:
- port
type: object
+ sleep:
+ properties:
+ seconds:
+ format: int64
+ type: integer
+ required:
+ - seconds
+ type: object
tcpSocket:
properties:
host:
@@ -11515,6 +12658,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -11545,6 +12689,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -11619,6 +12764,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -11649,6 +12795,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -11689,6 +12836,19 @@ spec:
format: int32
type: integer
type: object
+ resizePolicy:
+ items:
+ properties:
+ resourceName:
+ type: string
+ restartPolicy:
+ type: string
+ required:
+ - resourceName
+ - restartPolicy
+ type: object
+ type: array
+ x-kubernetes-list-type: atomic
resources:
properties:
claims:
@@ -11720,20 +12880,33 @@ spec:
x-kubernetes-int-or-string: true
type: object
type: object
+ restartPolicy:
+ type: string
securityContext:
properties:
allowPrivilegeEscalation:
type: boolean
+ appArmorProfile:
+ properties:
+ localhostProfile:
+ type: string
+ type:
+ type: string
+ required:
+ - type
+ type: object
capabilities:
properties:
add:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
drop:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
privileged:
type: boolean
@@ -11789,6 +12962,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -11819,6 +12993,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -11881,8 +13056,11 @@ spec:
- name
type: object
type: array
- volumeMounts:
- items:
+ x-kubernetes-list-map-keys:
+ - devicePath
+ x-kubernetes-list-type: map
+ volumeMounts:
+ items:
properties:
mountPath:
type: string
@@ -11892,6 +13070,8 @@ spec:
type: string
readOnly:
type: boolean
+ recursiveReadOnly:
+ type: string
subPath:
type: string
subPathExpr:
@@ -11901,6 +13081,9 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - mountPath
+ x-kubernetes-list-type: map
workingDir:
type: string
required:
@@ -11915,10 +13098,12 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
command:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
dependencies:
items:
type: string
@@ -11937,6 +13122,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -11975,6 +13161,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -11987,12 +13174,16 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - name
+ x-kubernetes-list-type: map
envFrom:
items:
properties:
configMapRef:
properties:
name:
+ default: ""
type: string
optional:
type: boolean
@@ -12003,6 +13194,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
optional:
type: boolean
@@ -12010,6 +13202,7 @@ spec:
x-kubernetes-map-type: atomic
type: object
type: array
+ x-kubernetes-list-type: atomic
image:
type: string
imagePullPolicy:
@@ -12024,6 +13217,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
httpGet:
properties:
@@ -12041,6 +13235,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -12053,6 +13248,14 @@ spec:
required:
- port
type: object
+ sleep:
+ properties:
+ seconds:
+ format: int64
+ type: integer
+ required:
+ - seconds
+ type: object
tcpSocket:
properties:
host:
@@ -12074,6 +13277,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
httpGet:
properties:
@@ -12091,6 +13295,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -12103,6 +13308,14 @@ spec:
required:
- port
type: object
+ sleep:
+ properties:
+ seconds:
+ format: int64
+ type: integer
+ required:
+ - seconds
+ type: object
tcpSocket:
properties:
host:
@@ -12125,6 +13338,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -12155,6 +13369,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -12229,6 +13444,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -12259,6 +13475,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -12299,6 +13516,19 @@ spec:
format: int32
type: integer
type: object
+ resizePolicy:
+ items:
+ properties:
+ resourceName:
+ type: string
+ restartPolicy:
+ type: string
+ required:
+ - resourceName
+ - restartPolicy
+ type: object
+ type: array
+ x-kubernetes-list-type: atomic
resources:
properties:
claims:
@@ -12330,20 +13560,33 @@ spec:
x-kubernetes-int-or-string: true
type: object
type: object
+ restartPolicy:
+ type: string
securityContext:
properties:
allowPrivilegeEscalation:
type: boolean
+ appArmorProfile:
+ properties:
+ localhostProfile:
+ type: string
+ type:
+ type: string
+ required:
+ - type
+ type: object
capabilities:
properties:
add:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
drop:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
privileged:
type: boolean
@@ -12399,6 +13642,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -12429,6 +13673,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -12491,6 +13736,9 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - devicePath
+ x-kubernetes-list-type: map
volumeMounts:
items:
properties:
@@ -12502,6 +13750,8 @@ spec:
type: string
readOnly:
type: boolean
+ recursiveReadOnly:
+ type: string
subPath:
type: string
subPathExpr:
@@ -12511,6 +13761,9 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - mountPath
+ x-kubernetes-list-type: map
workingDir:
type: string
required:
@@ -12540,6 +13793,8 @@ spec:
type: string
readOnly:
type: boolean
+ recursiveReadOnly:
+ type: string
subPath:
type: string
subPathExpr:
@@ -12613,6 +13868,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -12627,6 +13883,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -12644,6 +13901,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -12681,6 +13939,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -12706,11 +13965,14 @@ spec:
type: array
insecureIgnoreHostKey:
type: boolean
+ insecureSkipTLS:
+ type: boolean
passwordSecret:
properties:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -12729,6 +13991,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -12741,6 +14004,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -12770,6 +14034,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -12782,6 +14047,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -12794,6 +14060,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -12823,6 +14090,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -12835,6 +14103,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -12850,6 +14119,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -12862,6 +14132,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -12877,6 +14148,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -12889,6 +14161,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -12916,6 +14189,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -12956,6 +14230,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -12985,6 +14260,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -13017,6 +14293,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -13031,6 +14308,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -13056,6 +14334,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -13079,6 +14358,20 @@ spec:
key:
type: string
name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ sessionTokenSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
type: string
optional:
type: boolean
@@ -13119,6 +14412,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -13214,6 +14508,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -13228,6 +14523,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -13245,6 +14541,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -13282,6 +14579,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -13307,11 +14605,14 @@ spec:
type: array
insecureIgnoreHostKey:
type: boolean
+ insecureSkipTLS:
+ type: boolean
passwordSecret:
properties:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -13330,6 +14631,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -13342,6 +14644,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -13371,6 +14674,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -13383,6 +14687,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -13395,6 +14700,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -13424,6 +14730,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -13436,6 +14743,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -13451,6 +14759,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -13463,6 +14772,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -13478,6 +14788,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -13490,6 +14801,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -13517,6 +14829,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -13557,6 +14870,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -13586,6 +14900,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -13618,6 +14933,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -13632,6 +14948,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -13657,6 +14974,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -13680,6 +14998,20 @@ spec:
key:
type: string
name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ sessionTokenSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
type: string
optional:
type: boolean
@@ -13720,6 +15052,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -13866,6 +15199,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -13880,6 +15214,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -13897,6 +15232,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -13934,6 +15270,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -13959,11 +15296,14 @@ spec:
type: array
insecureIgnoreHostKey:
type: boolean
+ insecureSkipTLS:
+ type: boolean
passwordSecret:
properties:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -13982,6 +15322,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -13994,6 +15335,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -14023,6 +15365,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -14035,6 +15378,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -14047,6 +15391,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -14076,6 +15421,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -14088,6 +15434,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -14103,6 +15450,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -14115,6 +15463,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -14130,6 +15479,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -14142,6 +15492,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -14169,6 +15520,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -14209,6 +15561,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -14238,6 +15591,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -14270,6 +15624,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -14284,6 +15639,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -14309,6 +15665,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -14332,6 +15689,20 @@ spec:
key:
type: string
name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ sessionTokenSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
type: string
optional:
type: boolean
@@ -14375,8 +15746,11 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
ip:
type: string
+ required:
+ - ip
type: object
type: array
http:
@@ -14403,6 +15777,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -14436,10 +15811,12 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
command:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
env:
items:
properties:
@@ -14454,6 +15831,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -14492,6 +15870,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -14504,12 +15883,16 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - name
+ x-kubernetes-list-type: map
envFrom:
items:
properties:
configMapRef:
properties:
name:
+ default: ""
type: string
optional:
type: boolean
@@ -14520,6 +15903,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
optional:
type: boolean
@@ -14527,6 +15911,7 @@ spec:
x-kubernetes-map-type: atomic
type: object
type: array
+ x-kubernetes-list-type: atomic
image:
type: string
imagePullPolicy:
@@ -14541,6 +15926,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
httpGet:
properties:
@@ -14558,6 +15944,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -14570,6 +15957,14 @@ spec:
required:
- port
type: object
+ sleep:
+ properties:
+ seconds:
+ format: int64
+ type: integer
+ required:
+ - seconds
+ type: object
tcpSocket:
properties:
host:
@@ -14591,6 +15986,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
httpGet:
properties:
@@ -14608,6 +16004,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -14620,6 +16017,14 @@ spec:
required:
- port
type: object
+ sleep:
+ properties:
+ seconds:
+ format: int64
+ type: integer
+ required:
+ - seconds
+ type: object
tcpSocket:
properties:
host:
@@ -14642,6 +16047,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -14672,6 +16078,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -14748,6 +16155,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -14778,6 +16186,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -14818,6 +16227,19 @@ spec:
format: int32
type: integer
type: object
+ resizePolicy:
+ items:
+ properties:
+ resourceName:
+ type: string
+ restartPolicy:
+ type: string
+ required:
+ - resourceName
+ - restartPolicy
+ type: object
+ type: array
+ x-kubernetes-list-type: atomic
resources:
properties:
claims:
@@ -14849,20 +16271,33 @@ spec:
x-kubernetes-int-or-string: true
type: object
type: object
+ restartPolicy:
+ type: string
securityContext:
properties:
allowPrivilegeEscalation:
type: boolean
+ appArmorProfile:
+ properties:
+ localhostProfile:
+ type: string
+ type:
+ type: string
+ required:
+ - type
+ type: object
capabilities:
properties:
add:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
drop:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
privileged:
type: boolean
@@ -14918,6 +16353,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -14948,6 +16384,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -15010,6 +16447,9 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - devicePath
+ x-kubernetes-list-type: map
volumeMounts:
items:
properties:
@@ -15021,6 +16461,8 @@ spec:
type: string
readOnly:
type: boolean
+ recursiveReadOnly:
+ type: string
subPath:
type: string
subPathExpr:
@@ -15030,6 +16472,9 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - mountPath
+ x-kubernetes-list-type: map
workingDir:
type: string
required:
@@ -15086,6 +16531,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -15100,6 +16546,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -15117,6 +16564,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -15154,6 +16602,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -15179,11 +16628,14 @@ spec:
type: array
insecureIgnoreHostKey:
type: boolean
+ insecureSkipTLS:
+ type: boolean
passwordSecret:
properties:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -15202,6 +16654,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -15214,6 +16667,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -15243,6 +16697,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -15255,6 +16710,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -15267,6 +16723,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -15296,6 +16753,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -15308,6 +16766,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -15323,6 +16782,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -15335,6 +16795,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -15350,6 +16811,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -15362,6 +16824,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -15389,6 +16852,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -15429,6 +16893,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -15458,6 +16923,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -15490,6 +16956,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -15504,6 +16971,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -15529,6 +16997,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -15552,6 +17021,20 @@ spec:
key:
type: string
name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ sessionTokenSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
type: string
optional:
type: boolean
@@ -15592,6 +17075,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -15630,6 +17114,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -15778,6 +17263,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -15792,6 +17278,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -15809,6 +17296,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -15846,6 +17334,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -15871,11 +17360,14 @@ spec:
type: array
insecureIgnoreHostKey:
type: boolean
+ insecureSkipTLS:
+ type: boolean
passwordSecret:
properties:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -15894,6 +17386,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -15906,6 +17399,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -15935,6 +17429,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -15947,6 +17442,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -15959,6 +17455,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -15988,6 +17485,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -16000,6 +17498,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -16015,6 +17514,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -16027,6 +17527,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -16042,6 +17543,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -16054,6 +17556,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -16081,6 +17584,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -16121,6 +17625,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -16150,6 +17655,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -16182,6 +17688,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -16196,6 +17703,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -16221,6 +17729,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -16244,6 +17753,20 @@ spec:
key:
type: string
name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ sessionTokenSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
type: string
optional:
type: boolean
@@ -16286,6 +17809,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -16390,6 +17914,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -16404,6 +17929,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -16421,6 +17947,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -16458,6 +17985,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -16483,11 +18011,14 @@ spec:
type: array
insecureIgnoreHostKey:
type: boolean
+ insecureSkipTLS:
+ type: boolean
passwordSecret:
properties:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -16506,6 +18037,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -16518,6 +18050,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -16547,6 +18080,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -16559,6 +18093,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -16571,6 +18106,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -16600,6 +18136,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -16612,6 +18149,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -16627,6 +18165,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -16639,6 +18178,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -16654,6 +18194,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -16666,6 +18207,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -16693,6 +18235,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -16733,6 +18276,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -16762,6 +18306,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -16794,6 +18339,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -16808,6 +18354,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -16833,6 +18380,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -16856,6 +18404,20 @@ spec:
key:
type: string
name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ sessionTokenSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
type: string
optional:
type: boolean
@@ -16920,10 +18482,12 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
command:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
env:
items:
properties:
@@ -16938,6 +18502,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -16976,6 +18541,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -16988,12 +18554,16 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - name
+ x-kubernetes-list-type: map
envFrom:
items:
properties:
configMapRef:
properties:
name:
+ default: ""
type: string
optional:
type: boolean
@@ -17004,6 +18574,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
optional:
type: boolean
@@ -17011,6 +18582,7 @@ spec:
x-kubernetes-map-type: atomic
type: object
type: array
+ x-kubernetes-list-type: atomic
image:
type: string
imagePullPolicy:
@@ -17025,6 +18597,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
httpGet:
properties:
@@ -17042,6 +18615,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -17054,6 +18628,14 @@ spec:
required:
- port
type: object
+ sleep:
+ properties:
+ seconds:
+ format: int64
+ type: integer
+ required:
+ - seconds
+ type: object
tcpSocket:
properties:
host:
@@ -17075,6 +18657,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
httpGet:
properties:
@@ -17092,6 +18675,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -17104,6 +18688,14 @@ spec:
required:
- port
type: object
+ sleep:
+ properties:
+ seconds:
+ format: int64
+ type: integer
+ required:
+ - seconds
+ type: object
tcpSocket:
properties:
host:
@@ -17126,6 +18718,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -17156,6 +18749,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -17230,6 +18824,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -17260,6 +18855,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -17300,6 +18896,19 @@ spec:
format: int32
type: integer
type: object
+ resizePolicy:
+ items:
+ properties:
+ resourceName:
+ type: string
+ restartPolicy:
+ type: string
+ required:
+ - resourceName
+ - restartPolicy
+ type: object
+ type: array
+ x-kubernetes-list-type: atomic
resources:
properties:
claims:
@@ -17331,20 +18940,33 @@ spec:
x-kubernetes-int-or-string: true
type: object
type: object
+ restartPolicy:
+ type: string
securityContext:
properties:
allowPrivilegeEscalation:
type: boolean
+ appArmorProfile:
+ properties:
+ localhostProfile:
+ type: string
+ type:
+ type: string
+ required:
+ - type
+ type: object
capabilities:
properties:
add:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
drop:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
privileged:
type: boolean
@@ -17402,6 +19024,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -17432,6 +19055,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -17494,6 +19118,9 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - devicePath
+ x-kubernetes-list-type: map
volumeMounts:
items:
properties:
@@ -17505,6 +19132,8 @@ spec:
type: string
readOnly:
type: boolean
+ recursiveReadOnly:
+ type: string
subPath:
type: string
subPathExpr:
@@ -17514,6 +19143,9 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - mountPath
+ x-kubernetes-list-type: map
workingDir:
type: string
required:
@@ -17522,6 +19154,15 @@ spec:
type: object
securityContext:
properties:
+ appArmorProfile:
+ properties:
+ localhostProfile:
+ type: string
+ type:
+ type: string
+ required:
+ - type
+ type: object
fsGroup:
format: int64
type: integer
@@ -17560,6 +19201,7 @@ spec:
format: int64
type: integer
type: array
+ x-kubernetes-list-type: atomic
sysctls:
items:
properties:
@@ -17572,6 +19214,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
windowsOptions:
properties:
gmsaCredentialSpec:
@@ -17593,10 +19236,12 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
command:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
env:
items:
properties:
@@ -17611,6 +19256,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -17649,6 +19295,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -17661,12 +19308,16 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - name
+ x-kubernetes-list-type: map
envFrom:
items:
properties:
configMapRef:
properties:
name:
+ default: ""
type: string
optional:
type: boolean
@@ -17677,6 +19328,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
optional:
type: boolean
@@ -17684,6 +19336,7 @@ spec:
x-kubernetes-map-type: atomic
type: object
type: array
+ x-kubernetes-list-type: atomic
image:
type: string
imagePullPolicy:
@@ -17698,6 +19351,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
httpGet:
properties:
@@ -17715,6 +19369,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -17727,6 +19382,14 @@ spec:
required:
- port
type: object
+ sleep:
+ properties:
+ seconds:
+ format: int64
+ type: integer
+ required:
+ - seconds
+ type: object
tcpSocket:
properties:
host:
@@ -17748,6 +19411,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
httpGet:
properties:
@@ -17765,6 +19429,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -17777,6 +19442,14 @@ spec:
required:
- port
type: object
+ sleep:
+ properties:
+ seconds:
+ format: int64
+ type: integer
+ required:
+ - seconds
+ type: object
tcpSocket:
properties:
host:
@@ -17799,6 +19472,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -17829,6 +19503,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -17905,6 +19580,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -17935,6 +19611,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -17975,6 +19652,19 @@ spec:
format: int32
type: integer
type: object
+ resizePolicy:
+ items:
+ properties:
+ resourceName:
+ type: string
+ restartPolicy:
+ type: string
+ required:
+ - resourceName
+ - restartPolicy
+ type: object
+ type: array
+ x-kubernetes-list-type: atomic
resources:
properties:
claims:
@@ -18006,20 +19696,33 @@ spec:
x-kubernetes-int-or-string: true
type: object
type: object
+ restartPolicy:
+ type: string
securityContext:
properties:
allowPrivilegeEscalation:
type: boolean
+ appArmorProfile:
+ properties:
+ localhostProfile:
+ type: string
+ type:
+ type: string
+ required:
+ - type
+ type: object
capabilities:
properties:
add:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
drop:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
privileged:
type: boolean
@@ -18075,6 +19778,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
failureThreshold:
format: int32
@@ -18105,6 +19809,7 @@ spec:
- value
type: object
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
port:
@@ -18167,6 +19872,9 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - devicePath
+ x-kubernetes-list-type: map
volumeMounts:
items:
properties:
@@ -18178,6 +19886,8 @@ spec:
type: string
readOnly:
type: boolean
+ recursiveReadOnly:
+ type: string
subPath:
type: string
subPathExpr:
@@ -18187,6 +19897,9 @@ spec:
- name
type: object
type: array
+ x-kubernetes-list-map-keys:
+ - mountPath
+ x-kubernetes-list-type: map
workingDir:
type: string
required:
@@ -18211,6 +19924,15 @@ spec:
namespace:
type: string
type: object
+ mutexes:
+ items:
+ properties:
+ name:
+ type: string
+ namespace:
+ type: string
+ type: object
+ type: array
semaphore:
properties:
configMapKeyRef:
@@ -18218,6 +19940,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -18228,6 +19951,26 @@ spec:
namespace:
type: string
type: object
+ semaphores:
+ items:
+ properties:
+ configMapKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ namespace:
+ type: string
+ type: object
+ type: array
type: object
timeout:
type: string
@@ -18300,6 +20043,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
readOnly:
@@ -18309,6 +20053,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
type: object
x-kubernetes-map-type: atomic
@@ -18326,6 +20071,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
type: object
x-kubernetes-map-type: atomic
@@ -18354,7 +20100,9 @@ spec:
- path
type: object
type: array
+ x-kubernetes-list-type: atomic
name:
+ default: ""
type: string
optional:
type: boolean
@@ -18369,6 +20117,7 @@ spec:
nodePublishSecretRef:
properties:
name:
+ default: ""
type: string
type: object
x-kubernetes-map-type: atomic
@@ -18424,6 +20173,7 @@ spec:
- path
type: object
type: array
+ x-kubernetes-list-type: atomic
type: object
emptyDir:
properties:
@@ -18448,6 +20198,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
dataSource:
properties:
apiGroup:
@@ -18477,18 +20228,6 @@ spec:
type: object
resources:
properties:
- claims:
- items:
- properties:
- name:
- type: string
- required:
- - name
- type: object
- type: array
- x-kubernetes-list-map-keys:
- - name
- x-kubernetes-list-type: map
limits:
additionalProperties:
anyOf:
@@ -18519,11 +20258,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
@@ -18532,6 +20273,8 @@ spec:
x-kubernetes-map-type: atomic
storageClassName:
type: string
+ volumeAttributesClassName:
+ type: string
volumeMode:
type: string
volumeName:
@@ -18554,10 +20297,12 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
wwids:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
flexVolume:
properties:
@@ -18574,6 +20319,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
type: object
x-kubernetes-map-type: atomic
@@ -18654,11 +20400,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
readOnly:
type: boolean
secretRef:
properties:
name:
+ default: ""
type: string
type: object
x-kubernetes-map-type: atomic
@@ -18720,6 +20468,45 @@ spec:
sources:
items:
properties:
+ clusterTrustBundle:
+ properties:
+ labelSelector:
+ properties:
+ matchExpressions:
+ items:
+ properties:
+ key:
+ type: string
+ operator:
+ type: string
+ values:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
+ required:
+ - key
+ - operator
+ type: object
+ type: array
+ x-kubernetes-list-type: atomic
+ matchLabels:
+ additionalProperties:
+ type: string
+ type: object
+ type: object
+ x-kubernetes-map-type: atomic
+ name:
+ type: string
+ optional:
+ type: boolean
+ path:
+ type: string
+ signerName:
+ type: string
+ required:
+ - path
+ type: object
configMap:
properties:
items:
@@ -18737,7 +20524,9 @@ spec:
- path
type: object
type: array
+ x-kubernetes-list-type: atomic
name:
+ default: ""
type: string
optional:
type: boolean
@@ -18783,6 +20572,7 @@ spec:
- path
type: object
type: array
+ x-kubernetes-list-type: atomic
type: object
secret:
properties:
@@ -18801,7 +20591,9 @@ spec:
- path
type: object
type: array
+ x-kubernetes-list-type: atomic
name:
+ default: ""
type: string
optional:
type: boolean
@@ -18821,6 +20613,7 @@ spec:
type: object
type: object
type: array
+ x-kubernetes-list-type: atomic
type: object
quobyte:
properties:
@@ -18852,6 +20645,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
pool:
type: string
readOnly:
@@ -18859,6 +20653,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
type: object
x-kubernetes-map-type: atomic
@@ -18881,6 +20676,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
type: object
x-kubernetes-map-type: atomic
@@ -18919,6 +20715,7 @@ spec:
- path
type: object
type: array
+ x-kubernetes-list-type: atomic
optional:
type: boolean
secretName:
@@ -18933,6 +20730,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
type: object
x-kubernetes-map-type: atomic
@@ -19008,6 +20806,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
dataSource:
properties:
apiGroup:
@@ -19037,18 +20836,6 @@ spec:
type: object
resources:
properties:
- claims:
- items:
- properties:
- name:
- type: string
- required:
- - name
- type: object
- type: array
- x-kubernetes-list-map-keys:
- - name
- x-kubernetes-list-type: map
limits:
additionalProperties:
anyOf:
@@ -19079,11 +20866,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
@@ -19092,6 +20881,8 @@ spec:
x-kubernetes-map-type: atomic
storageClassName:
type: string
+ volumeAttributesClassName:
+ type: string
volumeMode:
type: string
volumeName:
@@ -19103,6 +20894,12 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
+ allocatedResourceStatuses:
+ additionalProperties:
+ type: string
+ type: object
+ x-kubernetes-map-type: granular
allocatedResources:
additionalProperties:
anyOf:
@@ -19141,9 +20938,21 @@ spec:
- type
type: object
type: array
- phase:
+ x-kubernetes-list-map-keys:
+ - type
+ x-kubernetes-list-type: map
+ currentVolumeAttributesClassName:
type: string
- resizeStatus:
+ modifyVolumeStatus:
+ properties:
+ status:
+ type: string
+ targetVolumeAttributesClassName:
+ type: string
+ required:
+ - status
+ type: object
+ phase:
type: string
type: object
type: object
@@ -19201,6 +21010,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
path:
type: string
readOnly:
@@ -19210,6 +21020,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
type: object
x-kubernetes-map-type: atomic
@@ -19227,6 +21038,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
type: object
x-kubernetes-map-type: atomic
@@ -19255,7 +21067,9 @@ spec:
- path
type: object
type: array
+ x-kubernetes-list-type: atomic
name:
+ default: ""
type: string
optional:
type: boolean
@@ -19270,6 +21084,7 @@ spec:
nodePublishSecretRef:
properties:
name:
+ default: ""
type: string
type: object
x-kubernetes-map-type: atomic
@@ -19325,6 +21140,7 @@ spec:
- path
type: object
type: array
+ x-kubernetes-list-type: atomic
type: object
emptyDir:
properties:
@@ -19349,6 +21165,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
dataSource:
properties:
apiGroup:
@@ -19378,18 +21195,6 @@ spec:
type: object
resources:
properties:
- claims:
- items:
- properties:
- name:
- type: string
- required:
- - name
- type: object
- type: array
- x-kubernetes-list-map-keys:
- - name
- x-kubernetes-list-type: map
limits:
additionalProperties:
anyOf:
@@ -19420,11 +21225,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
required:
- key
- operator
type: object
type: array
+ x-kubernetes-list-type: atomic
matchLabels:
additionalProperties:
type: string
@@ -19433,6 +21240,8 @@ spec:
x-kubernetes-map-type: atomic
storageClassName:
type: string
+ volumeAttributesClassName:
+ type: string
volumeMode:
type: string
volumeName:
@@ -19455,10 +21264,12 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
wwids:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
type: object
flexVolume:
properties:
@@ -19475,6 +21286,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
type: object
x-kubernetes-map-type: atomic
@@ -19555,11 +21367,13 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
readOnly:
type: boolean
secretRef:
properties:
name:
+ default: ""
type: string
type: object
x-kubernetes-map-type: atomic
@@ -19621,6 +21435,45 @@ spec:
sources:
items:
properties:
+ clusterTrustBundle:
+ properties:
+ labelSelector:
+ properties:
+ matchExpressions:
+ items:
+ properties:
+ key:
+ type: string
+ operator:
+ type: string
+ values:
+ items:
+ type: string
+ type: array
+ x-kubernetes-list-type: atomic
+ required:
+ - key
+ - operator
+ type: object
+ type: array
+ x-kubernetes-list-type: atomic
+ matchLabels:
+ additionalProperties:
+ type: string
+ type: object
+ type: object
+ x-kubernetes-map-type: atomic
+ name:
+ type: string
+ optional:
+ type: boolean
+ path:
+ type: string
+ signerName:
+ type: string
+ required:
+ - path
+ type: object
configMap:
properties:
items:
@@ -19638,7 +21491,9 @@ spec:
- path
type: object
type: array
+ x-kubernetes-list-type: atomic
name:
+ default: ""
type: string
optional:
type: boolean
@@ -19684,6 +21539,7 @@ spec:
- path
type: object
type: array
+ x-kubernetes-list-type: atomic
type: object
secret:
properties:
@@ -19702,7 +21558,9 @@ spec:
- path
type: object
type: array
+ x-kubernetes-list-type: atomic
name:
+ default: ""
type: string
optional:
type: boolean
@@ -19722,6 +21580,7 @@ spec:
type: object
type: object
type: array
+ x-kubernetes-list-type: atomic
type: object
quobyte:
properties:
@@ -19753,6 +21612,7 @@ spec:
items:
type: string
type: array
+ x-kubernetes-list-type: atomic
pool:
type: string
readOnly:
@@ -19760,6 +21620,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
type: object
x-kubernetes-map-type: atomic
@@ -19782,6 +21643,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
type: object
x-kubernetes-map-type: atomic
@@ -19820,6 +21682,7 @@ spec:
- path
type: object
type: array
+ x-kubernetes-list-type: atomic
optional:
type: boolean
secretName:
@@ -19834,6 +21697,7 @@ spec:
secretRef:
properties:
name:
+ default: ""
type: string
type: object
x-kubernetes-map-type: atomic
diff --git a/manifests/base/crds/minimal/README.md b/manifests/base/crds/minimal/README.md
index 55f48f08081f..b7d131b4691e 100644
--- a/manifests/base/crds/minimal/README.md
+++ b/manifests/base/crds/minimal/README.md
@@ -1,3 +1,3 @@
# Minimal CRDs
-These CRDs omit schema validation.
+These CRDs omit large fields as a workaround for [kubernetes/kubernetes#82292](https://github.com/kubernetes/kubernetes/issues/82292).
diff --git a/manifests/base/crds/minimal/argoproj.io_workflowartifactgctasks.yaml b/manifests/base/crds/minimal/argoproj.io_workflowartifactgctasks.yaml
index 35b1e2eab548..f97e9b37fb2a 100644
--- a/manifests/base/crds/minimal/argoproj.io_workflowartifactgctasks.yaml
+++ b/manifests/base/crds/minimal/argoproj.io_workflowartifactgctasks.yaml
@@ -1,3 +1,4 @@
+# This is an auto-generated file. DO NOT EDIT
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
@@ -24,13 +25,1109 @@ spec:
metadata:
type: object
spec:
+ properties:
+ artifactsByNode:
+ additionalProperties:
+ properties:
+ archiveLocation:
+ properties:
+ archiveLogs:
+ type: boolean
+ artifactory:
+ properties:
+ passwordSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ url:
+ type: string
+ usernameSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ required:
+ - url
+ type: object
+ azure:
+ properties:
+ accountKeySecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ blob:
+ type: string
+ container:
+ type: string
+ endpoint:
+ type: string
+ useSDKCreds:
+ type: boolean
+ required:
+ - blob
+ - container
+ - endpoint
+ type: object
+ gcs:
+ properties:
+ bucket:
+ type: string
+ key:
+ type: string
+ serviceAccountKeySecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ required:
+ - key
+ type: object
+ git:
+ properties:
+ branch:
+ type: string
+ depth:
+ format: int64
+ type: integer
+ disableSubmodules:
+ type: boolean
+ fetch:
+ items:
+ type: string
+ type: array
+ insecureIgnoreHostKey:
+ type: boolean
+ insecureSkipTLS:
+ type: boolean
+ passwordSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ repo:
+ type: string
+ revision:
+ type: string
+ singleBranch:
+ type: boolean
+ sshPrivateKeySecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ usernameSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ required:
+ - repo
+ type: object
+ hdfs:
+ properties:
+ addresses:
+ items:
+ type: string
+ type: array
+ dataTransferProtection:
+ type: string
+ force:
+ type: boolean
+ hdfsUser:
+ type: string
+ krbCCacheSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ krbConfigConfigMap:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ krbKeytabSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ krbRealm:
+ type: string
+ krbServicePrincipalName:
+ type: string
+ krbUsername:
+ type: string
+ path:
+ type: string
+ required:
+ - path
+ type: object
+ http:
+ properties:
+ auth:
+ properties:
+ basicAuth:
+ properties:
+ passwordSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ usernameSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ type: object
+ clientCert:
+ properties:
+ clientCertSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ clientKeySecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ type: object
+ oauth2:
+ properties:
+ clientIDSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ clientSecretSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ endpointParams:
+ items:
+ properties:
+ key:
+ type: string
+ value:
+ type: string
+ required:
+ - key
+ type: object
+ type: array
+ scopes:
+ items:
+ type: string
+ type: array
+ tokenURLSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ type: object
+ type: object
+ headers:
+ items:
+ properties:
+ name:
+ type: string
+ value:
+ type: string
+ required:
+ - name
+ - value
+ type: object
+ type: array
+ url:
+ type: string
+ required:
+ - url
+ type: object
+ oss:
+ properties:
+ accessKeySecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ bucket:
+ type: string
+ createBucketIfNotPresent:
+ type: boolean
+ endpoint:
+ type: string
+ key:
+ type: string
+ lifecycleRule:
+ properties:
+ markDeletionAfterDays:
+ format: int32
+ type: integer
+ markInfrequentAccessAfterDays:
+ format: int32
+ type: integer
+ type: object
+ secretKeySecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ securityToken:
+ type: string
+ useSDKCreds:
+ type: boolean
+ required:
+ - key
+ type: object
+ raw:
+ properties:
+ data:
+ type: string
+ required:
+ - data
+ type: object
+ s3:
+ properties:
+ accessKeySecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ bucket:
+ type: string
+ caSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ createBucketIfNotPresent:
+ properties:
+ objectLocking:
+ type: boolean
+ type: object
+ encryptionOptions:
+ properties:
+ enableEncryption:
+ type: boolean
+ kmsEncryptionContext:
+ type: string
+ kmsKeyId:
+ type: string
+ serverSideCustomerKeySecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ type: object
+ endpoint:
+ type: string
+ insecure:
+ type: boolean
+ key:
+ type: string
+ region:
+ type: string
+ roleARN:
+ type: string
+ secretKeySecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ sessionTokenSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ useSDKCreds:
+ type: boolean
+ type: object
+ type: object
+ artifacts:
+ additionalProperties:
+ properties:
+ archive:
+ properties:
+ none:
+ type: object
+ tar:
+ properties:
+ compressionLevel:
+ format: int32
+ type: integer
+ type: object
+ zip:
+ type: object
+ type: object
+ archiveLogs:
+ type: boolean
+ artifactGC:
+ properties:
+ podMetadata:
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ type: object
+ labels:
+ additionalProperties:
+ type: string
+ type: object
+ type: object
+ serviceAccountName:
+ type: string
+ strategy:
+ enum:
+ - ""
+ - OnWorkflowCompletion
+ - OnWorkflowDeletion
+ - Never
+ type: string
+ type: object
+ artifactory:
+ properties:
+ passwordSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ url:
+ type: string
+ usernameSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ required:
+ - url
+ type: object
+ azure:
+ properties:
+ accountKeySecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ blob:
+ type: string
+ container:
+ type: string
+ endpoint:
+ type: string
+ useSDKCreds:
+ type: boolean
+ required:
+ - blob
+ - container
+ - endpoint
+ type: object
+ deleted:
+ type: boolean
+ from:
+ type: string
+ fromExpression:
+ type: string
+ gcs:
+ properties:
+ bucket:
+ type: string
+ key:
+ type: string
+ serviceAccountKeySecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ required:
+ - key
+ type: object
+ git:
+ properties:
+ branch:
+ type: string
+ depth:
+ format: int64
+ type: integer
+ disableSubmodules:
+ type: boolean
+ fetch:
+ items:
+ type: string
+ type: array
+ insecureIgnoreHostKey:
+ type: boolean
+ insecureSkipTLS:
+ type: boolean
+ passwordSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ repo:
+ type: string
+ revision:
+ type: string
+ singleBranch:
+ type: boolean
+ sshPrivateKeySecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ usernameSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ required:
+ - repo
+ type: object
+ globalName:
+ type: string
+ hdfs:
+ properties:
+ addresses:
+ items:
+ type: string
+ type: array
+ dataTransferProtection:
+ type: string
+ force:
+ type: boolean
+ hdfsUser:
+ type: string
+ krbCCacheSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ krbConfigConfigMap:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ krbKeytabSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ krbRealm:
+ type: string
+ krbServicePrincipalName:
+ type: string
+ krbUsername:
+ type: string
+ path:
+ type: string
+ required:
+ - path
+ type: object
+ http:
+ properties:
+ auth:
+ properties:
+ basicAuth:
+ properties:
+ passwordSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ usernameSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ type: object
+ clientCert:
+ properties:
+ clientCertSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ clientKeySecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ type: object
+ oauth2:
+ properties:
+ clientIDSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ clientSecretSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ endpointParams:
+ items:
+ properties:
+ key:
+ type: string
+ value:
+ type: string
+ required:
+ - key
+ type: object
+ type: array
+ scopes:
+ items:
+ type: string
+ type: array
+ tokenURLSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ type: object
+ type: object
+ headers:
+ items:
+ properties:
+ name:
+ type: string
+ value:
+ type: string
+ required:
+ - name
+ - value
+ type: object
+ type: array
+ url:
+ type: string
+ required:
+ - url
+ type: object
+ mode:
+ format: int32
+ type: integer
+ name:
+ type: string
+ optional:
+ type: boolean
+ oss:
+ properties:
+ accessKeySecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ bucket:
+ type: string
+ createBucketIfNotPresent:
+ type: boolean
+ endpoint:
+ type: string
+ key:
+ type: string
+ lifecycleRule:
+ properties:
+ markDeletionAfterDays:
+ format: int32
+ type: integer
+ markInfrequentAccessAfterDays:
+ format: int32
+ type: integer
+ type: object
+ secretKeySecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ securityToken:
+ type: string
+ useSDKCreds:
+ type: boolean
+ required:
+ - key
+ type: object
+ path:
+ type: string
+ raw:
+ properties:
+ data:
+ type: string
+ required:
+ - data
+ type: object
+ recurseMode:
+ type: boolean
+ s3:
+ properties:
+ accessKeySecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ bucket:
+ type: string
+ caSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ createBucketIfNotPresent:
+ properties:
+ objectLocking:
+ type: boolean
+ type: object
+ encryptionOptions:
+ properties:
+ enableEncryption:
+ type: boolean
+ kmsEncryptionContext:
+ type: string
+ kmsKeyId:
+ type: string
+ serverSideCustomerKeySecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ type: object
+ endpoint:
+ type: string
+ insecure:
+ type: boolean
+ key:
+ type: string
+ region:
+ type: string
+ roleARN:
+ type: string
+ secretKeySecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ sessionTokenSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ useSDKCreds:
+ type: boolean
+ type: object
+ subPath:
+ type: string
+ required:
+ - name
+ type: object
+ type: object
+ type: object
+ type: object
type: object
- x-kubernetes-map-type: atomic
- x-kubernetes-preserve-unknown-fields: true
status:
+ properties:
+ artifactResultsByNode:
+ additionalProperties:
+ properties:
+ artifactResults:
+ additionalProperties:
+ properties:
+ error:
+ type: string
+ name:
+ type: string
+ success:
+ type: boolean
+ required:
+ - name
+ type: object
+ type: object
+ type: object
+ type: object
type: object
- x-kubernetes-map-type: atomic
- x-kubernetes-preserve-unknown-fields: true
required:
- metadata
- spec
diff --git a/manifests/base/crds/minimal/argoproj.io_workfloweventbindings.yaml b/manifests/base/crds/minimal/argoproj.io_workfloweventbindings.yaml
index 22e2ecf0f6b4..4c483822f853 100644
--- a/manifests/base/crds/minimal/argoproj.io_workfloweventbindings.yaml
+++ b/manifests/base/crds/minimal/argoproj.io_workfloweventbindings.yaml
@@ -1,3 +1,4 @@
+# This is an auto-generated file. DO NOT EDIT
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
@@ -24,9 +25,655 @@ spec:
metadata:
type: object
spec:
+ properties:
+ event:
+ properties:
+ selector:
+ type: string
+ required:
+ - selector
+ type: object
+ submit:
+ properties:
+ arguments:
+ properties:
+ artifacts:
+ items:
+ properties:
+ archive:
+ properties:
+ none:
+ type: object
+ tar:
+ properties:
+ compressionLevel:
+ format: int32
+ type: integer
+ type: object
+ zip:
+ type: object
+ type: object
+ archiveLogs:
+ type: boolean
+ artifactGC:
+ properties:
+ podMetadata:
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ type: object
+ labels:
+ additionalProperties:
+ type: string
+ type: object
+ type: object
+ serviceAccountName:
+ type: string
+ strategy:
+ enum:
+ - ""
+ - OnWorkflowCompletion
+ - OnWorkflowDeletion
+ - Never
+ type: string
+ type: object
+ artifactory:
+ properties:
+ passwordSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ url:
+ type: string
+ usernameSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ required:
+ - url
+ type: object
+ azure:
+ properties:
+ accountKeySecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ blob:
+ type: string
+ container:
+ type: string
+ endpoint:
+ type: string
+ useSDKCreds:
+ type: boolean
+ required:
+ - blob
+ - container
+ - endpoint
+ type: object
+ deleted:
+ type: boolean
+ from:
+ type: string
+ fromExpression:
+ type: string
+ gcs:
+ properties:
+ bucket:
+ type: string
+ key:
+ type: string
+ serviceAccountKeySecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ required:
+ - key
+ type: object
+ git:
+ properties:
+ branch:
+ type: string
+ depth:
+ format: int64
+ type: integer
+ disableSubmodules:
+ type: boolean
+ fetch:
+ items:
+ type: string
+ type: array
+ insecureIgnoreHostKey:
+ type: boolean
+ insecureSkipTLS:
+ type: boolean
+ passwordSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ repo:
+ type: string
+ revision:
+ type: string
+ singleBranch:
+ type: boolean
+ sshPrivateKeySecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ usernameSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ required:
+ - repo
+ type: object
+ globalName:
+ type: string
+ hdfs:
+ properties:
+ addresses:
+ items:
+ type: string
+ type: array
+ dataTransferProtection:
+ type: string
+ force:
+ type: boolean
+ hdfsUser:
+ type: string
+ krbCCacheSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ krbConfigConfigMap:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ krbKeytabSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ krbRealm:
+ type: string
+ krbServicePrincipalName:
+ type: string
+ krbUsername:
+ type: string
+ path:
+ type: string
+ required:
+ - path
+ type: object
+ http:
+ properties:
+ auth:
+ properties:
+ basicAuth:
+ properties:
+ passwordSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ usernameSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ type: object
+ clientCert:
+ properties:
+ clientCertSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ clientKeySecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ type: object
+ oauth2:
+ properties:
+ clientIDSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ clientSecretSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ endpointParams:
+ items:
+ properties:
+ key:
+ type: string
+ value:
+ type: string
+ required:
+ - key
+ type: object
+ type: array
+ scopes:
+ items:
+ type: string
+ type: array
+ tokenURLSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ type: object
+ type: object
+ headers:
+ items:
+ properties:
+ name:
+ type: string
+ value:
+ type: string
+ required:
+ - name
+ - value
+ type: object
+ type: array
+ url:
+ type: string
+ required:
+ - url
+ type: object
+ mode:
+ format: int32
+ type: integer
+ name:
+ type: string
+ optional:
+ type: boolean
+ oss:
+ properties:
+ accessKeySecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ bucket:
+ type: string
+ createBucketIfNotPresent:
+ type: boolean
+ endpoint:
+ type: string
+ key:
+ type: string
+ lifecycleRule:
+ properties:
+ markDeletionAfterDays:
+ format: int32
+ type: integer
+ markInfrequentAccessAfterDays:
+ format: int32
+ type: integer
+ type: object
+ secretKeySecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ securityToken:
+ type: string
+ useSDKCreds:
+ type: boolean
+ required:
+ - key
+ type: object
+ path:
+ type: string
+ raw:
+ properties:
+ data:
+ type: string
+ required:
+ - data
+ type: object
+ recurseMode:
+ type: boolean
+ s3:
+ properties:
+ accessKeySecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ bucket:
+ type: string
+ caSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ createBucketIfNotPresent:
+ properties:
+ objectLocking:
+ type: boolean
+ type: object
+ encryptionOptions:
+ properties:
+ enableEncryption:
+ type: boolean
+ kmsEncryptionContext:
+ type: string
+ kmsKeyId:
+ type: string
+ serverSideCustomerKeySecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ type: object
+ endpoint:
+ type: string
+ insecure:
+ type: boolean
+ key:
+ type: string
+ region:
+ type: string
+ roleARN:
+ type: string
+ secretKeySecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ sessionTokenSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ useSDKCreds:
+ type: boolean
+ type: object
+ subPath:
+ type: string
+ required:
+ - name
+ type: object
+ type: array
+ parameters:
+ items:
+ properties:
+ default:
+ type: string
+ description:
+ type: string
+ enum:
+ items:
+ type: string
+ type: array
+ globalName:
+ type: string
+ name:
+ type: string
+ value:
+ type: string
+ valueFrom:
+ properties:
+ configMapKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ default:
+ type: string
+ event:
+ type: string
+ expression:
+ type: string
+ jqFilter:
+ type: string
+ jsonPath:
+ type: string
+ parameter:
+ type: string
+ path:
+ type: string
+ supplied:
+ type: object
+ type: object
+ required:
+ - name
+ type: object
+ type: array
+ type: object
+ metadata:
+ type: object
+ workflowTemplateRef:
+ properties:
+ clusterScope:
+ type: boolean
+ name:
+ type: string
+ type: object
+ required:
+ - workflowTemplateRef
+ type: object
+ required:
+ - event
type: object
- x-kubernetes-map-type: atomic
- x-kubernetes-preserve-unknown-fields: true
required:
- metadata
- spec
diff --git a/manifests/base/crds/minimal/argoproj.io_workflowtaskresults.yaml b/manifests/base/crds/minimal/argoproj.io_workflowtaskresults.yaml
index 4c6a3463ed8e..ebcdcb835fea 100644
--- a/manifests/base/crds/minimal/argoproj.io_workflowtaskresults.yaml
+++ b/manifests/base/crds/minimal/argoproj.io_workflowtaskresults.yaml
@@ -1,3 +1,4 @@
+# This is an auto-generated file. DO NOT EDIT
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
@@ -73,6 +74,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -87,6 +89,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -104,6 +107,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -141,6 +145,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -166,11 +171,14 @@ spec:
type: array
insecureIgnoreHostKey:
type: boolean
+ insecureSkipTLS:
+ type: boolean
passwordSecret:
properties:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -189,6 +197,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -201,6 +210,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -230,6 +240,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -242,6 +253,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -254,6 +266,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -283,6 +296,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -295,6 +309,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -310,6 +325,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -322,6 +338,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -337,6 +354,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -349,6 +367,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -376,6 +395,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -416,6 +436,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -445,6 +466,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -477,6 +499,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -491,6 +514,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -516,6 +540,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -539,6 +564,20 @@ spec:
key:
type: string
name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ sessionTokenSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
type: string
optional:
type: boolean
@@ -581,6 +620,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
diff --git a/manifests/namespace-install/workflow-controller-rbac/workflow-controller-rolebinding.yaml b/manifests/namespace-install/workflow-controller-rbac/workflow-controller-rolebinding.yaml
index f8ac7ec0d606..720de37c553c 100644
--- a/manifests/namespace-install/workflow-controller-rbac/workflow-controller-rolebinding.yaml
+++ b/manifests/namespace-install/workflow-controller-rbac/workflow-controller-rolebinding.yaml
@@ -7,6 +7,6 @@ roleRef:
kind: Role
name: argo-role
subjects:
-- kind: ServiceAccount
- name: argo
+ - kind: ServiceAccount
+ name: argo
diff --git a/manifests/quick-start-minimal.yaml b/manifests/quick-start-minimal.yaml
index 517c723ed44b..78ad3e0e6f80 100644
--- a/manifests/quick-start-minimal.yaml
+++ b/manifests/quick-start-minimal.yaml
@@ -103,13 +103,1109 @@ spec:
metadata:
type: object
spec:
+ properties:
+ artifactsByNode:
+ additionalProperties:
+ properties:
+ archiveLocation:
+ properties:
+ archiveLogs:
+ type: boolean
+ artifactory:
+ properties:
+ passwordSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ url:
+ type: string
+ usernameSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ required:
+ - url
+ type: object
+ azure:
+ properties:
+ accountKeySecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ blob:
+ type: string
+ container:
+ type: string
+ endpoint:
+ type: string
+ useSDKCreds:
+ type: boolean
+ required:
+ - blob
+ - container
+ - endpoint
+ type: object
+ gcs:
+ properties:
+ bucket:
+ type: string
+ key:
+ type: string
+ serviceAccountKeySecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ required:
+ - key
+ type: object
+ git:
+ properties:
+ branch:
+ type: string
+ depth:
+ format: int64
+ type: integer
+ disableSubmodules:
+ type: boolean
+ fetch:
+ items:
+ type: string
+ type: array
+ insecureIgnoreHostKey:
+ type: boolean
+ insecureSkipTLS:
+ type: boolean
+ passwordSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ repo:
+ type: string
+ revision:
+ type: string
+ singleBranch:
+ type: boolean
+ sshPrivateKeySecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ usernameSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ required:
+ - repo
+ type: object
+ hdfs:
+ properties:
+ addresses:
+ items:
+ type: string
+ type: array
+ dataTransferProtection:
+ type: string
+ force:
+ type: boolean
+ hdfsUser:
+ type: string
+ krbCCacheSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ krbConfigConfigMap:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ krbKeytabSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ krbRealm:
+ type: string
+ krbServicePrincipalName:
+ type: string
+ krbUsername:
+ type: string
+ path:
+ type: string
+ required:
+ - path
+ type: object
+ http:
+ properties:
+ auth:
+ properties:
+ basicAuth:
+ properties:
+ passwordSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ usernameSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ type: object
+ clientCert:
+ properties:
+ clientCertSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ clientKeySecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ type: object
+ oauth2:
+ properties:
+ clientIDSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ clientSecretSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ endpointParams:
+ items:
+ properties:
+ key:
+ type: string
+ value:
+ type: string
+ required:
+ - key
+ type: object
+ type: array
+ scopes:
+ items:
+ type: string
+ type: array
+ tokenURLSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ type: object
+ type: object
+ headers:
+ items:
+ properties:
+ name:
+ type: string
+ value:
+ type: string
+ required:
+ - name
+ - value
+ type: object
+ type: array
+ url:
+ type: string
+ required:
+ - url
+ type: object
+ oss:
+ properties:
+ accessKeySecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ bucket:
+ type: string
+ createBucketIfNotPresent:
+ type: boolean
+ endpoint:
+ type: string
+ key:
+ type: string
+ lifecycleRule:
+ properties:
+ markDeletionAfterDays:
+ format: int32
+ type: integer
+ markInfrequentAccessAfterDays:
+ format: int32
+ type: integer
+ type: object
+ secretKeySecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ securityToken:
+ type: string
+ useSDKCreds:
+ type: boolean
+ required:
+ - key
+ type: object
+ raw:
+ properties:
+ data:
+ type: string
+ required:
+ - data
+ type: object
+ s3:
+ properties:
+ accessKeySecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ bucket:
+ type: string
+ caSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ createBucketIfNotPresent:
+ properties:
+ objectLocking:
+ type: boolean
+ type: object
+ encryptionOptions:
+ properties:
+ enableEncryption:
+ type: boolean
+ kmsEncryptionContext:
+ type: string
+ kmsKeyId:
+ type: string
+ serverSideCustomerKeySecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ type: object
+ endpoint:
+ type: string
+ insecure:
+ type: boolean
+ key:
+ type: string
+ region:
+ type: string
+ roleARN:
+ type: string
+ secretKeySecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ sessionTokenSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ useSDKCreds:
+ type: boolean
+ type: object
+ type: object
+ artifacts:
+ additionalProperties:
+ properties:
+ archive:
+ properties:
+ none:
+ type: object
+ tar:
+ properties:
+ compressionLevel:
+ format: int32
+ type: integer
+ type: object
+ zip:
+ type: object
+ type: object
+ archiveLogs:
+ type: boolean
+ artifactGC:
+ properties:
+ podMetadata:
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ type: object
+ labels:
+ additionalProperties:
+ type: string
+ type: object
+ type: object
+ serviceAccountName:
+ type: string
+ strategy:
+ enum:
+ - ""
+ - OnWorkflowCompletion
+ - OnWorkflowDeletion
+ - Never
+ type: string
+ type: object
+ artifactory:
+ properties:
+ passwordSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ url:
+ type: string
+ usernameSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ required:
+ - url
+ type: object
+ azure:
+ properties:
+ accountKeySecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ blob:
+ type: string
+ container:
+ type: string
+ endpoint:
+ type: string
+ useSDKCreds:
+ type: boolean
+ required:
+ - blob
+ - container
+ - endpoint
+ type: object
+ deleted:
+ type: boolean
+ from:
+ type: string
+ fromExpression:
+ type: string
+ gcs:
+ properties:
+ bucket:
+ type: string
+ key:
+ type: string
+ serviceAccountKeySecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ required:
+ - key
+ type: object
+ git:
+ properties:
+ branch:
+ type: string
+ depth:
+ format: int64
+ type: integer
+ disableSubmodules:
+ type: boolean
+ fetch:
+ items:
+ type: string
+ type: array
+ insecureIgnoreHostKey:
+ type: boolean
+ insecureSkipTLS:
+ type: boolean
+ passwordSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ repo:
+ type: string
+ revision:
+ type: string
+ singleBranch:
+ type: boolean
+ sshPrivateKeySecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ usernameSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ required:
+ - repo
+ type: object
+ globalName:
+ type: string
+ hdfs:
+ properties:
+ addresses:
+ items:
+ type: string
+ type: array
+ dataTransferProtection:
+ type: string
+ force:
+ type: boolean
+ hdfsUser:
+ type: string
+ krbCCacheSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ krbConfigConfigMap:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ krbKeytabSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ krbRealm:
+ type: string
+ krbServicePrincipalName:
+ type: string
+ krbUsername:
+ type: string
+ path:
+ type: string
+ required:
+ - path
+ type: object
+ http:
+ properties:
+ auth:
+ properties:
+ basicAuth:
+ properties:
+ passwordSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ usernameSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ type: object
+ clientCert:
+ properties:
+ clientCertSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ clientKeySecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ type: object
+ oauth2:
+ properties:
+ clientIDSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ clientSecretSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ endpointParams:
+ items:
+ properties:
+ key:
+ type: string
+ value:
+ type: string
+ required:
+ - key
+ type: object
+ type: array
+ scopes:
+ items:
+ type: string
+ type: array
+ tokenURLSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ type: object
+ type: object
+ headers:
+ items:
+ properties:
+ name:
+ type: string
+ value:
+ type: string
+ required:
+ - name
+ - value
+ type: object
+ type: array
+ url:
+ type: string
+ required:
+ - url
+ type: object
+ mode:
+ format: int32
+ type: integer
+ name:
+ type: string
+ optional:
+ type: boolean
+ oss:
+ properties:
+ accessKeySecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ bucket:
+ type: string
+ createBucketIfNotPresent:
+ type: boolean
+ endpoint:
+ type: string
+ key:
+ type: string
+ lifecycleRule:
+ properties:
+ markDeletionAfterDays:
+ format: int32
+ type: integer
+ markInfrequentAccessAfterDays:
+ format: int32
+ type: integer
+ type: object
+ secretKeySecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ securityToken:
+ type: string
+ useSDKCreds:
+ type: boolean
+ required:
+ - key
+ type: object
+ path:
+ type: string
+ raw:
+ properties:
+ data:
+ type: string
+ required:
+ - data
+ type: object
+ recurseMode:
+ type: boolean
+ s3:
+ properties:
+ accessKeySecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ bucket:
+ type: string
+ caSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ createBucketIfNotPresent:
+ properties:
+ objectLocking:
+ type: boolean
+ type: object
+ encryptionOptions:
+ properties:
+ enableEncryption:
+ type: boolean
+ kmsEncryptionContext:
+ type: string
+ kmsKeyId:
+ type: string
+ serverSideCustomerKeySecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ type: object
+ endpoint:
+ type: string
+ insecure:
+ type: boolean
+ key:
+ type: string
+ region:
+ type: string
+ roleARN:
+ type: string
+ secretKeySecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ sessionTokenSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ useSDKCreds:
+ type: boolean
+ type: object
+ subPath:
+ type: string
+ required:
+ - name
+ type: object
+ type: object
+ type: object
+ type: object
type: object
- x-kubernetes-map-type: atomic
- x-kubernetes-preserve-unknown-fields: true
status:
+ properties:
+ artifactResultsByNode:
+ additionalProperties:
+ properties:
+ artifactResults:
+ additionalProperties:
+ properties:
+ error:
+ type: string
+ name:
+ type: string
+ success:
+ type: boolean
+ required:
+ - name
+ type: object
+ type: object
+ type: object
+ type: object
type: object
- x-kubernetes-map-type: atomic
- x-kubernetes-preserve-unknown-fields: true
required:
- metadata
- spec
@@ -145,9 +1241,655 @@ spec:
metadata:
type: object
spec:
+ properties:
+ event:
+ properties:
+ selector:
+ type: string
+ required:
+ - selector
+ type: object
+ submit:
+ properties:
+ arguments:
+ properties:
+ artifacts:
+ items:
+ properties:
+ archive:
+ properties:
+ none:
+ type: object
+ tar:
+ properties:
+ compressionLevel:
+ format: int32
+ type: integer
+ type: object
+ zip:
+ type: object
+ type: object
+ archiveLogs:
+ type: boolean
+ artifactGC:
+ properties:
+ podMetadata:
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ type: object
+ labels:
+ additionalProperties:
+ type: string
+ type: object
+ type: object
+ serviceAccountName:
+ type: string
+ strategy:
+ enum:
+ - ""
+ - OnWorkflowCompletion
+ - OnWorkflowDeletion
+ - Never
+ type: string
+ type: object
+ artifactory:
+ properties:
+ passwordSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ url:
+ type: string
+ usernameSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ required:
+ - url
+ type: object
+ azure:
+ properties:
+ accountKeySecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ blob:
+ type: string
+ container:
+ type: string
+ endpoint:
+ type: string
+ useSDKCreds:
+ type: boolean
+ required:
+ - blob
+ - container
+ - endpoint
+ type: object
+ deleted:
+ type: boolean
+ from:
+ type: string
+ fromExpression:
+ type: string
+ gcs:
+ properties:
+ bucket:
+ type: string
+ key:
+ type: string
+ serviceAccountKeySecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ required:
+ - key
+ type: object
+ git:
+ properties:
+ branch:
+ type: string
+ depth:
+ format: int64
+ type: integer
+ disableSubmodules:
+ type: boolean
+ fetch:
+ items:
+ type: string
+ type: array
+ insecureIgnoreHostKey:
+ type: boolean
+ insecureSkipTLS:
+ type: boolean
+ passwordSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ repo:
+ type: string
+ revision:
+ type: string
+ singleBranch:
+ type: boolean
+ sshPrivateKeySecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ usernameSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ required:
+ - repo
+ type: object
+ globalName:
+ type: string
+ hdfs:
+ properties:
+ addresses:
+ items:
+ type: string
+ type: array
+ dataTransferProtection:
+ type: string
+ force:
+ type: boolean
+ hdfsUser:
+ type: string
+ krbCCacheSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ krbConfigConfigMap:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ krbKeytabSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ krbRealm:
+ type: string
+ krbServicePrincipalName:
+ type: string
+ krbUsername:
+ type: string
+ path:
+ type: string
+ required:
+ - path
+ type: object
+ http:
+ properties:
+ auth:
+ properties:
+ basicAuth:
+ properties:
+ passwordSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ usernameSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ type: object
+ clientCert:
+ properties:
+ clientCertSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ clientKeySecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ type: object
+ oauth2:
+ properties:
+ clientIDSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ clientSecretSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ endpointParams:
+ items:
+ properties:
+ key:
+ type: string
+ value:
+ type: string
+ required:
+ - key
+ type: object
+ type: array
+ scopes:
+ items:
+ type: string
+ type: array
+ tokenURLSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ type: object
+ type: object
+ headers:
+ items:
+ properties:
+ name:
+ type: string
+ value:
+ type: string
+ required:
+ - name
+ - value
+ type: object
+ type: array
+ url:
+ type: string
+ required:
+ - url
+ type: object
+ mode:
+ format: int32
+ type: integer
+ name:
+ type: string
+ optional:
+ type: boolean
+ oss:
+ properties:
+ accessKeySecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ bucket:
+ type: string
+ createBucketIfNotPresent:
+ type: boolean
+ endpoint:
+ type: string
+ key:
+ type: string
+ lifecycleRule:
+ properties:
+ markDeletionAfterDays:
+ format: int32
+ type: integer
+ markInfrequentAccessAfterDays:
+ format: int32
+ type: integer
+ type: object
+ secretKeySecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ securityToken:
+ type: string
+ useSDKCreds:
+ type: boolean
+ required:
+ - key
+ type: object
+ path:
+ type: string
+ raw:
+ properties:
+ data:
+ type: string
+ required:
+ - data
+ type: object
+ recurseMode:
+ type: boolean
+ s3:
+ properties:
+ accessKeySecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ bucket:
+ type: string
+ caSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ createBucketIfNotPresent:
+ properties:
+ objectLocking:
+ type: boolean
+ type: object
+ encryptionOptions:
+ properties:
+ enableEncryption:
+ type: boolean
+ kmsEncryptionContext:
+ type: string
+ kmsKeyId:
+ type: string
+ serverSideCustomerKeySecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ type: object
+ endpoint:
+ type: string
+ insecure:
+ type: boolean
+ key:
+ type: string
+ region:
+ type: string
+ roleARN:
+ type: string
+ secretKeySecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ sessionTokenSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ useSDKCreds:
+ type: boolean
+ type: object
+ subPath:
+ type: string
+ required:
+ - name
+ type: object
+ type: array
+ parameters:
+ items:
+ properties:
+ default:
+ type: string
+ description:
+ type: string
+ enum:
+ items:
+ type: string
+ type: array
+ globalName:
+ type: string
+ name:
+ type: string
+ value:
+ type: string
+ valueFrom:
+ properties:
+ configMapKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ default:
+ type: string
+ event:
+ type: string
+ expression:
+ type: string
+ jqFilter:
+ type: string
+ jsonPath:
+ type: string
+ parameter:
+ type: string
+ path:
+ type: string
+ supplied:
+ type: object
+ type: object
+ required:
+ - name
+ type: object
+ type: array
+ type: object
+ metadata:
+ type: object
+ workflowTemplateRef:
+ properties:
+ clusterScope:
+ type: boolean
+ name:
+ type: string
+ type: object
+ required:
+ - workflowTemplateRef
+ type: object
+ required:
+ - event
type: object
- x-kubernetes-map-type: atomic
- x-kubernetes-preserve-unknown-fields: true
required:
- metadata
- spec
@@ -286,6 +2028,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -300,6 +2043,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -317,6 +2061,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -354,6 +2099,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -379,11 +2125,14 @@ spec:
type: array
insecureIgnoreHostKey:
type: boolean
+ insecureSkipTLS:
+ type: boolean
passwordSecret:
properties:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -402,6 +2151,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -414,6 +2164,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -443,6 +2194,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -455,6 +2207,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -467,6 +2220,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -496,6 +2250,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -508,6 +2263,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -523,6 +2279,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -535,6 +2292,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -550,6 +2308,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -562,6 +2321,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -589,6 +2349,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -629,6 +2390,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -658,6 +2420,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -690,6 +2453,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -704,6 +2468,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -729,6 +2494,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -752,6 +2518,20 @@ spec:
key:
type: string
name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ sessionTokenSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
type: string
optional:
type: boolean
@@ -794,6 +2574,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
diff --git a/manifests/quick-start-mysql.yaml b/manifests/quick-start-mysql.yaml
index d9932dec089c..9cb62fe1bd6a 100644
--- a/manifests/quick-start-mysql.yaml
+++ b/manifests/quick-start-mysql.yaml
@@ -103,13 +103,1109 @@ spec:
metadata:
type: object
spec:
+ properties:
+ artifactsByNode:
+ additionalProperties:
+ properties:
+ archiveLocation:
+ properties:
+ archiveLogs:
+ type: boolean
+ artifactory:
+ properties:
+ passwordSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ url:
+ type: string
+ usernameSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ required:
+ - url
+ type: object
+ azure:
+ properties:
+ accountKeySecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ blob:
+ type: string
+ container:
+ type: string
+ endpoint:
+ type: string
+ useSDKCreds:
+ type: boolean
+ required:
+ - blob
+ - container
+ - endpoint
+ type: object
+ gcs:
+ properties:
+ bucket:
+ type: string
+ key:
+ type: string
+ serviceAccountKeySecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ required:
+ - key
+ type: object
+ git:
+ properties:
+ branch:
+ type: string
+ depth:
+ format: int64
+ type: integer
+ disableSubmodules:
+ type: boolean
+ fetch:
+ items:
+ type: string
+ type: array
+ insecureIgnoreHostKey:
+ type: boolean
+ insecureSkipTLS:
+ type: boolean
+ passwordSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ repo:
+ type: string
+ revision:
+ type: string
+ singleBranch:
+ type: boolean
+ sshPrivateKeySecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ usernameSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ required:
+ - repo
+ type: object
+ hdfs:
+ properties:
+ addresses:
+ items:
+ type: string
+ type: array
+ dataTransferProtection:
+ type: string
+ force:
+ type: boolean
+ hdfsUser:
+ type: string
+ krbCCacheSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ krbConfigConfigMap:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ krbKeytabSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ krbRealm:
+ type: string
+ krbServicePrincipalName:
+ type: string
+ krbUsername:
+ type: string
+ path:
+ type: string
+ required:
+ - path
+ type: object
+ http:
+ properties:
+ auth:
+ properties:
+ basicAuth:
+ properties:
+ passwordSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ usernameSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ type: object
+ clientCert:
+ properties:
+ clientCertSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ clientKeySecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ type: object
+ oauth2:
+ properties:
+ clientIDSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ clientSecretSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ endpointParams:
+ items:
+ properties:
+ key:
+ type: string
+ value:
+ type: string
+ required:
+ - key
+ type: object
+ type: array
+ scopes:
+ items:
+ type: string
+ type: array
+ tokenURLSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ type: object
+ type: object
+ headers:
+ items:
+ properties:
+ name:
+ type: string
+ value:
+ type: string
+ required:
+ - name
+ - value
+ type: object
+ type: array
+ url:
+ type: string
+ required:
+ - url
+ type: object
+ oss:
+ properties:
+ accessKeySecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ bucket:
+ type: string
+ createBucketIfNotPresent:
+ type: boolean
+ endpoint:
+ type: string
+ key:
+ type: string
+ lifecycleRule:
+ properties:
+ markDeletionAfterDays:
+ format: int32
+ type: integer
+ markInfrequentAccessAfterDays:
+ format: int32
+ type: integer
+ type: object
+ secretKeySecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ securityToken:
+ type: string
+ useSDKCreds:
+ type: boolean
+ required:
+ - key
+ type: object
+ raw:
+ properties:
+ data:
+ type: string
+ required:
+ - data
+ type: object
+ s3:
+ properties:
+ accessKeySecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ bucket:
+ type: string
+ caSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ createBucketIfNotPresent:
+ properties:
+ objectLocking:
+ type: boolean
+ type: object
+ encryptionOptions:
+ properties:
+ enableEncryption:
+ type: boolean
+ kmsEncryptionContext:
+ type: string
+ kmsKeyId:
+ type: string
+ serverSideCustomerKeySecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ type: object
+ endpoint:
+ type: string
+ insecure:
+ type: boolean
+ key:
+ type: string
+ region:
+ type: string
+ roleARN:
+ type: string
+ secretKeySecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ sessionTokenSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ useSDKCreds:
+ type: boolean
+ type: object
+ type: object
+ artifacts:
+ additionalProperties:
+ properties:
+ archive:
+ properties:
+ none:
+ type: object
+ tar:
+ properties:
+ compressionLevel:
+ format: int32
+ type: integer
+ type: object
+ zip:
+ type: object
+ type: object
+ archiveLogs:
+ type: boolean
+ artifactGC:
+ properties:
+ podMetadata:
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ type: object
+ labels:
+ additionalProperties:
+ type: string
+ type: object
+ type: object
+ serviceAccountName:
+ type: string
+ strategy:
+ enum:
+ - ""
+ - OnWorkflowCompletion
+ - OnWorkflowDeletion
+ - Never
+ type: string
+ type: object
+ artifactory:
+ properties:
+ passwordSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ url:
+ type: string
+ usernameSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ required:
+ - url
+ type: object
+ azure:
+ properties:
+ accountKeySecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ blob:
+ type: string
+ container:
+ type: string
+ endpoint:
+ type: string
+ useSDKCreds:
+ type: boolean
+ required:
+ - blob
+ - container
+ - endpoint
+ type: object
+ deleted:
+ type: boolean
+ from:
+ type: string
+ fromExpression:
+ type: string
+ gcs:
+ properties:
+ bucket:
+ type: string
+ key:
+ type: string
+ serviceAccountKeySecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ required:
+ - key
+ type: object
+ git:
+ properties:
+ branch:
+ type: string
+ depth:
+ format: int64
+ type: integer
+ disableSubmodules:
+ type: boolean
+ fetch:
+ items:
+ type: string
+ type: array
+ insecureIgnoreHostKey:
+ type: boolean
+ insecureSkipTLS:
+ type: boolean
+ passwordSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ repo:
+ type: string
+ revision:
+ type: string
+ singleBranch:
+ type: boolean
+ sshPrivateKeySecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ usernameSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ required:
+ - repo
+ type: object
+ globalName:
+ type: string
+ hdfs:
+ properties:
+ addresses:
+ items:
+ type: string
+ type: array
+ dataTransferProtection:
+ type: string
+ force:
+ type: boolean
+ hdfsUser:
+ type: string
+ krbCCacheSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ krbConfigConfigMap:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ krbKeytabSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ krbRealm:
+ type: string
+ krbServicePrincipalName:
+ type: string
+ krbUsername:
+ type: string
+ path:
+ type: string
+ required:
+ - path
+ type: object
+ http:
+ properties:
+ auth:
+ properties:
+ basicAuth:
+ properties:
+ passwordSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ usernameSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ type: object
+ clientCert:
+ properties:
+ clientCertSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ clientKeySecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ type: object
+ oauth2:
+ properties:
+ clientIDSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ clientSecretSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ endpointParams:
+ items:
+ properties:
+ key:
+ type: string
+ value:
+ type: string
+ required:
+ - key
+ type: object
+ type: array
+ scopes:
+ items:
+ type: string
+ type: array
+ tokenURLSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ type: object
+ type: object
+ headers:
+ items:
+ properties:
+ name:
+ type: string
+ value:
+ type: string
+ required:
+ - name
+ - value
+ type: object
+ type: array
+ url:
+ type: string
+ required:
+ - url
+ type: object
+ mode:
+ format: int32
+ type: integer
+ name:
+ type: string
+ optional:
+ type: boolean
+ oss:
+ properties:
+ accessKeySecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ bucket:
+ type: string
+ createBucketIfNotPresent:
+ type: boolean
+ endpoint:
+ type: string
+ key:
+ type: string
+ lifecycleRule:
+ properties:
+ markDeletionAfterDays:
+ format: int32
+ type: integer
+ markInfrequentAccessAfterDays:
+ format: int32
+ type: integer
+ type: object
+ secretKeySecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ securityToken:
+ type: string
+ useSDKCreds:
+ type: boolean
+ required:
+ - key
+ type: object
+ path:
+ type: string
+ raw:
+ properties:
+ data:
+ type: string
+ required:
+ - data
+ type: object
+ recurseMode:
+ type: boolean
+ s3:
+ properties:
+ accessKeySecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ bucket:
+ type: string
+ caSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ createBucketIfNotPresent:
+ properties:
+ objectLocking:
+ type: boolean
+ type: object
+ encryptionOptions:
+ properties:
+ enableEncryption:
+ type: boolean
+ kmsEncryptionContext:
+ type: string
+ kmsKeyId:
+ type: string
+ serverSideCustomerKeySecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ type: object
+ endpoint:
+ type: string
+ insecure:
+ type: boolean
+ key:
+ type: string
+ region:
+ type: string
+ roleARN:
+ type: string
+ secretKeySecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ sessionTokenSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ useSDKCreds:
+ type: boolean
+ type: object
+ subPath:
+ type: string
+ required:
+ - name
+ type: object
+ type: object
+ type: object
+ type: object
type: object
- x-kubernetes-map-type: atomic
- x-kubernetes-preserve-unknown-fields: true
status:
+ properties:
+ artifactResultsByNode:
+ additionalProperties:
+ properties:
+ artifactResults:
+ additionalProperties:
+ properties:
+ error:
+ type: string
+ name:
+ type: string
+ success:
+ type: boolean
+ required:
+ - name
+ type: object
+ type: object
+ type: object
+ type: object
type: object
- x-kubernetes-map-type: atomic
- x-kubernetes-preserve-unknown-fields: true
required:
- metadata
- spec
@@ -145,9 +1241,655 @@ spec:
metadata:
type: object
spec:
+ properties:
+ event:
+ properties:
+ selector:
+ type: string
+ required:
+ - selector
+ type: object
+ submit:
+ properties:
+ arguments:
+ properties:
+ artifacts:
+ items:
+ properties:
+ archive:
+ properties:
+ none:
+ type: object
+ tar:
+ properties:
+ compressionLevel:
+ format: int32
+ type: integer
+ type: object
+ zip:
+ type: object
+ type: object
+ archiveLogs:
+ type: boolean
+ artifactGC:
+ properties:
+ podMetadata:
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ type: object
+ labels:
+ additionalProperties:
+ type: string
+ type: object
+ type: object
+ serviceAccountName:
+ type: string
+ strategy:
+ enum:
+ - ""
+ - OnWorkflowCompletion
+ - OnWorkflowDeletion
+ - Never
+ type: string
+ type: object
+ artifactory:
+ properties:
+ passwordSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ url:
+ type: string
+ usernameSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ required:
+ - url
+ type: object
+ azure:
+ properties:
+ accountKeySecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ blob:
+ type: string
+ container:
+ type: string
+ endpoint:
+ type: string
+ useSDKCreds:
+ type: boolean
+ required:
+ - blob
+ - container
+ - endpoint
+ type: object
+ deleted:
+ type: boolean
+ from:
+ type: string
+ fromExpression:
+ type: string
+ gcs:
+ properties:
+ bucket:
+ type: string
+ key:
+ type: string
+ serviceAccountKeySecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ required:
+ - key
+ type: object
+ git:
+ properties:
+ branch:
+ type: string
+ depth:
+ format: int64
+ type: integer
+ disableSubmodules:
+ type: boolean
+ fetch:
+ items:
+ type: string
+ type: array
+ insecureIgnoreHostKey:
+ type: boolean
+ insecureSkipTLS:
+ type: boolean
+ passwordSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ repo:
+ type: string
+ revision:
+ type: string
+ singleBranch:
+ type: boolean
+ sshPrivateKeySecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ usernameSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ required:
+ - repo
+ type: object
+ globalName:
+ type: string
+ hdfs:
+ properties:
+ addresses:
+ items:
+ type: string
+ type: array
+ dataTransferProtection:
+ type: string
+ force:
+ type: boolean
+ hdfsUser:
+ type: string
+ krbCCacheSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ krbConfigConfigMap:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ krbKeytabSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ krbRealm:
+ type: string
+ krbServicePrincipalName:
+ type: string
+ krbUsername:
+ type: string
+ path:
+ type: string
+ required:
+ - path
+ type: object
+ http:
+ properties:
+ auth:
+ properties:
+ basicAuth:
+ properties:
+ passwordSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ usernameSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ type: object
+ clientCert:
+ properties:
+ clientCertSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ clientKeySecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ type: object
+ oauth2:
+ properties:
+ clientIDSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ clientSecretSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ endpointParams:
+ items:
+ properties:
+ key:
+ type: string
+ value:
+ type: string
+ required:
+ - key
+ type: object
+ type: array
+ scopes:
+ items:
+ type: string
+ type: array
+ tokenURLSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ type: object
+ type: object
+ headers:
+ items:
+ properties:
+ name:
+ type: string
+ value:
+ type: string
+ required:
+ - name
+ - value
+ type: object
+ type: array
+ url:
+ type: string
+ required:
+ - url
+ type: object
+ mode:
+ format: int32
+ type: integer
+ name:
+ type: string
+ optional:
+ type: boolean
+ oss:
+ properties:
+ accessKeySecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ bucket:
+ type: string
+ createBucketIfNotPresent:
+ type: boolean
+ endpoint:
+ type: string
+ key:
+ type: string
+ lifecycleRule:
+ properties:
+ markDeletionAfterDays:
+ format: int32
+ type: integer
+ markInfrequentAccessAfterDays:
+ format: int32
+ type: integer
+ type: object
+ secretKeySecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ securityToken:
+ type: string
+ useSDKCreds:
+ type: boolean
+ required:
+ - key
+ type: object
+ path:
+ type: string
+ raw:
+ properties:
+ data:
+ type: string
+ required:
+ - data
+ type: object
+ recurseMode:
+ type: boolean
+ s3:
+ properties:
+ accessKeySecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ bucket:
+ type: string
+ caSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ createBucketIfNotPresent:
+ properties:
+ objectLocking:
+ type: boolean
+ type: object
+ encryptionOptions:
+ properties:
+ enableEncryption:
+ type: boolean
+ kmsEncryptionContext:
+ type: string
+ kmsKeyId:
+ type: string
+ serverSideCustomerKeySecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ type: object
+ endpoint:
+ type: string
+ insecure:
+ type: boolean
+ key:
+ type: string
+ region:
+ type: string
+ roleARN:
+ type: string
+ secretKeySecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ sessionTokenSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ useSDKCreds:
+ type: boolean
+ type: object
+ subPath:
+ type: string
+ required:
+ - name
+ type: object
+ type: array
+ parameters:
+ items:
+ properties:
+ default:
+ type: string
+ description:
+ type: string
+ enum:
+ items:
+ type: string
+ type: array
+ globalName:
+ type: string
+ name:
+ type: string
+ value:
+ type: string
+ valueFrom:
+ properties:
+ configMapKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ default:
+ type: string
+ event:
+ type: string
+ expression:
+ type: string
+ jqFilter:
+ type: string
+ jsonPath:
+ type: string
+ parameter:
+ type: string
+ path:
+ type: string
+ supplied:
+ type: object
+ type: object
+ required:
+ - name
+ type: object
+ type: array
+ type: object
+ metadata:
+ type: object
+ workflowTemplateRef:
+ properties:
+ clusterScope:
+ type: boolean
+ name:
+ type: string
+ type: object
+ required:
+ - workflowTemplateRef
+ type: object
+ required:
+ - event
type: object
- x-kubernetes-map-type: atomic
- x-kubernetes-preserve-unknown-fields: true
required:
- metadata
- spec
@@ -286,6 +2028,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -300,6 +2043,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -317,6 +2061,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -354,6 +2099,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -379,11 +2125,14 @@ spec:
type: array
insecureIgnoreHostKey:
type: boolean
+ insecureSkipTLS:
+ type: boolean
passwordSecret:
properties:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -402,6 +2151,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -414,6 +2164,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -443,6 +2194,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -455,6 +2207,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -467,6 +2220,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -496,6 +2250,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -508,6 +2263,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -523,6 +2279,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -535,6 +2292,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -550,6 +2308,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -562,6 +2321,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -589,6 +2349,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -629,6 +2390,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -658,6 +2420,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -690,6 +2453,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -704,6 +2468,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -729,6 +2494,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -752,6 +2518,20 @@ spec:
key:
type: string
name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ sessionTokenSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
type: string
optional:
type: boolean
@@ -794,6 +2574,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
diff --git a/manifests/quick-start-postgres.yaml b/manifests/quick-start-postgres.yaml
index d5e8a26887ab..7cb175c2cea6 100644
--- a/manifests/quick-start-postgres.yaml
+++ b/manifests/quick-start-postgres.yaml
@@ -103,13 +103,1109 @@ spec:
metadata:
type: object
spec:
+ properties:
+ artifactsByNode:
+ additionalProperties:
+ properties:
+ archiveLocation:
+ properties:
+ archiveLogs:
+ type: boolean
+ artifactory:
+ properties:
+ passwordSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ url:
+ type: string
+ usernameSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ required:
+ - url
+ type: object
+ azure:
+ properties:
+ accountKeySecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ blob:
+ type: string
+ container:
+ type: string
+ endpoint:
+ type: string
+ useSDKCreds:
+ type: boolean
+ required:
+ - blob
+ - container
+ - endpoint
+ type: object
+ gcs:
+ properties:
+ bucket:
+ type: string
+ key:
+ type: string
+ serviceAccountKeySecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ required:
+ - key
+ type: object
+ git:
+ properties:
+ branch:
+ type: string
+ depth:
+ format: int64
+ type: integer
+ disableSubmodules:
+ type: boolean
+ fetch:
+ items:
+ type: string
+ type: array
+ insecureIgnoreHostKey:
+ type: boolean
+ insecureSkipTLS:
+ type: boolean
+ passwordSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ repo:
+ type: string
+ revision:
+ type: string
+ singleBranch:
+ type: boolean
+ sshPrivateKeySecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ usernameSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ required:
+ - repo
+ type: object
+ hdfs:
+ properties:
+ addresses:
+ items:
+ type: string
+ type: array
+ dataTransferProtection:
+ type: string
+ force:
+ type: boolean
+ hdfsUser:
+ type: string
+ krbCCacheSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ krbConfigConfigMap:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ krbKeytabSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ krbRealm:
+ type: string
+ krbServicePrincipalName:
+ type: string
+ krbUsername:
+ type: string
+ path:
+ type: string
+ required:
+ - path
+ type: object
+ http:
+ properties:
+ auth:
+ properties:
+ basicAuth:
+ properties:
+ passwordSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ usernameSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ type: object
+ clientCert:
+ properties:
+ clientCertSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ clientKeySecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ type: object
+ oauth2:
+ properties:
+ clientIDSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ clientSecretSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ endpointParams:
+ items:
+ properties:
+ key:
+ type: string
+ value:
+ type: string
+ required:
+ - key
+ type: object
+ type: array
+ scopes:
+ items:
+ type: string
+ type: array
+ tokenURLSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ type: object
+ type: object
+ headers:
+ items:
+ properties:
+ name:
+ type: string
+ value:
+ type: string
+ required:
+ - name
+ - value
+ type: object
+ type: array
+ url:
+ type: string
+ required:
+ - url
+ type: object
+ oss:
+ properties:
+ accessKeySecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ bucket:
+ type: string
+ createBucketIfNotPresent:
+ type: boolean
+ endpoint:
+ type: string
+ key:
+ type: string
+ lifecycleRule:
+ properties:
+ markDeletionAfterDays:
+ format: int32
+ type: integer
+ markInfrequentAccessAfterDays:
+ format: int32
+ type: integer
+ type: object
+ secretKeySecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ securityToken:
+ type: string
+ useSDKCreds:
+ type: boolean
+ required:
+ - key
+ type: object
+ raw:
+ properties:
+ data:
+ type: string
+ required:
+ - data
+ type: object
+ s3:
+ properties:
+ accessKeySecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ bucket:
+ type: string
+ caSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ createBucketIfNotPresent:
+ properties:
+ objectLocking:
+ type: boolean
+ type: object
+ encryptionOptions:
+ properties:
+ enableEncryption:
+ type: boolean
+ kmsEncryptionContext:
+ type: string
+ kmsKeyId:
+ type: string
+ serverSideCustomerKeySecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ type: object
+ endpoint:
+ type: string
+ insecure:
+ type: boolean
+ key:
+ type: string
+ region:
+ type: string
+ roleARN:
+ type: string
+ secretKeySecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ sessionTokenSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ useSDKCreds:
+ type: boolean
+ type: object
+ type: object
+ artifacts:
+ additionalProperties:
+ properties:
+ archive:
+ properties:
+ none:
+ type: object
+ tar:
+ properties:
+ compressionLevel:
+ format: int32
+ type: integer
+ type: object
+ zip:
+ type: object
+ type: object
+ archiveLogs:
+ type: boolean
+ artifactGC:
+ properties:
+ podMetadata:
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ type: object
+ labels:
+ additionalProperties:
+ type: string
+ type: object
+ type: object
+ serviceAccountName:
+ type: string
+ strategy:
+ enum:
+ - ""
+ - OnWorkflowCompletion
+ - OnWorkflowDeletion
+ - Never
+ type: string
+ type: object
+ artifactory:
+ properties:
+ passwordSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ url:
+ type: string
+ usernameSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ required:
+ - url
+ type: object
+ azure:
+ properties:
+ accountKeySecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ blob:
+ type: string
+ container:
+ type: string
+ endpoint:
+ type: string
+ useSDKCreds:
+ type: boolean
+ required:
+ - blob
+ - container
+ - endpoint
+ type: object
+ deleted:
+ type: boolean
+ from:
+ type: string
+ fromExpression:
+ type: string
+ gcs:
+ properties:
+ bucket:
+ type: string
+ key:
+ type: string
+ serviceAccountKeySecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ required:
+ - key
+ type: object
+ git:
+ properties:
+ branch:
+ type: string
+ depth:
+ format: int64
+ type: integer
+ disableSubmodules:
+ type: boolean
+ fetch:
+ items:
+ type: string
+ type: array
+ insecureIgnoreHostKey:
+ type: boolean
+ insecureSkipTLS:
+ type: boolean
+ passwordSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ repo:
+ type: string
+ revision:
+ type: string
+ singleBranch:
+ type: boolean
+ sshPrivateKeySecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ usernameSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ required:
+ - repo
+ type: object
+ globalName:
+ type: string
+ hdfs:
+ properties:
+ addresses:
+ items:
+ type: string
+ type: array
+ dataTransferProtection:
+ type: string
+ force:
+ type: boolean
+ hdfsUser:
+ type: string
+ krbCCacheSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ krbConfigConfigMap:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ krbKeytabSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ krbRealm:
+ type: string
+ krbServicePrincipalName:
+ type: string
+ krbUsername:
+ type: string
+ path:
+ type: string
+ required:
+ - path
+ type: object
+ http:
+ properties:
+ auth:
+ properties:
+ basicAuth:
+ properties:
+ passwordSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ usernameSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ type: object
+ clientCert:
+ properties:
+ clientCertSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ clientKeySecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ type: object
+ oauth2:
+ properties:
+ clientIDSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ clientSecretSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ endpointParams:
+ items:
+ properties:
+ key:
+ type: string
+ value:
+ type: string
+ required:
+ - key
+ type: object
+ type: array
+ scopes:
+ items:
+ type: string
+ type: array
+ tokenURLSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ type: object
+ type: object
+ headers:
+ items:
+ properties:
+ name:
+ type: string
+ value:
+ type: string
+ required:
+ - name
+ - value
+ type: object
+ type: array
+ url:
+ type: string
+ required:
+ - url
+ type: object
+ mode:
+ format: int32
+ type: integer
+ name:
+ type: string
+ optional:
+ type: boolean
+ oss:
+ properties:
+ accessKeySecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ bucket:
+ type: string
+ createBucketIfNotPresent:
+ type: boolean
+ endpoint:
+ type: string
+ key:
+ type: string
+ lifecycleRule:
+ properties:
+ markDeletionAfterDays:
+ format: int32
+ type: integer
+ markInfrequentAccessAfterDays:
+ format: int32
+ type: integer
+ type: object
+ secretKeySecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ securityToken:
+ type: string
+ useSDKCreds:
+ type: boolean
+ required:
+ - key
+ type: object
+ path:
+ type: string
+ raw:
+ properties:
+ data:
+ type: string
+ required:
+ - data
+ type: object
+ recurseMode:
+ type: boolean
+ s3:
+ properties:
+ accessKeySecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ bucket:
+ type: string
+ caSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ createBucketIfNotPresent:
+ properties:
+ objectLocking:
+ type: boolean
+ type: object
+ encryptionOptions:
+ properties:
+ enableEncryption:
+ type: boolean
+ kmsEncryptionContext:
+ type: string
+ kmsKeyId:
+ type: string
+ serverSideCustomerKeySecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ type: object
+ endpoint:
+ type: string
+ insecure:
+ type: boolean
+ key:
+ type: string
+ region:
+ type: string
+ roleARN:
+ type: string
+ secretKeySecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ sessionTokenSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ useSDKCreds:
+ type: boolean
+ type: object
+ subPath:
+ type: string
+ required:
+ - name
+ type: object
+ type: object
+ type: object
+ type: object
type: object
- x-kubernetes-map-type: atomic
- x-kubernetes-preserve-unknown-fields: true
status:
+ properties:
+ artifactResultsByNode:
+ additionalProperties:
+ properties:
+ artifactResults:
+ additionalProperties:
+ properties:
+ error:
+ type: string
+ name:
+ type: string
+ success:
+ type: boolean
+ required:
+ - name
+ type: object
+ type: object
+ type: object
+ type: object
type: object
- x-kubernetes-map-type: atomic
- x-kubernetes-preserve-unknown-fields: true
required:
- metadata
- spec
@@ -145,9 +1241,655 @@ spec:
metadata:
type: object
spec:
+ properties:
+ event:
+ properties:
+ selector:
+ type: string
+ required:
+ - selector
+ type: object
+ submit:
+ properties:
+ arguments:
+ properties:
+ artifacts:
+ items:
+ properties:
+ archive:
+ properties:
+ none:
+ type: object
+ tar:
+ properties:
+ compressionLevel:
+ format: int32
+ type: integer
+ type: object
+ zip:
+ type: object
+ type: object
+ archiveLogs:
+ type: boolean
+ artifactGC:
+ properties:
+ podMetadata:
+ properties:
+ annotations:
+ additionalProperties:
+ type: string
+ type: object
+ labels:
+ additionalProperties:
+ type: string
+ type: object
+ type: object
+ serviceAccountName:
+ type: string
+ strategy:
+ enum:
+ - ""
+ - OnWorkflowCompletion
+ - OnWorkflowDeletion
+ - Never
+ type: string
+ type: object
+ artifactory:
+ properties:
+ passwordSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ url:
+ type: string
+ usernameSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ required:
+ - url
+ type: object
+ azure:
+ properties:
+ accountKeySecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ blob:
+ type: string
+ container:
+ type: string
+ endpoint:
+ type: string
+ useSDKCreds:
+ type: boolean
+ required:
+ - blob
+ - container
+ - endpoint
+ type: object
+ deleted:
+ type: boolean
+ from:
+ type: string
+ fromExpression:
+ type: string
+ gcs:
+ properties:
+ bucket:
+ type: string
+ key:
+ type: string
+ serviceAccountKeySecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ required:
+ - key
+ type: object
+ git:
+ properties:
+ branch:
+ type: string
+ depth:
+ format: int64
+ type: integer
+ disableSubmodules:
+ type: boolean
+ fetch:
+ items:
+ type: string
+ type: array
+ insecureIgnoreHostKey:
+ type: boolean
+ insecureSkipTLS:
+ type: boolean
+ passwordSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ repo:
+ type: string
+ revision:
+ type: string
+ singleBranch:
+ type: boolean
+ sshPrivateKeySecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ usernameSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ required:
+ - repo
+ type: object
+ globalName:
+ type: string
+ hdfs:
+ properties:
+ addresses:
+ items:
+ type: string
+ type: array
+ dataTransferProtection:
+ type: string
+ force:
+ type: boolean
+ hdfsUser:
+ type: string
+ krbCCacheSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ krbConfigConfigMap:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ krbKeytabSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ krbRealm:
+ type: string
+ krbServicePrincipalName:
+ type: string
+ krbUsername:
+ type: string
+ path:
+ type: string
+ required:
+ - path
+ type: object
+ http:
+ properties:
+ auth:
+ properties:
+ basicAuth:
+ properties:
+ passwordSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ usernameSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ type: object
+ clientCert:
+ properties:
+ clientCertSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ clientKeySecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ type: object
+ oauth2:
+ properties:
+ clientIDSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ clientSecretSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ endpointParams:
+ items:
+ properties:
+ key:
+ type: string
+ value:
+ type: string
+ required:
+ - key
+ type: object
+ type: array
+ scopes:
+ items:
+ type: string
+ type: array
+ tokenURLSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ type: object
+ type: object
+ headers:
+ items:
+ properties:
+ name:
+ type: string
+ value:
+ type: string
+ required:
+ - name
+ - value
+ type: object
+ type: array
+ url:
+ type: string
+ required:
+ - url
+ type: object
+ mode:
+ format: int32
+ type: integer
+ name:
+ type: string
+ optional:
+ type: boolean
+ oss:
+ properties:
+ accessKeySecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ bucket:
+ type: string
+ createBucketIfNotPresent:
+ type: boolean
+ endpoint:
+ type: string
+ key:
+ type: string
+ lifecycleRule:
+ properties:
+ markDeletionAfterDays:
+ format: int32
+ type: integer
+ markInfrequentAccessAfterDays:
+ format: int32
+ type: integer
+ type: object
+ secretKeySecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ securityToken:
+ type: string
+ useSDKCreds:
+ type: boolean
+ required:
+ - key
+ type: object
+ path:
+ type: string
+ raw:
+ properties:
+ data:
+ type: string
+ required:
+ - data
+ type: object
+ recurseMode:
+ type: boolean
+ s3:
+ properties:
+ accessKeySecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ bucket:
+ type: string
+ caSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ createBucketIfNotPresent:
+ properties:
+ objectLocking:
+ type: boolean
+ type: object
+ encryptionOptions:
+ properties:
+ enableEncryption:
+ type: boolean
+ kmsEncryptionContext:
+ type: string
+ kmsKeyId:
+ type: string
+ serverSideCustomerKeySecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ type: object
+ endpoint:
+ type: string
+ insecure:
+ type: boolean
+ key:
+ type: string
+ region:
+ type: string
+ roleARN:
+ type: string
+ secretKeySecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ sessionTokenSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ useSDKCreds:
+ type: boolean
+ type: object
+ subPath:
+ type: string
+ required:
+ - name
+ type: object
+ type: array
+ parameters:
+ items:
+ properties:
+ default:
+ type: string
+ description:
+ type: string
+ enum:
+ items:
+ type: string
+ type: array
+ globalName:
+ type: string
+ name:
+ type: string
+ value:
+ type: string
+ valueFrom:
+ properties:
+ configMapKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ default:
+ type: string
+ event:
+ type: string
+ expression:
+ type: string
+ jqFilter:
+ type: string
+ jsonPath:
+ type: string
+ parameter:
+ type: string
+ path:
+ type: string
+ supplied:
+ type: object
+ type: object
+ required:
+ - name
+ type: object
+ type: array
+ type: object
+ metadata:
+ type: object
+ workflowTemplateRef:
+ properties:
+ clusterScope:
+ type: boolean
+ name:
+ type: string
+ type: object
+ required:
+ - workflowTemplateRef
+ type: object
+ required:
+ - event
type: object
- x-kubernetes-map-type: atomic
- x-kubernetes-preserve-unknown-fields: true
required:
- metadata
- spec
@@ -286,6 +2028,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -300,6 +2043,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -317,6 +2061,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -354,6 +2099,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -379,11 +2125,14 @@ spec:
type: array
insecureIgnoreHostKey:
type: boolean
+ insecureSkipTLS:
+ type: boolean
passwordSecret:
properties:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -402,6 +2151,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -414,6 +2164,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -443,6 +2194,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -455,6 +2207,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -467,6 +2220,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -496,6 +2250,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -508,6 +2263,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -523,6 +2279,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -535,6 +2292,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -550,6 +2308,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -562,6 +2321,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -589,6 +2349,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -629,6 +2390,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -658,6 +2420,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -690,6 +2453,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -704,6 +2468,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -729,6 +2494,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
@@ -752,6 +2518,20 @@ spec:
key:
type: string
name:
+ default: ""
+ type: string
+ optional:
+ type: boolean
+ required:
+ - key
+ type: object
+ x-kubernetes-map-type: atomic
+ sessionTokenSecret:
+ properties:
+ key:
+ type: string
+ name:
+ default: ""
type: string
optional:
type: boolean
@@ -794,6 +2574,7 @@ spec:
key:
type: string
name:
+ default: ""
type: string
optional:
type: boolean
diff --git a/manifests/quick-start/base/workflow-default-rolebinding.yaml b/manifests/quick-start/base/workflow-default-rolebinding.yaml
deleted file mode 100644
index cb930cfb27a7..000000000000
--- a/manifests/quick-start/base/workflow-default-rolebinding.yaml
+++ /dev/null
@@ -1,11 +0,0 @@
-apiVersion: rbac.authorization.k8s.io/v1
-kind: RoleBinding
-metadata:
- name: workflow-default-binding
-roleRef:
- apiGroup: rbac.authorization.k8s.io
- kind: Role
- name: workflow
-subjects:
- - kind: ServiceAccount
- name: default
diff --git a/manifests/quick-start/sso/dex/dex-cm.yaml b/manifests/quick-start/sso/dex/dex-cm.yaml
index a99d186a28c2..689db0affb90 100644
--- a/manifests/quick-start/sso/dex/dex-cm.yaml
+++ b/manifests/quick-start/sso/dex/dex-cm.yaml
@@ -20,6 +20,7 @@ data:
redirectURIs:
- http://localhost:2746/oauth2/callback
- http://localhost:8080/oauth2/callback
+ - https://localhost:8080/oauth2/callback
name: Argo Server
secret: ZXhhbXBsZS1hcHAtc2VjcmV0
connectors:
diff --git a/mkdocs.yml b/mkdocs.yml
index 52e1dbb74f3b..2f69fbfb1fa5 100644
--- a/mkdocs.yml
+++ b/mkdocs.yml
@@ -32,6 +32,7 @@ markdown_extensions:
- admonition
- md_in_html
- pymdownx.details
+ - pymdownx.snippets
- pymdownx.superfences:
custom_fences:
# support mermaid diagrams per https://squidfunk.github.io/mkdocs-material/reference/diagrams/#configuration
@@ -236,6 +237,7 @@ nav:
- installation.md
- releases.md
- upgrading.md
+ - new-features.md
- security.md
- Configuration:
- managed-namespace.md
@@ -248,6 +250,7 @@ nav:
- offloading-large-workflows.md
- workflow-archive.md
- metrics.md
+ - deprecations.md
- workflow-executors.md
- workflow-restrictions.md
- sidecar-injection.md
diff --git a/persist/sqldb/migrate.go b/persist/sqldb/migrate.go
index 45c908cc87de..633dfd2ff31a 100644
--- a/persist/sqldb/migrate.go
+++ b/persist/sqldb/migrate.go
@@ -25,6 +25,12 @@ type change interface {
apply(session db.Session) error
}
+type noop struct{}
+
+func (s noop) apply(session db.Session) error {
+ return nil
+}
+
func ternary(condition bool, left, right change) change {
if condition {
return left
@@ -258,6 +264,11 @@ func (m migrate) Exec(ctx context.Context) (err error) {
// add indexes for list archived workflow performance. #8836
ansiSQLChange(`create index argo_archived_workflows_i4 on argo_archived_workflows (startedat)`),
ansiSQLChange(`create index argo_archived_workflows_labels_i1 on argo_archived_workflows_labels (name,value)`),
+ // PostgreSQL only: convert argo_archived_workflows.workflow column to JSONB for performance and consistency with MySQL. #13779
+ ternary(dbType == MySQL,
+ noop{},
+ ansiSQLChange(`alter table argo_archived_workflows alter column workflow set data type jsonb using workflow::jsonb`),
+ ),
} {
err := m.applyChange(changeSchemaVersion, change)
if err != nil {
diff --git a/persist/sqldb/selector.go b/persist/sqldb/selector.go
index 5e2b9cbb53ca..93a0b580ad7b 100644
--- a/persist/sqldb/selector.go
+++ b/persist/sqldb/selector.go
@@ -39,7 +39,19 @@ func BuildWorkflowSelector(in string, inArgs []any, tableName, labelTableName st
clauses = append(clauses, db.Raw("namespace = ?", options.Namespace))
}
if options.Name != "" {
- clauses = append(clauses, db.Raw("name = ?", options.Name))
+ nameFilter := options.NameFilter
+ if nameFilter == "" {
+ nameFilter = "Exact"
+ }
+ if nameFilter == "Exact" {
+ clauses = append(clauses, db.Raw("name = ?", options.Name))
+ }
+ if nameFilter == "Contains" {
+ clauses = append(clauses, db.Raw("name like ?", "%"+options.Name+"%"))
+ }
+ if nameFilter == "Prefix" {
+ clauses = append(clauses, db.Raw("name like ?", options.Name+"%"))
+ }
}
if options.NamePrefix != "" {
clauses = append(clauses, db.Raw("name like ?", options.NamePrefix+"%"))
diff --git a/persist/sqldb/workflow_archive.go b/persist/sqldb/workflow_archive.go
index 4520297889d1..7371fb37bedd 100644
--- a/persist/sqldb/workflow_archive.go
+++ b/persist/sqldb/workflow_archive.go
@@ -452,7 +452,7 @@ func selectArchivedWorkflowQuery(t dbType) (*db.RawExpr, error) {
case MySQL:
return db.Raw("name, namespace, uid, phase, startedat, finishedat, coalesce(JSON_EXTRACT(workflow,'$.metadata.labels'), '{}') as labels,coalesce(JSON_EXTRACT(workflow,'$.metadata.annotations'), '{}') as annotations, coalesce(JSON_UNQUOTE(JSON_EXTRACT(workflow,'$.status.progress')), '') as progress, coalesce(JSON_UNQUOTE(JSON_EXTRACT(workflow,'$.metadata.creationTimestamp')), '') as creationtimestamp, JSON_UNQUOTE(JSON_EXTRACT(workflow,'$.spec.suspend')) as suspend, coalesce(JSON_UNQUOTE(JSON_EXTRACT(workflow,'$.status.message')), '') as message, coalesce(JSON_UNQUOTE(JSON_EXTRACT(workflow,'$.status.estimatedDuration')), '0') as estimatedduration, coalesce(JSON_EXTRACT(workflow,'$.status.resourcesDuration'), '{}') as resourcesduration"), nil
case Postgres:
- return db.Raw("name, namespace, uid, phase, startedat, finishedat, coalesce((workflow::json)->'metadata'->>'labels', '{}') as labels, coalesce((workflow::json)->'metadata'->>'annotations', '{}') as annotations, coalesce((workflow::json)->'status'->>'progress', '') as progress, coalesce((workflow::json)->'metadata'->>'creationTimestamp', '') as creationtimestamp, (workflow::json)->'spec'->>'suspend' as suspend, coalesce((workflow::json)->'status'->>'message', '') as message, coalesce((workflow::json)->'status'->>'estimatedDuration', '0') as estimatedduration, coalesce((workflow::json)->'status'->>'resourcesDuration', '{}') as resourcesduration"), nil
+ return db.Raw("name, namespace, uid, phase, startedat, finishedat, coalesce(workflow->'metadata'->>'labels', '{}') as labels, coalesce(workflow->'metadata'->>'annotations', '{}') as annotations, coalesce(workflow->'status'->>'progress', '') as progress, coalesce(workflow->'metadata'->>'creationTimestamp', '') as creationtimestamp, workflow->'spec'->>'suspend' as suspend, coalesce(workflow->'status'->>'message', '') as message, coalesce(workflow->'status'->>'estimatedDuration', '0') as estimatedduration, coalesce(workflow->'status'->>'resourcesDuration', '{}') as resourcesduration"), nil
}
return nil, fmt.Errorf("unsupported db type %s", t)
}
diff --git a/pkg/apiclient/argo-kube-client.go b/pkg/apiclient/argo-kube-client.go
index d984fcd54211..6678de64d3d2 100644
--- a/pkg/apiclient/argo-kube-client.go
+++ b/pkg/apiclient/argo-kube-client.go
@@ -34,7 +34,7 @@ import (
var (
argoKubeOffloadNodeStatusRepo = sqldb.ExplosiveOffloadNodeStatusRepo
- NoArgoServerErr = fmt.Errorf("this is impossible if you are not using the Argo Server, see " + help.CLI())
+ NoArgoServerErr = fmt.Errorf("this is impossible if you are not using the Argo Server, see %s", help.CLI())
)
type argoKubeClient struct {
diff --git a/pkg/apiclient/argo-server-client.go b/pkg/apiclient/argo-server-client.go
index c7d08eb272bb..0a4419b2dc09 100644
--- a/pkg/apiclient/argo-server-client.go
+++ b/pkg/apiclient/argo-server-client.go
@@ -15,6 +15,7 @@ import (
workflowpkg "github.com/argoproj/argo-workflows/v3/pkg/apiclient/workflow"
workflowarchivepkg "github.com/argoproj/argo-workflows/v3/pkg/apiclient/workflowarchive"
workflowtemplatepkg "github.com/argoproj/argo-workflows/v3/pkg/apiclient/workflowtemplate"
+ grpcutil "github.com/argoproj/argo-workflows/v3/util/grpc"
)
const (
@@ -65,7 +66,11 @@ func newClientConn(opts ArgoServerOpts) (*grpc.ClientConn, error) {
if opts.Secure {
creds = grpc.WithTransportCredentials(credentials.NewTLS(&tls.Config{InsecureSkipVerify: opts.InsecureSkipVerify}))
}
- conn, err := grpc.Dial(opts.URL, grpc.WithDefaultCallOptions(grpc.MaxCallRecvMsgSize(MaxClientGRPCMessageSize)), creds)
+ conn, err := grpc.Dial(opts.URL,
+ grpc.WithDefaultCallOptions(grpc.MaxCallRecvMsgSize(MaxClientGRPCMessageSize)),
+ creds,
+ grpc.WithUnaryInterceptor(grpcutil.GetVersionHeaderClientUnaryInterceptor),
+ )
if err != nil {
return nil, err
}
diff --git a/pkg/apiclient/http1/facade.go b/pkg/apiclient/http1/facade.go
index de89d4af87a8..91b6468d3074 100644
--- a/pkg/apiclient/http1/facade.go
+++ b/pkg/apiclient/http1/facade.go
@@ -164,7 +164,7 @@ func errFromResponse(r *http.Response) error {
Message string `json:"message"`
}{}
if err := json.NewDecoder(r.Body).Decode(x); err == nil {
- return status.Errorf(x.Code, x.Message)
+ return status.Error(x.Code, x.Message)
}
return status.Error(codes.Internal, fmt.Sprintf(": %v", r))
}
diff --git a/pkg/apiclient/offline-client.go b/pkg/apiclient/offline-client.go
index 9446a71240b0..c6048d1dffe8 100644
--- a/pkg/apiclient/offline-client.go
+++ b/pkg/apiclient/offline-client.go
@@ -12,9 +12,8 @@ import (
"github.com/argoproj/argo-workflows/v3/pkg/apiclient/workflowtemplate"
wfv1 "github.com/argoproj/argo-workflows/v3/pkg/apis/workflow/v1alpha1"
"github.com/argoproj/argo-workflows/v3/util/file"
+ "github.com/argoproj/argo-workflows/v3/workflow/common"
"github.com/argoproj/argo-workflows/v3/workflow/templateresolution"
-
- "sigs.k8s.io/yaml"
)
type offlineWorkflowTemplateGetterMap map[string]templateresolution.WorkflowTemplateNamespacedGetter
@@ -50,42 +49,43 @@ func newOfflineClient(paths []string) (context.Context, Client, error) {
for _, basePath := range paths {
err := file.WalkManifests(basePath, func(path string, bytes []byte) error {
- var generic map[string]interface{}
- if err := yaml.Unmarshal(bytes, &generic); err != nil {
- return fmt.Errorf("failed to parse YAML from file %s: %w", path, err)
- }
- switch generic["kind"] {
- case "ClusterWorkflowTemplate":
- cwftmpl := new(wfv1.ClusterWorkflowTemplate)
- if err := yaml.Unmarshal(bytes, &cwftmpl); err != nil {
- return fmt.Errorf("failed to unmarshal file %s as a ClusterWorkflowTemplate: %w", path, err)
+ for _, pr := range common.ParseObjects(bytes, false) {
+ obj, err := pr.Object, pr.Err
+ if err != nil {
+ return fmt.Errorf("failed to parse YAML from file %s: %w", path, err)
}
- if _, ok := clusterWorkflowTemplateGetter.clusterWorkflowTemplates[cwftmpl.Name]; ok {
- return fmt.Errorf("duplicate ClusterWorkflowTemplate found: %q", cwftmpl.Name)
+ if obj == nil {
+ continue // could not parse to kubernetes object
}
- clusterWorkflowTemplateGetter.clusterWorkflowTemplates[cwftmpl.Name] = cwftmpl
- case "WorkflowTemplate":
- wftmpl := new(wfv1.WorkflowTemplate)
- if err := yaml.Unmarshal(bytes, &wftmpl); err != nil {
- return fmt.Errorf("failed to unmarshal file %s as a WorkflowTemplate: %w", path, err)
- }
- getter, ok := workflowTemplateGetters[wftmpl.Namespace]
- if !ok {
- getter = &offlineWorkflowTemplateNamespacedGetter{
- namespace: wftmpl.Namespace,
- workflowTemplates: map[string]*wfv1.WorkflowTemplate{},
+ objName := obj.GetName()
+ namespace := obj.GetNamespace()
+
+ switch v := obj.(type) {
+ case *wfv1.ClusterWorkflowTemplate:
+ if _, ok := clusterWorkflowTemplateGetter.clusterWorkflowTemplates[objName]; ok {
+ return fmt.Errorf("duplicate ClusterWorkflowTemplate found: %q", objName)
+ }
+ clusterWorkflowTemplateGetter.clusterWorkflowTemplates[objName] = v
+
+ case *wfv1.WorkflowTemplate:
+ getter, ok := workflowTemplateGetters[namespace]
+ if !ok {
+ getter = &offlineWorkflowTemplateNamespacedGetter{
+ namespace: namespace,
+ workflowTemplates: map[string]*wfv1.WorkflowTemplate{},
+ }
+ workflowTemplateGetters[namespace] = getter
}
- workflowTemplateGetters[wftmpl.Namespace] = getter
- }
- if _, ok := getter.(*offlineWorkflowTemplateNamespacedGetter).workflowTemplates[wftmpl.Name]; ok {
- return fmt.Errorf("duplicate WorkflowTemplate found: %q", wftmpl.Name)
+ if _, ok := getter.(*offlineWorkflowTemplateNamespacedGetter).workflowTemplates[objName]; ok {
+ return fmt.Errorf("duplicate WorkflowTemplate found: %q", objName)
+ }
+ getter.(*offlineWorkflowTemplateNamespacedGetter).workflowTemplates[objName] = v
}
- getter.(*offlineWorkflowTemplateNamespacedGetter).workflowTemplates[wftmpl.Name] = wftmpl
- }
+ }
return nil
})
diff --git a/pkg/apiclient/offline-cron-workflow-service-client.go b/pkg/apiclient/offline-cron-workflow-service-client.go
index 6104a207c89b..6dbd1a7bd407 100644
--- a/pkg/apiclient/offline-cron-workflow-service-client.go
+++ b/pkg/apiclient/offline-cron-workflow-service-client.go
@@ -19,7 +19,7 @@ type OfflineCronWorkflowServiceClient struct {
var _ cronworkflow.CronWorkflowServiceClient = &OfflineCronWorkflowServiceClient{}
func (o OfflineCronWorkflowServiceClient) LintCronWorkflow(ctx context.Context, req *cronworkflow.LintCronWorkflowRequest, _ ...grpc.CallOption) (*v1alpha1.CronWorkflow, error) {
- err := validate.ValidateCronWorkflow(o.namespacedWorkflowTemplateGetterMap.GetNamespaceGetter(req.Namespace), o.clusterWorkflowTemplateGetter, req.CronWorkflow)
+ err := validate.ValidateCronWorkflow(ctx, o.namespacedWorkflowTemplateGetterMap.GetNamespaceGetter(req.Namespace), o.clusterWorkflowTemplateGetter, req.CronWorkflow)
if err != nil {
return nil, err
}
diff --git a/pkg/apiclient/workflow/workflow.pb.go b/pkg/apiclient/workflow/workflow.pb.go
index 0733f16480d2..9f2f76be21f7 100644
--- a/pkg/apiclient/workflow/workflow.pb.go
+++ b/pkg/apiclient/workflow/workflow.pb.go
@@ -191,7 +191,9 @@ type WorkflowListRequest struct {
Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"`
ListOptions *v1.ListOptions `protobuf:"bytes,2,opt,name=listOptions,proto3" json:"listOptions,omitempty"`
// Fields to be included or excluded in the response. e.g. "items.spec,items.status.phase", "-items.status.nodes"
- Fields string `protobuf:"bytes,3,opt,name=fields,proto3" json:"fields,omitempty"`
+ Fields string `protobuf:"bytes,3,opt,name=fields,proto3" json:"fields,omitempty"`
+ // Filter type used for name filtering. Exact | Contains | Prefix. Default to Exact
+ NameFilter string `protobuf:"bytes,4,opt,name=nameFilter,proto3" json:"nameFilter,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
@@ -251,6 +253,13 @@ func (m *WorkflowListRequest) GetFields() string {
return ""
}
+func (m *WorkflowListRequest) GetNameFilter() string {
+ if m != nil {
+ return m.NameFilter
+ }
+ return ""
+}
+
type WorkflowResubmitRequest struct {
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
Namespace string `protobuf:"bytes,2,opt,name=namespace,proto3" json:"namespace,omitempty"`
@@ -1312,98 +1321,98 @@ func init() {
}
var fileDescriptor_1f6bb75f9e833cb6 = []byte{
- // 1442 bytes of a gzipped FileDescriptorProto
- 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x98, 0xcd, 0x6f, 0x1c, 0xb5,
- 0x1b, 0xc7, 0xe5, 0xa4, 0x4d, 0x13, 0xe7, 0xa5, 0xad, 0x7f, 0x6d, 0x7f, 0xcb, 0xa8, 0x4d, 0x53,
- 0x97, 0x42, 0x9a, 0x36, 0x33, 0x79, 0x29, 0xd0, 0x22, 0x81, 0x44, 0x9b, 0x12, 0x51, 0x96, 0x52,
- 0xcd, 0x22, 0x21, 0xb8, 0xa0, 0xc9, 0xec, 0x93, 0xc9, 0x34, 0x3b, 0xe3, 0xc1, 0xf6, 0x6e, 0x15,
- 0x4a, 0x91, 0xe0, 0x02, 0x07, 0x24, 0x0e, 0x1c, 0xb9, 0x20, 0x24, 0x04, 0x07, 0x04, 0x08, 0x09,
- 0x09, 0x81, 0x84, 0x38, 0x70, 0xe0, 0x58, 0xa9, 0x57, 0x0e, 0xa8, 0xe2, 0x1f, 0xe0, 0x3f, 0x40,
- 0xf6, 0xbc, 0x67, 0xb7, 0xdb, 0x21, 0xd9, 0x42, 0x6f, 0x63, 0xcf, 0xd8, 0xcf, 0xc7, 0xdf, 0xc7,
- 0x7e, 0x9e, 0xc7, 0x83, 0x4f, 0x45, 0x9b, 0x9e, 0xe5, 0x44, 0xbe, 0xdb, 0xf2, 0x21, 0x94, 0xd6,
- 0x0d, 0xc6, 0x37, 0xd7, 0x5b, 0xec, 0x46, 0xf6, 0x60, 0x46, 0x9c, 0x49, 0x46, 0x46, 0xd3, 0xb6,
- 0x71, 0xd4, 0x63, 0xcc, 0x6b, 0x81, 0x1a, 0x63, 0x39, 0x61, 0xc8, 0xa4, 0x23, 0x7d, 0x16, 0x8a,
- 0xf8, 0x3b, 0xe3, 0xdc, 0xe6, 0x79, 0x61, 0xfa, 0x4c, 0xbd, 0x0d, 0x1c, 0x77, 0xc3, 0x0f, 0x81,
- 0x6f, 0x59, 0x89, 0x09, 0x61, 0x05, 0x20, 0x1d, 0xab, 0xb3, 0x68, 0x79, 0x10, 0x02, 0x77, 0x24,
- 0x34, 0x93, 0x51, 0x2f, 0x79, 0xbe, 0xdc, 0x68, 0xaf, 0x99, 0x2e, 0x0b, 0x2c, 0x87, 0x7b, 0x2c,
- 0xe2, 0xec, 0xba, 0x7e, 0x98, 0x4f, 0xcd, 0x8a, 0x7c, 0x92, 0x0c, 0xb1, 0xb3, 0xe8, 0xb4, 0xa2,
- 0x0d, 0xa7, 0x7b, 0x3a, 0x9a, 0x43, 0x58, 0x2e, 0xe3, 0xd0, 0xc3, 0x24, 0xfd, 0x65, 0x08, 0x1f,
- 0x7e, 0x35, 0x99, 0xe9, 0x12, 0x07, 0x47, 0x82, 0x0d, 0x6f, 0xb6, 0x41, 0x48, 0x72, 0x14, 0x8f,
- 0x85, 0x4e, 0x00, 0x22, 0x72, 0x5c, 0xa8, 0xa1, 0x19, 0x34, 0x3b, 0x66, 0xe7, 0x1d, 0x64, 0x1d,
- 0x67, 0x52, 0xd4, 0x86, 0x66, 0xd0, 0xec, 0xf8, 0xd2, 0x15, 0x33, 0xa7, 0x37, 0x53, 0x7a, 0xfd,
- 0xf0, 0x46, 0x46, 0x6f, 0x76, 0x96, 0xcd, 0x68, 0xd3, 0x33, 0xd5, 0x02, 0xcc, 0x4c, 0xda, 0x74,
- 0x01, 0x66, 0x0a, 0x62, 0x67, 0x73, 0x13, 0x8a, 0xb1, 0x1f, 0x0a, 0xe9, 0x84, 0x2e, 0xbc, 0xb0,
- 0x52, 0x1b, 0x56, 0x18, 0x17, 0x87, 0x6a, 0xc8, 0x2e, 0xf4, 0x12, 0x8a, 0x27, 0x04, 0xf0, 0x0e,
- 0xf0, 0x15, 0xbe, 0x65, 0xb7, 0xc3, 0xda, 0x9e, 0x19, 0x34, 0x3b, 0x6a, 0x97, 0xfa, 0xc8, 0x6b,
- 0x78, 0xd2, 0xd5, 0xcb, 0x7b, 0x39, 0xd2, 0x7e, 0xaa, 0xed, 0xd5, 0xd0, 0xcb, 0x66, 0xac, 0x91,
- 0x59, 0x74, 0x54, 0x8e, 0xa8, 0x1c, 0x65, 0x76, 0x16, 0xcd, 0x4b, 0xc5, 0xa1, 0x76, 0x79, 0x26,
- 0xfa, 0x2d, 0xc2, 0x24, 0x25, 0x5f, 0x05, 0x99, 0xea, 0x47, 0xf0, 0x1e, 0x25, 0x57, 0x22, 0x9d,
- 0x7e, 0x2e, 0x6b, 0x3a, 0xb4, 0x5d, 0xd3, 0x6b, 0x18, 0x7b, 0x20, 0x53, 0xc0, 0x61, 0x0d, 0xb8,
- 0x50, 0x0d, 0x70, 0x35, 0x1b, 0x67, 0x17, 0xe6, 0x20, 0x47, 0xf0, 0xc8, 0xba, 0x0f, 0xad, 0xa6,
- 0xd0, 0x9a, 0x8c, 0xd9, 0x49, 0x8b, 0x7e, 0x8a, 0xf0, 0xff, 0x52, 0xe4, 0xba, 0x2f, 0x64, 0x35,
- 0x9f, 0x37, 0xf0, 0x78, 0xcb, 0x17, 0x19, 0x60, 0xec, 0xf6, 0xc5, 0x6a, 0x80, 0xf5, 0x7c, 0xa0,
- 0x5d, 0x9c, 0xa5, 0x80, 0x38, 0x5c, 0x42, 0x7c, 0x1f, 0xe1, 0xff, 0x67, 0xfb, 0x01, 0x44, 0x7b,
- 0x2d, 0xf0, 0x77, 0x21, 0xad, 0x81, 0x47, 0x03, 0x08, 0x98, 0xff, 0x16, 0x34, 0xb5, 0x9d, 0x51,
- 0x3b, 0x6b, 0x93, 0x69, 0x8c, 0x23, 0x87, 0x3b, 0x01, 0x48, 0xe0, 0x6a, 0x5f, 0x0c, 0xcf, 0x8e,
- 0xd9, 0x85, 0x1e, 0xfa, 0x2b, 0xc2, 0x87, 0x72, 0x12, 0xc9, 0xb7, 0x76, 0x8e, 0x71, 0x16, 0x1f,
- 0xe4, 0x20, 0xa4, 0xc3, 0x65, 0xa3, 0xed, 0xba, 0x20, 0xc4, 0x7a, 0xbb, 0x95, 0xf0, 0x74, 0xbf,
- 0x50, 0x5f, 0x87, 0xac, 0x09, 0xcf, 0x2b, 0x41, 0x1a, 0xd0, 0x02, 0x57, 0x32, 0x9e, 0x38, 0xb2,
- 0xfb, 0xc5, 0x7d, 0x97, 0x71, 0x23, 0x3f, 0xe8, 0x4a, 0xcf, 0x00, 0x76, 0xb5, 0x8c, 0x6e, 0xb0,
- 0xe1, 0x7b, 0x80, 0xd1, 0x3a, 0xae, 0xa5, 0x86, 0x5f, 0x01, 0x1e, 0xf8, 0x61, 0x21, 0xc8, 0xfc,
- 0x63, 0xdb, 0xf4, 0xa3, 0xc2, 0xd6, 0x6d, 0x48, 0x16, 0xfd, 0x4b, 0xab, 0x20, 0x35, 0xbc, 0x2f,
- 0x00, 0x21, 0x1c, 0x0f, 0x12, 0x17, 0xa4, 0x4d, 0x7a, 0xbb, 0x70, 0xfe, 0x1b, 0xbb, 0x39, 0xff,
- 0x03, 0x02, 0x22, 0x87, 0xf0, 0xde, 0x68, 0xc3, 0x11, 0xa0, 0x63, 0xdc, 0x98, 0x1d, 0x37, 0xc8,
- 0x1c, 0x3e, 0xc0, 0xda, 0x32, 0x6a, 0xcb, 0x6b, 0xf9, 0x2e, 0x19, 0xd1, 0x1f, 0x74, 0xf5, 0xd3,
- 0x2b, 0xf8, 0x48, 0xb6, 0xa2, 0xb6, 0x88, 0x20, 0x6c, 0xee, 0xdc, 0x61, 0x77, 0x0a, 0xf2, 0xd4,
- 0x99, 0xb7, 0x73, 0x79, 0x6a, 0x78, 0x5f, 0xc4, 0x9a, 0x57, 0xd5, 0xa0, 0x58, 0x94, 0xb4, 0x49,
- 0x9e, 0xc3, 0xb8, 0xc5, 0xbc, 0x34, 0x2e, 0xed, 0xd1, 0x71, 0xe9, 0x44, 0x21, 0x2e, 0x99, 0x2a,
- 0xfb, 0xa9, 0x28, 0x74, 0x8d, 0x35, 0xeb, 0xd9, 0x87, 0x76, 0x61, 0x90, 0xc2, 0xf1, 0x38, 0x44,
- 0x89, 0x64, 0xfa, 0x59, 0x05, 0x0d, 0x91, 0xba, 0x21, 0x56, 0x2a, 0x6b, 0xd3, 0x1f, 0x51, 0x7e,
- 0x9c, 0x56, 0xa0, 0x05, 0xbb, 0xd8, 0xd2, 0x2a, 0x37, 0x35, 0xf5, 0x14, 0xe5, 0xd0, 0x5f, 0x31,
- 0x37, 0xad, 0x14, 0x87, 0xda, 0xe5, 0x99, 0xd4, 0x56, 0x58, 0x67, 0xdc, 0x85, 0x24, 0x27, 0xc6,
- 0x0d, 0x5a, 0xcb, 0xdd, 0x9b, 0xb2, 0x8b, 0x88, 0x85, 0x02, 0xe8, 0x67, 0x6a, 0x59, 0x8e, 0x74,
- 0x37, 0xd2, 0xf7, 0xe2, 0x21, 0x4c, 0x0d, 0x1f, 0x16, 0x76, 0x94, 0x86, 0xbd, 0xdc, 0x81, 0x50,
- 0x0b, 0x2f, 0xb7, 0xa2, 0x4c, 0x78, 0xf5, 0x4c, 0xd6, 0xf0, 0x08, 0x5b, 0xbb, 0x0e, 0xae, 0x7c,
- 0x00, 0x45, 0x4a, 0x32, 0xb3, 0xca, 0x54, 0x24, 0xc7, 0xf8, 0x0f, 0x05, 0xa3, 0xcf, 0xe2, 0xd1,
- 0x3a, 0xf3, 0x2e, 0x87, 0x92, 0x6f, 0xa9, 0xd3, 0xe2, 0xb2, 0x50, 0x42, 0x28, 0x13, 0xe3, 0x69,
- 0xb3, 0x78, 0x8e, 0x86, 0x4a, 0xe7, 0x88, 0x7e, 0x52, 0x2a, 0x0b, 0x42, 0xf9, 0x50, 0x95, 0x82,
- 0xf4, 0xaf, 0xc2, 0x91, 0x6b, 0x94, 0xea, 0x81, 0xfe, 0x7c, 0x14, 0x4f, 0x70, 0x10, 0xac, 0xcd,
- 0x5d, 0x78, 0xd1, 0x0f, 0x9b, 0xc9, 0xa2, 0x4b, 0x7d, 0xc5, 0x6f, 0x0a, 0x01, 0xa6, 0xd4, 0x47,
- 0x38, 0x9e, 0x8c, 0xcb, 0x90, 0x72, 0xa0, 0xa9, 0xef, 0x7e, 0xb1, 0x8d, 0x74, 0x5a, 0x61, 0x97,
- 0x4d, 0x2c, 0xfd, 0x7e, 0x18, 0xef, 0xcf, 0x73, 0x0b, 0xef, 0xf8, 0x2e, 0x90, 0x2f, 0x10, 0x9e,
- 0x8a, 0x0b, 0xd2, 0xf4, 0x0d, 0x39, 0x9e, 0x4f, 0xda, 0xb3, 0x98, 0x37, 0x06, 0xe8, 0x11, 0x3a,
- 0xfb, 0xde, 0x9d, 0x3f, 0x3f, 0x1e, 0xa2, 0xf4, 0x98, 0xbe, 0x58, 0x74, 0x16, 0xad, 0xfc, 0x72,
- 0x72, 0x33, 0x53, 0xfd, 0xd6, 0xd3, 0x68, 0x8e, 0x7c, 0x8e, 0xf0, 0xf8, 0x2a, 0xc8, 0x0c, 0xf3,
- 0x68, 0x37, 0x66, 0x5e, 0x30, 0x0f, 0x94, 0xf1, 0xac, 0x66, 0x7c, 0x8c, 0x3c, 0xda, 0x97, 0x31,
- 0x7e, 0xbe, 0xa5, 0x38, 0x27, 0xd5, 0xa1, 0xca, 0x82, 0x1e, 0x39, 0xd6, 0x4d, 0x5a, 0xa8, 0x93,
- 0x8d, 0xab, 0x83, 0x43, 0x55, 0xd3, 0xd2, 0x53, 0x1a, 0xf7, 0x38, 0xe9, 0x2f, 0x29, 0x79, 0x07,
- 0x4f, 0x95, 0x83, 0x73, 0xc9, 0xf1, 0xbd, 0xc2, 0xb6, 0xd1, 0x43, 0xf2, 0x3c, 0x56, 0xd1, 0x33,
- 0xda, 0xee, 0x29, 0x72, 0x72, 0xbb, 0xdd, 0x79, 0xd0, 0xb1, 0xac, 0x68, 0x7d, 0x01, 0x11, 0x81,
- 0xc7, 0x0b, 0x81, 0xae, 0xe4, 0xce, 0xae, 0xf8, 0x67, 0x3c, 0xd2, 0x2b, 0x01, 0xc7, 0x66, 0x4f,
- 0x6b, 0xb3, 0x27, 0xc9, 0x89, 0xd4, 0xac, 0x90, 0x1c, 0x9c, 0xc0, 0xea, 0x69, 0xf4, 0x5d, 0x84,
- 0xa7, 0xe2, 0x2c, 0xd5, 0x6f, 0xbb, 0x97, 0x72, 0xb0, 0x31, 0x73, 0xef, 0x0f, 0x92, 0x44, 0x97,
- 0x6c, 0x90, 0xb9, 0x6a, 0x1b, 0xe4, 0x3b, 0x84, 0x27, 0x75, 0xe9, 0x9f, 0x21, 0x4c, 0x77, 0x5b,
- 0x28, 0xde, 0x0d, 0x06, 0xba, 0x99, 0x9f, 0xd0, 0xac, 0x96, 0x31, 0x57, 0x85, 0xd5, 0xe2, 0x0a,
- 0x43, 0x9d, 0xbe, 0x9f, 0x10, 0x3e, 0x90, 0xde, 0x9c, 0x32, 0xee, 0x13, 0xbd, 0xb8, 0x4b, 0xb7,
- 0xab, 0x81, 0xa2, 0x9f, 0xd7, 0xe8, 0x4b, 0xc6, 0x7c, 0x45, 0xf4, 0x98, 0x44, 0xd1, 0x7f, 0x8f,
- 0xf0, 0x54, 0x7c, 0x4f, 0xe9, 0xe7, 0xf6, 0xd2, 0x4d, 0x66, 0xa0, 0xe4, 0x4f, 0x6a, 0xf2, 0x05,
- 0xe3, 0x4c, 0x65, 0xf2, 0x00, 0x14, 0xf7, 0x0f, 0x08, 0xef, 0x4f, 0x6a, 0xe6, 0x0c, 0xbc, 0xc7,
- 0x76, 0x2c, 0x97, 0xd5, 0x03, 0x25, 0x7f, 0x4a, 0x93, 0x2f, 0x1a, 0x67, 0x2b, 0x91, 0x8b, 0x18,
- 0x44, 0xa1, 0xff, 0x8c, 0xf0, 0xc1, 0xec, 0x86, 0x96, 0xc1, 0xd3, 0x6e, 0xf8, 0xed, 0xd7, 0xb8,
- 0x81, 0xe2, 0x5f, 0xd0, 0xf8, 0xcb, 0x86, 0x59, 0x09, 0x5f, 0xa6, 0x28, 0x6a, 0x01, 0xdf, 0x20,
- 0x3c, 0xa1, 0xee, 0x84, 0x19, 0x7b, 0x8f, 0x30, 0x5e, 0xb8, 0x33, 0x0e, 0x14, 0xfb, 0x9c, 0xc6,
- 0x36, 0x8d, 0xd3, 0xd5, 0x54, 0x97, 0x2c, 0x52, 0xc4, 0x5f, 0x21, 0x3c, 0xde, 0xe8, 0x9f, 0x21,
- 0x1b, 0x0f, 0x26, 0x43, 0x2e, 0x6b, 0xde, 0x79, 0x63, 0xb6, 0x1a, 0x2f, 0xe8, 0x43, 0xf9, 0x25,
- 0xc2, 0x13, 0xaa, 0x30, 0xec, 0x27, 0x70, 0xa1, 0x70, 0x1c, 0x28, 0xf0, 0xbc, 0x06, 0x7e, 0x9c,
- 0xd2, 0xfe, 0xc0, 0x2d, 0x3f, 0xd4, 0xa8, 0x6f, 0xe3, 0x7d, 0xf1, 0x6d, 0x4f, 0xf4, 0x12, 0x35,
- 0xbf, 0x88, 0x1a, 0x24, 0x7f, 0x9b, 0x16, 0xcf, 0xf4, 0x19, 0x6d, 0xeb, 0x1c, 0x59, 0xaa, 0x24,
- 0xce, 0xcd, 0xa4, 0x7e, 0xbe, 0x65, 0xb5, 0x98, 0xf7, 0xc1, 0x10, 0x5a, 0x40, 0x44, 0xe2, 0x89,
- 0x82, 0xa9, 0x9d, 0x20, 0x2c, 0x68, 0x84, 0x39, 0x52, 0xcd, 0x3f, 0x2d, 0xe6, 0x2d, 0x20, 0xf2,
- 0x35, 0xc2, 0x53, 0x8d, 0x72, 0xbc, 0x3f, 0xde, 0x2b, 0xf4, 0x3c, 0xa8, 0x68, 0x6f, 0x69, 0xe6,
- 0xd3, 0xf4, 0x3e, 0x49, 0x35, 0x0b, 0xf2, 0x17, 0x57, 0x7f, 0xbb, 0x3b, 0x8d, 0x6e, 0xdf, 0x9d,
- 0x46, 0x7f, 0xdc, 0x9d, 0x46, 0xaf, 0x5f, 0xa8, 0xfe, 0xfb, 0x7b, 0xdb, 0x6f, 0xfa, 0xb5, 0x11,
- 0xfd, 0x37, 0x7b, 0xf9, 0xef, 0x00, 0x00, 0x00, 0xff, 0xff, 0x6d, 0x5c, 0x66, 0x41, 0xc7, 0x17,
- 0x00, 0x00,
+ // 1451 bytes of a gzipped FileDescriptorProto
+ 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x98, 0xcf, 0x6f, 0x1c, 0x35,
+ 0x14, 0xc7, 0xe5, 0x4d, 0x9b, 0x26, 0xce, 0x8f, 0xb6, 0xa6, 0x2d, 0xcb, 0xa8, 0x4d, 0x53, 0x97,
+ 0x42, 0x9a, 0x36, 0x33, 0xf9, 0x51, 0xa0, 0x45, 0x02, 0x89, 0x36, 0x6d, 0x44, 0x59, 0x4a, 0x35,
+ 0x8b, 0x84, 0xe0, 0x82, 0x26, 0xb3, 0xce, 0x64, 0x9a, 0x99, 0xf1, 0x60, 0x7b, 0xb7, 0x0a, 0xa5,
+ 0x48, 0x70, 0x81, 0x03, 0x12, 0x07, 0x8e, 0xdc, 0x90, 0x10, 0x1c, 0x10, 0x20, 0x24, 0x24, 0x04,
+ 0x12, 0xea, 0x81, 0x03, 0xc7, 0x4a, 0xbd, 0x72, 0x40, 0x15, 0xff, 0x00, 0xff, 0x01, 0xb2, 0xe7,
+ 0x97, 0x27, 0xbb, 0xdd, 0x0e, 0xc9, 0x06, 0x7a, 0x1b, 0x7b, 0xc6, 0x7e, 0x1f, 0x7f, 0x9f, 0xfd,
+ 0xde, 0xf3, 0xc0, 0x53, 0xf1, 0x86, 0x67, 0x39, 0xb1, 0xef, 0x06, 0x3e, 0x89, 0x84, 0x75, 0x93,
+ 0xb2, 0x8d, 0xb5, 0x80, 0xde, 0xcc, 0x1f, 0xcc, 0x98, 0x51, 0x41, 0xd1, 0x48, 0xd6, 0x36, 0x8e,
+ 0x7a, 0x94, 0x7a, 0x01, 0x91, 0x63, 0x2c, 0x27, 0x8a, 0xa8, 0x70, 0x84, 0x4f, 0x23, 0x9e, 0x7c,
+ 0x67, 0x9c, 0xdb, 0x38, 0xcf, 0x4d, 0x9f, 0xca, 0xb7, 0xa1, 0xe3, 0xae, 0xfb, 0x11, 0x61, 0x9b,
+ 0x56, 0x6a, 0x82, 0x5b, 0x21, 0x11, 0x8e, 0xd5, 0x59, 0xb0, 0x3c, 0x12, 0x11, 0xe6, 0x08, 0xd2,
+ 0x4a, 0x47, 0xbd, 0xea, 0xf9, 0x62, 0xbd, 0xbd, 0x6a, 0xba, 0x34, 0xb4, 0x1c, 0xe6, 0xd1, 0x98,
+ 0xd1, 0x1b, 0xea, 0x61, 0x2e, 0x33, 0xcb, 0x8b, 0x49, 0x72, 0xc4, 0xce, 0x82, 0x13, 0xc4, 0xeb,
+ 0x4e, 0xf7, 0x74, 0xb8, 0x80, 0xb0, 0x5c, 0xca, 0x48, 0x0f, 0x93, 0xf8, 0x4e, 0x0d, 0x1e, 0x7e,
+ 0x23, 0x9d, 0xe9, 0x12, 0x23, 0x8e, 0x20, 0x36, 0x79, 0xa7, 0x4d, 0xb8, 0x40, 0x47, 0xe1, 0x68,
+ 0xe4, 0x84, 0x84, 0xc7, 0x8e, 0x4b, 0xea, 0x60, 0x1a, 0xcc, 0x8c, 0xda, 0x45, 0x07, 0x5a, 0x83,
+ 0xb9, 0x14, 0xf5, 0xda, 0x34, 0x98, 0x19, 0x5b, 0xbc, 0x6a, 0x16, 0xf4, 0x66, 0x46, 0xaf, 0x1e,
+ 0xde, 0xce, 0xe9, 0xcd, 0xce, 0x92, 0x19, 0x6f, 0x78, 0xa6, 0x5c, 0x80, 0x99, 0x4b, 0x9b, 0x2d,
+ 0xc0, 0xcc, 0x40, 0xec, 0x7c, 0x6e, 0x84, 0x21, 0xf4, 0x23, 0x2e, 0x9c, 0xc8, 0x25, 0x2f, 0x2f,
+ 0xd7, 0x87, 0x24, 0xc6, 0xc5, 0x5a, 0x1d, 0xd8, 0x5a, 0x2f, 0xc2, 0x70, 0x9c, 0x13, 0xd6, 0x21,
+ 0x6c, 0x99, 0x6d, 0xda, 0xed, 0xa8, 0xbe, 0x67, 0x1a, 0xcc, 0x8c, 0xd8, 0xa5, 0x3e, 0xf4, 0x26,
+ 0x9c, 0x70, 0xd5, 0xf2, 0x5e, 0x8b, 0x95, 0x9f, 0xea, 0x7b, 0x15, 0xf4, 0x92, 0x99, 0x68, 0x64,
+ 0xea, 0x8e, 0x2a, 0x10, 0xa5, 0xa3, 0xcc, 0xce, 0x82, 0x79, 0x49, 0x1f, 0x6a, 0x97, 0x67, 0xc2,
+ 0xdf, 0x03, 0x88, 0x32, 0xf2, 0x15, 0x22, 0x32, 0xfd, 0x10, 0xdc, 0x23, 0xe5, 0x4a, 0xa5, 0x53,
+ 0xcf, 0x65, 0x4d, 0x6b, 0x5b, 0x35, 0xbd, 0x0e, 0xa1, 0x47, 0x44, 0x06, 0x38, 0xa4, 0x00, 0xe7,
+ 0xab, 0x01, 0xae, 0xe4, 0xe3, 0x6c, 0x6d, 0x0e, 0x74, 0x04, 0x0e, 0xaf, 0xf9, 0x24, 0x68, 0x71,
+ 0xa5, 0xc9, 0xa8, 0x9d, 0xb6, 0xf0, 0x1d, 0x00, 0x1f, 0xcb, 0x90, 0x1b, 0x3e, 0x17, 0xd5, 0x7c,
+ 0xde, 0x84, 0x63, 0x81, 0xcf, 0x73, 0xc0, 0xc4, 0xed, 0x0b, 0xd5, 0x00, 0x1b, 0xc5, 0x40, 0x5b,
+ 0x9f, 0x45, 0x43, 0x1c, 0xd2, 0x11, 0xd1, 0x14, 0x84, 0xd2, 0xf2, 0x15, 0x3f, 0x10, 0x84, 0xa5,
+ 0xf8, 0x5a, 0x0f, 0xfe, 0x08, 0xc0, 0xc7, 0xf3, 0xfd, 0x42, 0x78, 0x7b, 0x35, 0xf4, 0x77, 0x20,
+ 0xbd, 0x01, 0x47, 0x42, 0x12, 0x52, 0xff, 0x5d, 0xd2, 0x52, 0x1c, 0x23, 0x76, 0xde, 0x96, 0x24,
+ 0xb1, 0xc3, 0x9c, 0x90, 0x08, 0xc2, 0xe4, 0xbe, 0x19, 0x92, 0x24, 0x45, 0x0f, 0xfe, 0x0d, 0xc0,
+ 0x43, 0x05, 0x89, 0x60, 0x9b, 0xdb, 0xc7, 0x38, 0x0b, 0x0f, 0x32, 0xc2, 0x85, 0xc3, 0x44, 0xb3,
+ 0xed, 0xba, 0x84, 0xf3, 0xb5, 0x76, 0x90, 0xf2, 0x74, 0xbf, 0x90, 0x5f, 0x47, 0xb4, 0x45, 0xae,
+ 0x48, 0xc1, 0x9a, 0x24, 0x20, 0xae, 0xa0, 0x99, 0x52, 0xdd, 0x2f, 0x1e, 0xba, 0x8c, 0x9b, 0x45,
+ 0x20, 0x90, 0x7a, 0x86, 0x64, 0x47, 0xcb, 0xe8, 0x06, 0x1b, 0x7a, 0x00, 0x18, 0x6e, 0xc0, 0x7a,
+ 0x66, 0xf8, 0x75, 0xc2, 0x42, 0x3f, 0xd2, 0x82, 0xd0, 0xbf, 0xb6, 0x8d, 0x3f, 0xd5, 0xb6, 0x76,
+ 0x53, 0xd0, 0xf8, 0x3f, 0x5a, 0x05, 0xaa, 0xc3, 0x7d, 0x21, 0xe1, 0xdc, 0xf1, 0x48, 0xea, 0x82,
+ 0xac, 0x89, 0xef, 0x6a, 0xf1, 0xa1, 0xb9, 0x93, 0xf8, 0x30, 0x20, 0x20, 0x74, 0x08, 0xee, 0x8d,
+ 0xd7, 0x1d, 0x4e, 0x54, 0x0c, 0x1c, 0xb5, 0x93, 0x06, 0x9a, 0x85, 0x07, 0x68, 0x5b, 0xc4, 0x6d,
+ 0x71, 0xbd, 0xd8, 0x25, 0xc3, 0xea, 0x83, 0xae, 0x7e, 0x7c, 0x15, 0x1e, 0xc9, 0x57, 0xd4, 0xe6,
+ 0x31, 0x89, 0x5a, 0xdb, 0x77, 0xd8, 0x3d, 0x4d, 0x9e, 0x06, 0xf5, 0xb6, 0x2f, 0x4f, 0x1d, 0xee,
+ 0x8b, 0x69, 0xeb, 0x9a, 0x1c, 0x94, 0x88, 0x92, 0x35, 0xd1, 0x4b, 0x10, 0x06, 0xd4, 0xcb, 0xe2,
+ 0xd6, 0x1e, 0x15, 0xb7, 0x4e, 0x68, 0x71, 0xcb, 0x94, 0xd9, 0x51, 0x46, 0xa9, 0xeb, 0xb4, 0xd5,
+ 0xc8, 0x3f, 0xb4, 0xb5, 0x41, 0x12, 0xc7, 0x63, 0x24, 0x4e, 0x25, 0x53, 0xcf, 0x32, 0x68, 0xf0,
+ 0xcc, 0x0d, 0x89, 0x52, 0x79, 0x1b, 0xff, 0x0c, 0x8a, 0xe3, 0xb4, 0x4c, 0x02, 0xb2, 0x83, 0x2d,
+ 0x2d, 0x73, 0x57, 0x4b, 0x4d, 0x51, 0x4e, 0x0d, 0x15, 0x73, 0xd7, 0xb2, 0x3e, 0xd4, 0x2e, 0xcf,
+ 0x24, 0xb7, 0xc2, 0x1a, 0x65, 0x2e, 0x49, 0x73, 0x66, 0xd2, 0xc0, 0xf5, 0xc2, 0xbd, 0x19, 0x3b,
+ 0x8f, 0x69, 0xc4, 0x09, 0xfe, 0x42, 0x2e, 0xcb, 0x11, 0xee, 0x7a, 0xf6, 0x9e, 0x3f, 0x7a, 0xa9,
+ 0x03, 0x7f, 0xa2, 0xed, 0x28, 0x05, 0x7b, 0xb9, 0x43, 0x22, 0x25, 0xbc, 0xd8, 0x8c, 0x73, 0xe1,
+ 0xe5, 0x33, 0x5a, 0x85, 0xc3, 0x74, 0xf5, 0x06, 0x71, 0xc5, 0x2e, 0x14, 0x31, 0xe9, 0xcc, 0x32,
+ 0x53, 0xa1, 0x02, 0xe3, 0x7f, 0x14, 0x0c, 0xbf, 0x08, 0x47, 0x1a, 0xd4, 0xbb, 0x1c, 0x09, 0xb6,
+ 0x29, 0x4f, 0x8b, 0x4b, 0x23, 0x41, 0x22, 0x91, 0x1a, 0xcf, 0x9a, 0xfa, 0x39, 0xaa, 0x95, 0xce,
+ 0x11, 0xfe, 0xbc, 0x54, 0x36, 0x44, 0xe2, 0x91, 0x2a, 0x15, 0xf1, 0xdf, 0xda, 0x91, 0x6b, 0x96,
+ 0xea, 0x81, 0xfe, 0x7c, 0x18, 0x8e, 0x33, 0xc2, 0x69, 0x9b, 0xb9, 0xe4, 0x15, 0x3f, 0x6a, 0xa5,
+ 0x8b, 0x2e, 0xf5, 0xe9, 0xdf, 0x68, 0x01, 0xa6, 0xd4, 0x87, 0x18, 0x9c, 0x48, 0xca, 0x90, 0x72,
+ 0xa0, 0x69, 0xec, 0x7c, 0xb1, 0xcd, 0x6c, 0x5a, 0x6e, 0x97, 0x4d, 0x2c, 0xfe, 0x71, 0x18, 0xee,
+ 0x2f, 0x72, 0x0b, 0xeb, 0xf8, 0x2e, 0x41, 0x5f, 0x01, 0x38, 0x99, 0x14, 0xac, 0xd9, 0x1b, 0x74,
+ 0xbc, 0x98, 0xb4, 0x67, 0xb1, 0x6f, 0x0c, 0xd0, 0x23, 0x78, 0xe6, 0xc3, 0x7b, 0x7f, 0x7d, 0x56,
+ 0xc3, 0xf8, 0x98, 0xba, 0x78, 0x74, 0x16, 0xac, 0xe2, 0xf2, 0x72, 0x2b, 0x57, 0xfd, 0xf6, 0xf3,
+ 0x60, 0x16, 0x7d, 0x09, 0xe0, 0xd8, 0x0a, 0x11, 0x39, 0xe6, 0xd1, 0x6e, 0xcc, 0xa2, 0xa0, 0x1e,
+ 0x28, 0xe3, 0x59, 0xc5, 0xf8, 0x14, 0x7a, 0xb2, 0x2f, 0x63, 0xf2, 0x7c, 0x5b, 0x72, 0x4e, 0xc8,
+ 0x43, 0x95, 0x07, 0x3d, 0x74, 0xac, 0x9b, 0x54, 0xab, 0xa3, 0x8d, 0x6b, 0x83, 0x43, 0x95, 0xd3,
+ 0xe2, 0x53, 0x0a, 0xf7, 0x38, 0xea, 0x2f, 0x29, 0x7a, 0x1f, 0x4e, 0x96, 0x83, 0x73, 0xc9, 0xf1,
+ 0xbd, 0xc2, 0xb6, 0xd1, 0x43, 0xf2, 0x22, 0x56, 0xe1, 0x33, 0xca, 0xee, 0x29, 0x74, 0x72, 0xab,
+ 0xdd, 0x39, 0xa2, 0x62, 0x99, 0x6e, 0x7d, 0x1e, 0x20, 0x0e, 0xc7, 0xb4, 0x40, 0x57, 0x72, 0x67,
+ 0x57, 0xfc, 0x33, 0x9e, 0xe8, 0x95, 0x80, 0x13, 0xb3, 0xa7, 0x95, 0xd9, 0x93, 0xe8, 0x44, 0x66,
+ 0x96, 0x0b, 0x46, 0x9c, 0xd0, 0xea, 0x69, 0xf4, 0x03, 0x00, 0x27, 0x93, 0x2c, 0xd5, 0x6f, 0xbb,
+ 0x97, 0x72, 0xb0, 0x31, 0xfd, 0xe0, 0x0f, 0xd2, 0x44, 0x97, 0x6e, 0x90, 0xd9, 0x6a, 0x1b, 0xe4,
+ 0x07, 0x00, 0x27, 0x54, 0xe9, 0x9f, 0x23, 0x4c, 0x75, 0x5b, 0xd0, 0xef, 0x06, 0x03, 0xdd, 0xcc,
+ 0xcf, 0x28, 0x56, 0xcb, 0x98, 0xad, 0xc2, 0x6a, 0x31, 0x89, 0x21, 0x4f, 0xdf, 0x2f, 0x00, 0x1e,
+ 0xc8, 0x6e, 0x4e, 0x39, 0xf7, 0x89, 0x5e, 0xdc, 0xa5, 0xdb, 0xd5, 0x40, 0xd1, 0xcf, 0x2b, 0xf4,
+ 0x45, 0x63, 0xae, 0x22, 0x7a, 0x42, 0x22, 0xe9, 0x7f, 0x04, 0x70, 0x32, 0xb9, 0xa7, 0xf4, 0x73,
+ 0x7b, 0xe9, 0x26, 0x33, 0x50, 0xf2, 0x67, 0x15, 0xf9, 0xbc, 0x71, 0xa6, 0x32, 0x79, 0x48, 0x24,
+ 0xf7, 0x4f, 0x00, 0xee, 0x4f, 0x6b, 0xe6, 0x1c, 0xbc, 0xc7, 0x76, 0x2c, 0x97, 0xd5, 0x03, 0x25,
+ 0x7f, 0x4e, 0x91, 0x2f, 0x18, 0x67, 0x2b, 0x91, 0xf3, 0x04, 0x44, 0xa2, 0xff, 0x0a, 0xe0, 0xc1,
+ 0xfc, 0x86, 0x96, 0xc3, 0xe3, 0x6e, 0xf8, 0xad, 0xd7, 0xb8, 0x81, 0xe2, 0x5f, 0x50, 0xf8, 0x4b,
+ 0x86, 0x59, 0x09, 0x5f, 0x64, 0x28, 0x72, 0x01, 0xdf, 0x01, 0x38, 0x2e, 0xef, 0x84, 0x39, 0x7b,
+ 0x8f, 0x30, 0xae, 0xdd, 0x19, 0x07, 0x8a, 0x7d, 0x4e, 0x61, 0x9b, 0xc6, 0xe9, 0x6a, 0xaa, 0x0b,
+ 0x1a, 0x4b, 0xe2, 0x6f, 0x00, 0x1c, 0x6b, 0xf6, 0xcf, 0x90, 0xcd, 0xdd, 0xc9, 0x90, 0x4b, 0x8a,
+ 0x77, 0xce, 0x98, 0xa9, 0xc6, 0x4b, 0xd4, 0xa1, 0xfc, 0x1a, 0xc0, 0x71, 0x59, 0x18, 0xf6, 0x13,
+ 0x58, 0x2b, 0x1c, 0x07, 0x0a, 0x3c, 0xa7, 0x80, 0x9f, 0xc6, 0xb8, 0x3f, 0x70, 0xe0, 0x47, 0x0a,
+ 0xf5, 0x3d, 0xb8, 0x2f, 0xb9, 0xed, 0xf1, 0x5e, 0xa2, 0x16, 0x17, 0x51, 0x03, 0x15, 0x6f, 0xb3,
+ 0xe2, 0x19, 0xbf, 0xa0, 0x6c, 0x9d, 0x43, 0x8b, 0x95, 0xc4, 0xb9, 0x95, 0xd6, 0xcf, 0xb7, 0xad,
+ 0x80, 0x7a, 0x1f, 0xd7, 0xc0, 0x3c, 0x40, 0x02, 0x8e, 0x6b, 0xa6, 0xb6, 0x83, 0x30, 0xaf, 0x10,
+ 0x66, 0x51, 0x35, 0xff, 0x04, 0xd4, 0x9b, 0x07, 0xe8, 0x5b, 0x00, 0x27, 0x9b, 0xe5, 0x78, 0x7f,
+ 0xbc, 0x57, 0xe8, 0xd9, 0xad, 0x68, 0x6f, 0x29, 0xe6, 0xd3, 0xf8, 0x21, 0x49, 0x35, 0x0f, 0xf2,
+ 0x17, 0x57, 0x7e, 0xbf, 0x3f, 0x05, 0xee, 0xde, 0x9f, 0x02, 0x7f, 0xde, 0x9f, 0x02, 0x6f, 0x5d,
+ 0xa8, 0xfe, 0x7b, 0x7c, 0xcb, 0x6f, 0xfc, 0xd5, 0x61, 0xf5, 0xb7, 0x7b, 0xe9, 0x9f, 0x00, 0x00,
+ 0x00, 0xff, 0xff, 0x07, 0xe3, 0x32, 0x3c, 0xe7, 0x17, 0x00, 0x00,
}
// Reference imports to suppress errors if they are not otherwise used.
@@ -2333,6 +2342,13 @@ func (m *WorkflowListRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) {
i -= len(m.XXX_unrecognized)
copy(dAtA[i:], m.XXX_unrecognized)
}
+ if len(m.NameFilter) > 0 {
+ i -= len(m.NameFilter)
+ copy(dAtA[i:], m.NameFilter)
+ i = encodeVarintWorkflow(dAtA, i, uint64(len(m.NameFilter)))
+ i--
+ dAtA[i] = 0x22
+ }
if len(m.Fields) > 0 {
i -= len(m.Fields)
copy(dAtA[i:], m.Fields)
@@ -3287,6 +3303,10 @@ func (m *WorkflowListRequest) Size() (n int) {
if l > 0 {
n += 1 + l + sovWorkflow(uint64(l))
}
+ l = len(m.NameFilter)
+ if l > 0 {
+ n += 1 + l + sovWorkflow(uint64(l))
+ }
if m.XXX_unrecognized != nil {
n += len(m.XXX_unrecognized)
}
@@ -4215,6 +4235,38 @@ func (m *WorkflowListRequest) Unmarshal(dAtA []byte) error {
}
m.Fields = string(dAtA[iNdEx:postIndex])
iNdEx = postIndex
+ case 4:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field NameFilter", wireType)
+ }
+ var stringLen uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowWorkflow
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ stringLen |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ intStringLen := int(stringLen)
+ if intStringLen < 0 {
+ return ErrInvalidLengthWorkflow
+ }
+ postIndex := iNdEx + intStringLen
+ if postIndex < 0 {
+ return ErrInvalidLengthWorkflow
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.NameFilter = string(dAtA[iNdEx:postIndex])
+ iNdEx = postIndex
default:
iNdEx = preIndex
skippy, err := skipWorkflow(dAtA[iNdEx:])
diff --git a/pkg/apiclient/workflow/workflow.proto b/pkg/apiclient/workflow/workflow.proto
index edfeaf171280..17b234c06bfd 100644
--- a/pkg/apiclient/workflow/workflow.proto
+++ b/pkg/apiclient/workflow/workflow.proto
@@ -33,6 +33,8 @@ message WorkflowListRequest {
k8s.io.apimachinery.pkg.apis.meta.v1.ListOptions listOptions = 2;
// Fields to be included or excluded in the response. e.g. "items.spec,items.status.phase", "-items.status.nodes"
string fields = 3;
+ // Filter type used for name filtering. Exact | Contains | Prefix. Default to Exact
+ string nameFilter = 4;
}
message WorkflowResubmitRequest {
diff --git a/pkg/apis/api-rules/violation_exceptions.list b/pkg/apis/api-rules/violation_exceptions.list
index ccf495af1bfb..dc3b89a0917c 100644
--- a/pkg/apis/api-rules/violation_exceptions.list
+++ b/pkg/apis/api-rules/violation_exceptions.list
@@ -28,6 +28,8 @@ API rule violation: list_type_missing,github.com/argoproj/argo-workflows/v3/pkg/
API rule violation: list_type_missing,github.com/argoproj/argo-workflows/v3/pkg/apis/workflow/v1alpha1,SemaphoreStatus,Holding
API rule violation: list_type_missing,github.com/argoproj/argo-workflows/v3/pkg/apis/workflow/v1alpha1,SemaphoreStatus,Waiting
API rule violation: list_type_missing,github.com/argoproj/argo-workflows/v3/pkg/apis/workflow/v1alpha1,SubmitOpts,Parameters
+API rule violation: list_type_missing,github.com/argoproj/argo-workflows/v3/pkg/apis/workflow/v1alpha1,Synchronization,Mutexes
+API rule violation: list_type_missing,github.com/argoproj/argo-workflows/v3/pkg/apis/workflow/v1alpha1,Synchronization,Semaphores
API rule violation: list_type_missing,github.com/argoproj/argo-workflows/v3/pkg/apis/workflow/v1alpha1,Template,HostAliases
API rule violation: list_type_missing,github.com/argoproj/argo-workflows/v3/pkg/apis/workflow/v1alpha1,Template,InitContainers
API rule violation: list_type_missing,github.com/argoproj/argo-workflows/v3/pkg/apis/workflow/v1alpha1,Template,Sidecars
diff --git a/pkg/apis/workflow/v1alpha1/artifact_repository_types_test.go b/pkg/apis/workflow/v1alpha1/artifact_repository_types_test.go
index 374321e69c74..78067b0138f2 100644
--- a/pkg/apis/workflow/v1alpha1/artifact_repository_types_test.go
+++ b/pkg/apis/workflow/v1alpha1/artifact_repository_types_test.go
@@ -5,7 +5,7 @@ import (
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
- "k8s.io/utils/pointer"
+ "k8s.io/utils/ptr"
)
func TestArtifactRepository(t *testing.T) {
@@ -16,9 +16,9 @@ func TestArtifactRepository(t *testing.T) {
assert.Nil(t, l)
})
t.Run("ArchiveLogs", func(t *testing.T) {
- r := &ArtifactRepository{Artifactory: &ArtifactoryArtifactRepository{}, ArchiveLogs: pointer.Bool(true)}
+ r := &ArtifactRepository{Artifactory: &ArtifactoryArtifactRepository{}, ArchiveLogs: ptr.To(true)}
l := r.ToArtifactLocation()
- assert.Equal(t, pointer.Bool(true), l.ArchiveLogs)
+ assert.Equal(t, ptr.To(true), l.ArchiveLogs)
})
t.Run("Artifactory", func(t *testing.T) {
r := &ArtifactRepository{Artifactory: &ArtifactoryArtifactRepository{RepoURL: "http://my-repo"}}
@@ -66,6 +66,6 @@ func TestArtifactRepository(t *testing.T) {
func TestArtifactRepository_IsArchiveLogs(t *testing.T) {
assert.False(t, (&ArtifactRepository{}).IsArchiveLogs())
- assert.False(t, (&ArtifactRepository{ArchiveLogs: pointer.Bool(false)}).IsArchiveLogs())
- assert.True(t, (&ArtifactRepository{ArchiveLogs: pointer.Bool(true)}).IsArchiveLogs())
+ assert.False(t, (&ArtifactRepository{ArchiveLogs: ptr.To(false)}).IsArchiveLogs())
+ assert.True(t, (&ArtifactRepository{ArchiveLogs: ptr.To(true)}).IsArchiveLogs())
}
diff --git a/pkg/apis/workflow/v1alpha1/cron_workflow_types.go b/pkg/apis/workflow/v1alpha1/cron_workflow_types.go
index dc74910bca5d..65cb6884eb18 100644
--- a/pkg/apis/workflow/v1alpha1/cron_workflow_types.go
+++ b/pkg/apis/workflow/v1alpha1/cron_workflow_types.go
@@ -1,6 +1,7 @@
package v1alpha1
import (
+ "context"
"strings"
v1 "k8s.io/api/core/v1"
@@ -8,6 +9,7 @@ import (
"k8s.io/apimachinery/pkg/types"
"github.com/argoproj/argo-workflows/v3/pkg/apis/workflow"
+ "github.com/argoproj/argo-workflows/v3/util/deprecation"
)
// CronWorkflow is the definition of a scheduled workflow resource
@@ -44,8 +46,8 @@ const annotationKeyLatestSchedule = workflow.CronWorkflowFullName + "/last-used-
type CronWorkflowSpec struct {
// WorkflowSpec is the spec of the workflow to be run
WorkflowSpec WorkflowSpec `json:"workflowSpec" protobuf:"bytes,1,opt,name=workflowSpec,casttype=WorkflowSpec"`
- // Schedule is a schedule to run the Workflow in Cron format
- Schedule string `json:"schedule" protobuf:"bytes,2,opt,name=schedule"`
+ // Schedule is a schedule to run the Workflow in Cron format. Deprecated, use Schedules
+ Schedule string `json:"schedule,omitempty" protobuf:"bytes,2,opt,name=schedule"`
// ConcurrencyPolicy is the K8s-style concurrency policy that will be used
ConcurrencyPolicy ConcurrencyPolicy `json:"concurrencyPolicy,omitempty" protobuf:"bytes,3,opt,name=concurrencyPolicy,casttype=ConcurrencyPolicy"`
// Suspend is a flag that will stop new CronWorkflows from running if set to true
@@ -63,15 +65,17 @@ type CronWorkflowSpec struct {
WorkflowMetadata *metav1.ObjectMeta `json:"workflowMetadata,omitempty" protobuf:"bytes,9,opt,name=workflowMeta"`
// v3.6 and after: StopStrategy defines if the CronWorkflow should stop scheduling based on a condition
StopStrategy *StopStrategy `json:"stopStrategy,omitempty" protobuf:"bytes,10,opt,name=stopStrategy"`
- // Schedules is a list of schedules to run the Workflow in Cron format
+ // v3.6 and after: Schedules is a list of schedules to run the Workflow in Cron format
Schedules []string `json:"schedules,omitempty" protobuf:"bytes,11,opt,name=schedules"`
+ // v3.6 and after: When is an expression that determines if a run should be scheduled.
+ When string `json:"when,omitempty" protobuf:"bytes,12,opt,name=when"`
}
-// v3.6 and after: StopStrategy defines if the CronWorkflow should stop scheduling based on a condition
+// StopStrategy defines if the CronWorkflow should stop scheduling based on an expression. v3.6 and after
type StopStrategy struct {
- // v3.6 and after: Condition is an expression that stops scheduling workflows when true. Use the
- // variables `failed` or `succeeded` to access the number of failed or successful child workflows.
- Condition string `json:"condition" protobuf:"bytes,1,opt,name=condition"`
+ // v3.6 and after: Expression is an expression that stops scheduling workflows when true. Use the variables
+ // `cronworkflow`.`failed` or `cronworkflow`.`succeeded` to access the number of failed or successful child workflows.
+ Expression string `json:"expression" protobuf:"bytes,1,opt,name=expression"`
}
// CronWorkflowStatus is the status of a CronWorkflow
@@ -101,7 +105,7 @@ func (c *CronWorkflow) IsUsingNewSchedule() bool {
lastUsedSchedule, exists := c.Annotations[annotationKeyLatestSchedule]
// If last-used-schedule does not exist, or if it does not match the current schedule then the CronWorkflow schedule
// was just updated
- return !exists || lastUsedSchedule != c.Spec.GetScheduleString()
+ return !exists || lastUsedSchedule != c.Spec.GetScheduleWithTimezoneString()
}
func (c *CronWorkflow) SetSchedule(schedule string) {
@@ -129,16 +133,33 @@ func (c *CronWorkflow) GetLatestSchedule() string {
return c.Annotations[annotationKeyLatestSchedule]
}
-// GetScheduleString returns the schedule expression with timezone, if available. If multiple
+// GetScheduleString returns the schedule expression without timezone. If multiple
// expressions are configured it returns a comma separated list of cron expressions
func (c *CronWorkflowSpec) GetScheduleString() string {
+ return c.getScheduleString(false)
+}
+
+// GetScheduleString returns the schedule expression with timezone, if available. If multiple
+// expressions are configured it returns a comma separated list of cron expressions
+func (c *CronWorkflowSpec) GetScheduleWithTimezoneString() string {
+ return c.getScheduleString(true)
+}
+
+func (c *CronWorkflowSpec) getScheduleString(withTimezone bool) string {
var scheduleString string
if c.Schedule != "" {
- scheduleString = c.withTimezone(c.Schedule)
+ if withTimezone {
+ scheduleString = c.withTimezone(c.Schedule)
+ } else {
+ scheduleString = c.Schedule
+ }
} else {
var sb strings.Builder
for i, schedule := range c.Schedules {
- sb.WriteString(c.withTimezone(schedule))
+ if withTimezone {
+ schedule = c.withTimezone(schedule)
+ }
+ sb.WriteString(schedule)
if i != len(c.Schedules)-1 {
sb.WriteString(",")
}
@@ -150,17 +171,17 @@ func (c *CronWorkflowSpec) GetScheduleString() string {
// GetSchedulesWithTimezone returns all schedules configured for the CronWorkflow with a timezone. It handles
// both Spec.Schedules and Spec.Schedule for backwards compatibility
-func (c *CronWorkflowSpec) GetSchedulesWithTimezone() []string {
- return c.getSchedules(true)
+func (c *CronWorkflowSpec) GetSchedulesWithTimezone(ctx context.Context) []string {
+ return c.getSchedules(ctx, true)
}
// GetSchedules returns all schedules configured for the CronWorkflow. It handles both Spec.Schedules
// and Spec.Schedule for backwards compatibility
-func (c *CronWorkflowSpec) GetSchedules() []string {
- return c.getSchedules(false)
+func (c *CronWorkflowSpec) GetSchedules(ctx context.Context) []string {
+ return c.getSchedules(ctx, false)
}
-func (c *CronWorkflowSpec) getSchedules(withTimezone bool) []string {
+func (c *CronWorkflowSpec) getSchedules(ctx context.Context, withTimezone bool) []string {
var schedules []string
if c.Schedule != "" {
schedule := c.Schedule
@@ -168,6 +189,7 @@ func (c *CronWorkflowSpec) getSchedules(withTimezone bool) []string {
schedule = c.withTimezone(c.Schedule)
}
schedules = append(schedules, schedule)
+ deprecation.Record(ctx, deprecation.Schedule)
} else {
schedules = make([]string, len(c.Schedules))
for i, schedule := range c.Schedules {
diff --git a/pkg/apis/workflow/v1alpha1/cron_workflow_types_test.go b/pkg/apis/workflow/v1alpha1/cron_workflow_types_test.go
index d1af993c2086..021b60f6e9de 100644
--- a/pkg/apis/workflow/v1alpha1/cron_workflow_types_test.go
+++ b/pkg/apis/workflow/v1alpha1/cron_workflow_types_test.go
@@ -1,6 +1,7 @@
package v1alpha1
import (
+ "context"
"testing"
"github.com/stretchr/testify/assert"
@@ -21,15 +22,16 @@ func TestCronWorkflowSpec_GetScheduleStrings(t *testing.T) {
Timezone: "",
Schedule: "* * * * *",
}
-
- assert.Equal(t, []string{"* * * * *"}, cwfSpec.GetSchedules())
- assert.Equal(t, []string{"* * * * *"}, cwfSpec.GetSchedulesWithTimezone())
+ ctx := context.Background()
+ assert.Equal(t, []string{"* * * * *"}, cwfSpec.GetSchedules(ctx))
+ assert.Equal(t, []string{"* * * * *"}, cwfSpec.GetSchedulesWithTimezone(ctx))
assert.Equal(t, "* * * * *", cwfSpec.GetScheduleString())
cwfSpec.Timezone = "America/Los_Angeles"
- assert.Equal(t, []string{"* * * * *"}, cwfSpec.GetSchedules())
- assert.Equal(t, []string{"CRON_TZ=America/Los_Angeles * * * * *"}, cwfSpec.GetSchedulesWithTimezone())
- assert.Equal(t, "CRON_TZ=America/Los_Angeles * * * * *", cwfSpec.GetScheduleString())
+ assert.Equal(t, []string{"* * * * *"}, cwfSpec.GetSchedules(ctx))
+ assert.Equal(t, []string{"CRON_TZ=America/Los_Angeles * * * * *"}, cwfSpec.GetSchedulesWithTimezone(ctx))
+ assert.Equal(t, "* * * * *", cwfSpec.GetScheduleString())
+ assert.Equal(t, "CRON_TZ=America/Los_Angeles * * * * *", cwfSpec.GetScheduleWithTimezoneString())
cwfSpec = CronWorkflowSpec{
Timezone: "",
@@ -38,7 +40,8 @@ func TestCronWorkflowSpec_GetScheduleStrings(t *testing.T) {
assert.Equal(t, "* * * * *,0 * * * *", cwfSpec.GetScheduleString())
cwfSpec.Timezone = "America/Los_Angeles"
- assert.Equal(t, []string{"* * * * *", "0 * * * *"}, cwfSpec.GetSchedules())
- assert.Equal(t, []string{"CRON_TZ=America/Los_Angeles * * * * *", "CRON_TZ=America/Los_Angeles 0 * * * *"}, cwfSpec.GetSchedulesWithTimezone())
- assert.Equal(t, "CRON_TZ=America/Los_Angeles * * * * *,CRON_TZ=America/Los_Angeles 0 * * * *", cwfSpec.GetScheduleString())
+ assert.Equal(t, []string{"* * * * *", "0 * * * *"}, cwfSpec.GetSchedules(ctx))
+ assert.Equal(t, []string{"CRON_TZ=America/Los_Angeles * * * * *", "CRON_TZ=America/Los_Angeles 0 * * * *"}, cwfSpec.GetSchedulesWithTimezone(ctx))
+ assert.Equal(t, "* * * * *,0 * * * *", cwfSpec.GetScheduleString())
+ assert.Equal(t, "CRON_TZ=America/Los_Angeles * * * * *,CRON_TZ=America/Los_Angeles 0 * * * *", cwfSpec.GetScheduleWithTimezoneString())
}
diff --git a/pkg/apis/workflow/v1alpha1/generated.pb.go b/pkg/apis/workflow/v1alpha1/generated.pb.go
index 9a791c5c147b..90ddb8a58c04 100644
--- a/pkg/apis/workflow/v1alpha1/generated.pb.go
+++ b/pkg/apis/workflow/v1alpha1/generated.pb.go
@@ -4448,700 +4448,705 @@ func init() {
}
var fileDescriptor_724696e352c3df5f = []byte{
- // 11086 bytes of a gzipped FileDescriptorProto
+ // 11163 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe4, 0xbd, 0x6b, 0x70, 0x64, 0xc7,
- 0x75, 0x18, 0xcc, 0x3b, 0xc0, 0xe0, 0x71, 0x06, 0xc0, 0x62, 0x7b, 0x5f, 0x43, 0x2c, 0xb9, 0xa0,
- 0x2f, 0x45, 0x7e, 0xa4, 0x4d, 0x61, 0xcd, 0xa5, 0xf4, 0x85, 0x91, 0x12, 0x49, 0x78, 0x2c, 0xb0,
- 0x4b, 0x2c, 0x16, 0x60, 0x0f, 0x76, 0xd7, 0xa4, 0x68, 0x49, 0x17, 0x33, 0x8d, 0x99, 0x4b, 0xcc,
- 0xdc, 0x3b, 0xbc, 0xf7, 0x0e, 0x76, 0xc1, 0x87, 0xa4, 0x50, 0xef, 0x58, 0xb6, 0x62, 0x59, 0x92,
- 0x25, 0x25, 0xa9, 0x52, 0x14, 0x29, 0x61, 0xc9, 0xae, 0xa4, 0xec, 0x5f, 0x29, 0xbb, 0xf2, 0x27,
- 0x95, 0x72, 0x29, 0xe5, 0x54, 0x22, 0x57, 0x94, 0x92, 0x7e, 0xd8, 0x60, 0xb4, 0x49, 0xf4, 0x23,
- 0x89, 0xaa, 0x12, 0x55, 0x9c, 0xd8, 0x9b, 0x47, 0xa5, 0xfa, 0x79, 0xbb, 0xef, 0xdc, 0xc1, 0x0e,
- 0xb0, 0x0d, 0xac, 0xca, 0xfe, 0x05, 0xcc, 0xe9, 0xee, 0x73, 0xba, 0xfb, 0x76, 0x9f, 0x3e, 0xaf,
- 0x3e, 0x0d, 0x6b, 0x75, 0x3f, 0x69, 0x74, 0x36, 0x66, 0xaa, 0x61, 0xeb, 0xbc, 0x17, 0xd5, 0xc3,
- 0x76, 0x14, 0xbe, 0xcc, 0xfe, 0x79, 0xe7, 0xcd, 0x30, 0xda, 0xda, 0x6c, 0x86, 0x37, 0xe3, 0xf3,
- 0xdb, 0xcf, 0x9c, 0x6f, 0x6f, 0xd5, 0xcf, 0x7b, 0x6d, 0x3f, 0x3e, 0x2f, 0xa1, 0xe7, 0xb7, 0x9f,
- 0xf6, 0x9a, 0xed, 0x86, 0xf7, 0xf4, 0xf9, 0x3a, 0x09, 0x48, 0xe4, 0x25, 0xa4, 0x36, 0xd3, 0x8e,
- 0xc2, 0x24, 0x44, 0x1f, 0x48, 0x31, 0xce, 0x48, 0x8c, 0xec, 0x9f, 0x0f, 0x2b, 0x8c, 0x33, 0xdb,
- 0xcf, 0xcc, 0xb4, 0xb7, 0xea, 0x33, 0x14, 0xe3, 0x8c, 0x84, 0xce, 0x48, 0x8c, 0x53, 0xef, 0xd4,
- 0xfa, 0x54, 0x0f, 0xeb, 0xe1, 0x79, 0x86, 0x78, 0xa3, 0xb3, 0xc9, 0x7e, 0xb1, 0x1f, 0xec, 0x3f,
- 0x4e, 0x70, 0xca, 0xdd, 0x7a, 0x36, 0x9e, 0xf1, 0x43, 0xda, 0xbf, 0xf3, 0xd5, 0x30, 0x22, 0xe7,
- 0xb7, 0xbb, 0x3a, 0x35, 0xf5, 0x0e, 0xad, 0x4e, 0x3b, 0x6c, 0xfa, 0xd5, 0x9d, 0xbc, 0x5a, 0xef,
- 0x4a, 0x6b, 0xb5, 0xbc, 0x6a, 0xc3, 0x0f, 0x48, 0xb4, 0x93, 0x0e, 0xbd, 0x45, 0x12, 0x2f, 0xaf,
- 0xd5, 0xf9, 0x5e, 0xad, 0xa2, 0x4e, 0x90, 0xf8, 0x2d, 0xd2, 0xd5, 0xe0, 0xff, 0xbf, 0x5b, 0x83,
- 0xb8, 0xda, 0x20, 0x2d, 0xaf, 0xab, 0xdd, 0x33, 0xbd, 0xda, 0x75, 0x12, 0xbf, 0x79, 0xde, 0x0f,
- 0x92, 0x38, 0x89, 0xb2, 0x8d, 0xdc, 0x8b, 0x30, 0x34, 0xdb, 0x0a, 0x3b, 0x41, 0x82, 0xde, 0x0b,
- 0xc5, 0x6d, 0xaf, 0xd9, 0x21, 0x65, 0xe7, 0x11, 0xe7, 0x89, 0xd1, 0xb9, 0xc7, 0xbe, 0xbb, 0x3b,
- 0xfd, 0xc0, 0xed, 0xdd, 0xe9, 0xe2, 0x75, 0x0a, 0xbc, 0xb3, 0x3b, 0x7d, 0x92, 0x04, 0xd5, 0xb0,
- 0xe6, 0x07, 0xf5, 0xf3, 0x2f, 0xc7, 0x61, 0x30, 0x73, 0xb5, 0xd3, 0xda, 0x20, 0x11, 0xe6, 0x6d,
- 0xdc, 0x7f, 0x53, 0x80, 0x63, 0xb3, 0x51, 0xb5, 0xe1, 0x6f, 0x93, 0x4a, 0x42, 0xf1, 0xd7, 0x77,
- 0x50, 0x03, 0x06, 0x12, 0x2f, 0x62, 0xe8, 0x4a, 0x17, 0x56, 0x66, 0xee, 0xf5, 0xbb, 0xcf, 0xac,
- 0x7b, 0x91, 0xc4, 0x3d, 0x37, 0x7c, 0x7b, 0x77, 0x7a, 0x60, 0xdd, 0x8b, 0x30, 0x25, 0x81, 0x9a,
- 0x30, 0x18, 0x84, 0x01, 0x29, 0x17, 0x18, 0xa9, 0xab, 0xf7, 0x4e, 0xea, 0x6a, 0x18, 0xa8, 0x71,
- 0xcc, 0x8d, 0xdc, 0xde, 0x9d, 0x1e, 0xa4, 0x10, 0xcc, 0xa8, 0xd0, 0x71, 0xbd, 0xea, 0xb7, 0xcb,
- 0x03, 0xb6, 0xc6, 0xf5, 0xa2, 0xdf, 0x36, 0xc7, 0xf5, 0xa2, 0xdf, 0xc6, 0x94, 0x84, 0xfb, 0xb9,
- 0x02, 0x8c, 0xce, 0x46, 0xf5, 0x4e, 0x8b, 0x04, 0x49, 0x8c, 0x3e, 0x06, 0xd0, 0xf6, 0x22, 0xaf,
- 0x45, 0x12, 0x12, 0xc5, 0x65, 0xe7, 0x91, 0x81, 0x27, 0x4a, 0x17, 0x96, 0xef, 0x9d, 0xfc, 0x9a,
- 0xc4, 0x39, 0x87, 0xc4, 0x27, 0x07, 0x05, 0x8a, 0xb1, 0x46, 0x12, 0xbd, 0x06, 0xa3, 0x5e, 0x94,
- 0xf8, 0x9b, 0x5e, 0x35, 0x89, 0xcb, 0x05, 0x46, 0xff, 0xb9, 0x7b, 0xa7, 0x3f, 0x2b, 0x50, 0xce,
- 0x1d, 0x17, 0xe4, 0x47, 0x25, 0x24, 0xc6, 0x29, 0x3d, 0xf7, 0xf7, 0x06, 0xa1, 0x34, 0x1b, 0x25,
- 0x4b, 0xf3, 0x95, 0xc4, 0x4b, 0x3a, 0x31, 0xfa, 0x43, 0x07, 0x4e, 0xc4, 0x7c, 0xda, 0x7c, 0x12,
- 0xaf, 0x45, 0x61, 0x95, 0xc4, 0x31, 0xa9, 0x89, 0x79, 0xd9, 0xb4, 0xd2, 0x2f, 0x49, 0x6c, 0xa6,
- 0xd2, 0x4d, 0xe8, 0x62, 0x90, 0x44, 0x3b, 0x73, 0x4f, 0x8b, 0x3e, 0x9f, 0xc8, 0xa9, 0xf1, 0xe6,
- 0xdb, 0xd3, 0x48, 0x0e, 0x85, 0x62, 0xe2, 0x9f, 0x18, 0xe7, 0xf5, 0x1a, 0x7d, 0xcd, 0x81, 0xb1,
- 0x76, 0x58, 0x8b, 0x31, 0xa9, 0x86, 0x9d, 0x36, 0xa9, 0x89, 0xe9, 0xfd, 0xb0, 0xdd, 0x61, 0xac,
- 0x69, 0x14, 0x78, 0xff, 0x4f, 0x8a, 0xfe, 0x8f, 0xe9, 0x45, 0xd8, 0xe8, 0x0a, 0x7a, 0x16, 0xc6,
- 0x82, 0x30, 0xa9, 0xb4, 0x49, 0xd5, 0xdf, 0xf4, 0x49, 0x8d, 0x2d, 0xfc, 0x91, 0xb4, 0xe5, 0x55,
- 0xad, 0x0c, 0x1b, 0x35, 0xa7, 0x16, 0xa1, 0xdc, 0x6b, 0xe6, 0xd0, 0x24, 0x0c, 0x6c, 0x91, 0x1d,
- 0xce, 0x6c, 0x30, 0xfd, 0x17, 0x9d, 0x94, 0x0c, 0x88, 0x6e, 0xe3, 0x11, 0xc1, 0x59, 0xde, 0x53,
- 0x78, 0xd6, 0x99, 0x7a, 0x3f, 0x1c, 0xef, 0xea, 0xfa, 0x7e, 0x10, 0xb8, 0xdf, 0x1b, 0x82, 0x11,
- 0xf9, 0x29, 0xd0, 0x23, 0x30, 0x18, 0x78, 0x2d, 0xc9, 0xe7, 0xc6, 0xc4, 0x38, 0x06, 0xaf, 0x7a,
- 0x2d, 0xba, 0xc3, 0xbd, 0x16, 0xa1, 0x35, 0xda, 0x5e, 0xd2, 0x60, 0x78, 0xb4, 0x1a, 0x6b, 0x5e,
- 0xd2, 0xc0, 0xac, 0x04, 0x3d, 0x04, 0x83, 0xad, 0xb0, 0x46, 0xd8, 0x5c, 0x14, 0x39, 0x87, 0x58,
- 0x09, 0x6b, 0x04, 0x33, 0x28, 0x6d, 0xbf, 0x19, 0x85, 0xad, 0xf2, 0xa0, 0xd9, 0x7e, 0x31, 0x0a,
- 0x5b, 0x98, 0x95, 0xa0, 0xaf, 0x3a, 0x30, 0x29, 0xd7, 0xf6, 0x95, 0xb0, 0xea, 0x25, 0x7e, 0x18,
- 0x94, 0x8b, 0x8c, 0xa3, 0x60, 0x7b, 0x5b, 0x4a, 0x62, 0x9e, 0x2b, 0x8b, 0x2e, 0x4c, 0x66, 0x4b,
- 0x70, 0x57, 0x2f, 0xd0, 0x05, 0x80, 0x7a, 0x33, 0xdc, 0xf0, 0x9a, 0x74, 0x42, 0xca, 0x43, 0x6c,
- 0x08, 0x8a, 0x33, 0x2c, 0xa9, 0x12, 0xac, 0xd5, 0x42, 0xb7, 0x60, 0xd8, 0xe3, 0xdc, 0xbf, 0x3c,
- 0xcc, 0x06, 0xf1, 0xbc, 0x8d, 0x41, 0x18, 0xc7, 0xc9, 0x5c, 0xe9, 0xf6, 0xee, 0xf4, 0xb0, 0x00,
- 0x62, 0x49, 0x0e, 0x3d, 0x05, 0x23, 0x61, 0x9b, 0xf6, 0xdb, 0x6b, 0x96, 0x47, 0xd8, 0xc2, 0x9c,
- 0x14, 0x7d, 0x1d, 0x59, 0x15, 0x70, 0xac, 0x6a, 0xa0, 0x27, 0x61, 0x38, 0xee, 0x6c, 0xd0, 0xef,
- 0x58, 0x1e, 0x65, 0x03, 0x3b, 0x26, 0x2a, 0x0f, 0x57, 0x38, 0x18, 0xcb, 0x72, 0xf4, 0x6e, 0x28,
- 0x45, 0xa4, 0xda, 0x89, 0x62, 0x42, 0x3f, 0x6c, 0x19, 0x18, 0xee, 0x13, 0xa2, 0x7a, 0x09, 0xa7,
- 0x45, 0x58, 0xaf, 0x87, 0xde, 0x07, 0x13, 0xf4, 0x03, 0x5f, 0xbc, 0xd5, 0x8e, 0x48, 0x1c, 0xd3,
- 0xaf, 0x5a, 0x62, 0x84, 0x4e, 0x8b, 0x96, 0x13, 0x8b, 0x46, 0x29, 0xce, 0xd4, 0x46, 0xaf, 0x03,
- 0x78, 0x8a, 0x67, 0x94, 0xc7, 0xd8, 0x64, 0x5e, 0xb1, 0xb7, 0x22, 0x96, 0xe6, 0xe7, 0x26, 0xe8,
- 0x77, 0x4c, 0x7f, 0x63, 0x8d, 0x1e, 0x9d, 0x9f, 0x1a, 0x69, 0x92, 0x84, 0xd4, 0xca, 0xe3, 0x6c,
- 0xc0, 0x6a, 0x7e, 0x16, 0x38, 0x18, 0xcb, 0x72, 0xf7, 0x6f, 0x17, 0x40, 0xc3, 0x82, 0xe6, 0x60,
- 0x44, 0xf0, 0x35, 0xb1, 0x25, 0xe7, 0x1e, 0x97, 0xdf, 0x41, 0x7e, 0xc1, 0x3b, 0xbb, 0xb9, 0xfc,
- 0x50, 0xb5, 0x43, 0x6f, 0x40, 0xa9, 0x1d, 0xd6, 0x56, 0x48, 0xe2, 0xd5, 0xbc, 0xc4, 0x13, 0xa7,
- 0xb9, 0x85, 0x13, 0x46, 0x62, 0x9c, 0x3b, 0x46, 0x3f, 0xdd, 0x5a, 0x4a, 0x02, 0xeb, 0xf4, 0xd0,
- 0x73, 0x80, 0x62, 0x12, 0x6d, 0xfb, 0x55, 0x32, 0x5b, 0xad, 0x52, 0x91, 0x88, 0x6d, 0x80, 0x01,
- 0x36, 0x98, 0x29, 0x31, 0x18, 0x54, 0xe9, 0xaa, 0x81, 0x73, 0x5a, 0xb9, 0xdf, 0x2f, 0xc0, 0x84,
- 0x36, 0xd6, 0x36, 0xa9, 0xa2, 0xb7, 0x1c, 0x38, 0xa6, 0x8e, 0xb3, 0xb9, 0x9d, 0xab, 0x74, 0x55,
- 0xf1, 0xc3, 0x8a, 0xd8, 0xfc, 0xbe, 0x94, 0x96, 0xfa, 0x29, 0xe8, 0x70, 0x5e, 0x7f, 0x46, 0x8c,
- 0xe1, 0x58, 0xa6, 0x14, 0x67, 0xbb, 0x35, 0xf5, 0x15, 0x07, 0x4e, 0xe6, 0xa1, 0xc8, 0xe1, 0xb9,
- 0x0d, 0x9d, 0xe7, 0x5a, 0x65, 0x5e, 0x94, 0x2a, 0x1d, 0x8c, 0xce, 0xc7, 0xff, 0x6f, 0x01, 0x26,
- 0xf5, 0x25, 0xc4, 0x24, 0x81, 0x7f, 0xe6, 0xc0, 0x29, 0x39, 0x02, 0x4c, 0xe2, 0x4e, 0x33, 0x33,
- 0xbd, 0x2d, 0xab, 0xd3, 0xcb, 0x4f, 0xd2, 0xd9, 0x3c, 0x7a, 0x7c, 0x9a, 0x1f, 0x16, 0xd3, 0x7c,
- 0x2a, 0xb7, 0x0e, 0xce, 0xef, 0xea, 0xd4, 0xb7, 0x1c, 0x98, 0xea, 0x8d, 0x34, 0x67, 0xe2, 0xdb,
- 0xe6, 0xc4, 0xbf, 0x68, 0x6f, 0x90, 0x9c, 0x3c, 0x9b, 0x7e, 0x36, 0x58, 0xfd, 0x03, 0xfc, 0xf6,
- 0x08, 0x74, 0x9d, 0x21, 0xe8, 0x69, 0x28, 0x09, 0x76, 0x7c, 0x25, 0xac, 0xc7, 0xac, 0x93, 0x23,
- 0x7c, 0xaf, 0xcd, 0xa6, 0x60, 0xac, 0xd7, 0x41, 0x35, 0x28, 0xc4, 0xcf, 0x88, 0xae, 0x5b, 0x60,
- 0x6f, 0x95, 0x67, 0x94, 0x14, 0x39, 0x74, 0x7b, 0x77, 0xba, 0x50, 0x79, 0x06, 0x17, 0xe2, 0x67,
- 0xa8, 0xa4, 0x5e, 0xf7, 0x13, 0x7b, 0x92, 0xfa, 0x92, 0x9f, 0x28, 0x3a, 0x4c, 0x52, 0x5f, 0xf2,
- 0x13, 0x4c, 0x49, 0x50, 0x0d, 0xa4, 0x91, 0x24, 0x6d, 0x76, 0xe2, 0x5b, 0xd1, 0x40, 0x2e, 0xad,
- 0xaf, 0xaf, 0x29, 0x5a, 0x4c, 0xbe, 0xa0, 0x10, 0xcc, 0xa8, 0xa0, 0xcf, 0x3a, 0x74, 0xc6, 0x79,
- 0x61, 0x18, 0xed, 0x08, 0xc1, 0xe1, 0x9a, 0xbd, 0x25, 0x10, 0x46, 0x3b, 0x8a, 0xb8, 0xf8, 0x90,
- 0xaa, 0x00, 0xeb, 0xa4, 0xd9, 0xc0, 0x6b, 0x9b, 0x31, 0x93, 0x13, 0xec, 0x0c, 0x7c, 0x61, 0xb1,
- 0x92, 0x19, 0xf8, 0xc2, 0x62, 0x05, 0x33, 0x2a, 0xf4, 0x83, 0x46, 0xde, 0x4d, 0x21, 0x63, 0x58,
- 0xf8, 0xa0, 0xd8, 0xbb, 0x69, 0x7e, 0x50, 0xec, 0xdd, 0xc4, 0x94, 0x04, 0xa5, 0x14, 0xc6, 0x31,
- 0x13, 0x29, 0xac, 0x50, 0x5a, 0xad, 0x54, 0x4c, 0x4a, 0xab, 0x95, 0x0a, 0xa6, 0x24, 0xd8, 0x22,
- 0xad, 0xc6, 0x4c, 0x1e, 0xb1, 0xb3, 0x48, 0xe7, 0x33, 0x94, 0x96, 0xe6, 0x2b, 0x98, 0x92, 0xa0,
- 0x2c, 0xc3, 0x7b, 0xb5, 0x13, 0x71, 0x61, 0xa6, 0x74, 0x61, 0xd5, 0xc2, 0x7a, 0xa1, 0xe8, 0x14,
- 0xb5, 0xd1, 0xdb, 0xbb, 0xd3, 0x45, 0x06, 0xc2, 0x9c, 0x90, 0xfb, 0x07, 0x03, 0x29, 0xbb, 0x90,
- 0xfc, 0x1c, 0xfd, 0x3a, 0x3b, 0x08, 0x05, 0x2f, 0x10, 0xa2, 0xaf, 0x73, 0x68, 0xa2, 0xef, 0x09,
- 0x7e, 0xe2, 0x19, 0xe4, 0x70, 0x96, 0x3e, 0xfa, 0xa2, 0xd3, 0xad, 0xdb, 0x7a, 0xf6, 0xcf, 0xb2,
- 0xf4, 0x60, 0xe6, 0x67, 0xc5, 0x9e, 0x2a, 0xef, 0xd4, 0x67, 0x9d, 0x54, 0x88, 0x88, 0x7b, 0x9d,
- 0x03, 0x1f, 0x31, 0xcf, 0x01, 0x8b, 0x0a, 0xb9, 0xce, 0xf7, 0x3f, 0xe7, 0xc0, 0xb8, 0x84, 0x53,
- 0xf1, 0x38, 0x46, 0xb7, 0x60, 0x44, 0xf6, 0x54, 0x7c, 0x3d, 0x9b, 0xb6, 0x00, 0x25, 0xc4, 0xab,
- 0xce, 0x28, 0x6a, 0xee, 0x5b, 0x43, 0x80, 0xd2, 0xb3, 0xaa, 0x1d, 0xc6, 0x3e, 0xe3, 0x44, 0x07,
- 0x38, 0x85, 0x02, 0xed, 0x14, 0xba, 0x6e, 0xf3, 0x14, 0x4a, 0xbb, 0x65, 0x9c, 0x47, 0x5f, 0xcc,
- 0xf0, 0x6d, 0x7e, 0x30, 0x7d, 0xf8, 0x50, 0xf8, 0xb6, 0xd6, 0x85, 0xbd, 0x39, 0xf8, 0xb6, 0xe0,
- 0xe0, 0xfc, 0xe8, 0xfa, 0x25, 0xbb, 0x1c, 0x5c, 0xeb, 0x45, 0x96, 0x97, 0x47, 0x9c, 0xc3, 0xf2,
- 0xb3, 0xeb, 0x86, 0x55, 0x0e, 0xab, 0x51, 0x35, 0x79, 0x6d, 0xc4, 0x79, 0xed, 0x90, 0x2d, 0x9a,
- 0x1a, 0xaf, 0xcd, 0xd2, 0x54, 0x5c, 0xf7, 0x55, 0xc9, 0x75, 0xf9, 0xa9, 0xf5, 0x82, 0x65, 0xae,
- 0xab, 0xd1, 0xed, 0xe6, 0xbf, 0xaf, 0xc0, 0xa9, 0xee, 0x7a, 0x98, 0x6c, 0xa2, 0xf3, 0x30, 0x5a,
- 0x0d, 0x83, 0x4d, 0xbf, 0xbe, 0xe2, 0xb5, 0x85, 0xbe, 0xa6, 0x78, 0xd1, 0xbc, 0x2c, 0xc0, 0x69,
- 0x1d, 0xf4, 0x30, 0x67, 0x3c, 0xdc, 0x22, 0x52, 0x12, 0x55, 0x07, 0x96, 0xc9, 0x0e, 0xe3, 0x42,
- 0xef, 0x19, 0xf9, 0xea, 0x37, 0xa6, 0x1f, 0xf8, 0xf8, 0x1f, 0x3f, 0xf2, 0x80, 0xfb, 0x47, 0x03,
- 0x70, 0x36, 0x97, 0xa6, 0x90, 0xd6, 0x7f, 0xdb, 0x90, 0xd6, 0xb5, 0x72, 0xc1, 0x45, 0x6e, 0xd8,
- 0x14, 0x64, 0x35, 0xf4, 0x79, 0x72, 0xb9, 0x56, 0x8c, 0xf3, 0x3b, 0x45, 0x27, 0x2a, 0xf0, 0x5a,
- 0x24, 0x6e, 0x7b, 0x55, 0x22, 0x46, 0xaf, 0x26, 0xea, 0xaa, 0x2c, 0xc0, 0x69, 0x1d, 0xae, 0x42,
- 0x6f, 0x7a, 0x9d, 0x66, 0x22, 0x0c, 0x65, 0x9a, 0x0a, 0xcd, 0xc0, 0x58, 0x96, 0xa3, 0xbf, 0xe3,
- 0x00, 0xea, 0xa6, 0x2a, 0x36, 0xe2, 0xfa, 0x61, 0xcc, 0xc3, 0xdc, 0xe9, 0xdb, 0x9a, 0x12, 0xae,
- 0x8d, 0x34, 0xa7, 0x1f, 0xda, 0x37, 0xfd, 0x68, 0x7a, 0x0e, 0x71, 0xe5, 0xa0, 0x0f, 0x1b, 0x1a,
- 0x33, 0xb5, 0x54, 0xab, 0x24, 0x8e, 0xb9, 0x39, 0x4e, 0x37, 0xb5, 0x30, 0x30, 0x96, 0xe5, 0x68,
- 0x1a, 0x8a, 0x24, 0x8a, 0xc2, 0x48, 0xe8, 0xda, 0x6c, 0x19, 0x5f, 0xa4, 0x00, 0xcc, 0xe1, 0xee,
- 0x8f, 0x0b, 0x50, 0xee, 0xa5, 0x9d, 0xa0, 0xdf, 0xd5, 0xf4, 0x6a, 0xa1, 0x39, 0x09, 0xc5, 0x2f,
- 0x3c, 0x3c, 0x9d, 0x28, 0xab, 0x00, 0xf6, 0xd0, 0xb0, 0x45, 0x29, 0xce, 0x76, 0x70, 0xea, 0x4b,
- 0x9a, 0x86, 0xad, 0xa3, 0xc8, 0x39, 0xe0, 0x37, 0xcd, 0x03, 0x7e, 0xcd, 0xf6, 0xa0, 0xf4, 0x63,
- 0xfe, 0x4f, 0x8a, 0x70, 0x42, 0x96, 0x56, 0x08, 0x3d, 0x2a, 0x9f, 0xef, 0x90, 0x68, 0x07, 0xfd,
- 0xc0, 0x81, 0x93, 0x5e, 0xd6, 0x74, 0xe3, 0x93, 0x43, 0x98, 0x68, 0x8d, 0xea, 0xcc, 0x6c, 0x0e,
- 0x45, 0x3e, 0xd1, 0x17, 0xc4, 0x44, 0x9f, 0xcc, 0xab, 0xd2, 0xc3, 0xee, 0x9e, 0x3b, 0x00, 0xf4,
- 0x2c, 0x8c, 0x49, 0x38, 0x33, 0xf7, 0xf0, 0x2d, 0xae, 0x8c, 0xdb, 0xb3, 0x5a, 0x19, 0x36, 0x6a,
- 0xd2, 0x96, 0x09, 0x69, 0xb5, 0x9b, 0x5e, 0x42, 0x34, 0x43, 0x91, 0x6a, 0xb9, 0xae, 0x95, 0x61,
- 0xa3, 0x26, 0x7a, 0x1c, 0x86, 0x82, 0xb0, 0x46, 0x2e, 0xd7, 0x84, 0x81, 0x78, 0x42, 0xb4, 0x19,
- 0xba, 0xca, 0xa0, 0x58, 0x94, 0xa2, 0xc7, 0x52, 0x6b, 0x5c, 0x91, 0x6d, 0xa1, 0x52, 0x9e, 0x25,
- 0x0e, 0xfd, 0x3d, 0x07, 0x46, 0x69, 0x8b, 0xf5, 0x9d, 0x36, 0xa1, 0x67, 0x1b, 0xfd, 0x22, 0xb5,
- 0xc3, 0xf9, 0x22, 0x57, 0x25, 0x19, 0xd3, 0xd4, 0x31, 0xaa, 0xe0, 0x6f, 0xbe, 0x3d, 0x3d, 0x22,
- 0x7f, 0xe0, 0xb4, 0x57, 0x53, 0x4b, 0xf0, 0x60, 0xcf, 0xaf, 0xb9, 0x2f, 0x57, 0xc0, 0x5f, 0x83,
- 0x09, 0xb3, 0x13, 0xfb, 0xf2, 0x03, 0xfc, 0x13, 0x6d, 0xdb, 0xf1, 0x71, 0x09, 0x7e, 0x76, 0xdf,
- 0xa4, 0x59, 0xb5, 0x18, 0x16, 0xc4, 0xd2, 0x33, 0x17, 0xc3, 0x82, 0x58, 0x0c, 0x0b, 0xee, 0x1f,
- 0x3a, 0xe9, 0xd6, 0xd4, 0xc4, 0x3c, 0x7a, 0x30, 0x77, 0xa2, 0xa6, 0x60, 0xc4, 0xea, 0x60, 0xbe,
- 0x86, 0xaf, 0x60, 0x0a, 0x47, 0x5f, 0xd2, 0xb8, 0x23, 0x6d, 0xd6, 0x11, 0x6e, 0x0d, 0x4b, 0x26,
- 0x7a, 0x03, 0x71, 0x37, 0xff, 0x13, 0x05, 0x38, 0xdb, 0x05, 0xf7, 0x8b, 0x05, 0x78, 0x78, 0x4f,
- 0xa1, 0x35, 0xb7, 0xe3, 0xce, 0x7d, 0xef, 0x38, 0x3d, 0xd6, 0x22, 0xd2, 0x0e, 0xaf, 0xe1, 0x2b,
- 0xe2, 0x7b, 0xa9, 0x63, 0x0d, 0x73, 0x30, 0x96, 0xe5, 0x54, 0x74, 0xd8, 0x22, 0x3b, 0x8b, 0x61,
- 0xd4, 0xf2, 0x12, 0xc1, 0x1d, 0x94, 0xe8, 0xb0, 0x2c, 0x0b, 0x70, 0x5a, 0xc7, 0xfd, 0x81, 0x03,
- 0xd9, 0x0e, 0x20, 0x0f, 0x26, 0x3a, 0x31, 0x89, 0xe8, 0x91, 0x5a, 0x21, 0xd5, 0x88, 0xc8, 0xe5,
- 0xf9, 0xd8, 0x0c, 0xf7, 0xf6, 0xd3, 0x11, 0xce, 0x54, 0xc3, 0x88, 0xcc, 0x6c, 0x3f, 0x3d, 0xc3,
- 0x6b, 0x2c, 0x93, 0x9d, 0x0a, 0x69, 0x12, 0x8a, 0x63, 0x0e, 0xdd, 0xde, 0x9d, 0x9e, 0xb8, 0x66,
- 0x20, 0xc0, 0x19, 0x84, 0x94, 0x44, 0xdb, 0x8b, 0xe3, 0x9b, 0x61, 0x54, 0x13, 0x24, 0x0a, 0xfb,
- 0x26, 0xb1, 0x66, 0x20, 0xc0, 0x19, 0x84, 0xee, 0xf7, 0xa9, 0xfa, 0xa8, 0x4b, 0xad, 0xe8, 0x1b,
- 0x54, 0xf6, 0xa1, 0x90, 0xb9, 0x66, 0xb8, 0x31, 0x1f, 0x06, 0x89, 0xe7, 0x07, 0x44, 0x06, 0x0b,
- 0xac, 0x5b, 0x92, 0x91, 0x0d, 0xdc, 0xa9, 0x0d, 0xbf, 0xbb, 0x0c, 0xe7, 0xf4, 0x85, 0xca, 0x38,
- 0x1b, 0xcd, 0x70, 0x23, 0xeb, 0x05, 0xa4, 0x95, 0x30, 0x2b, 0x71, 0x7f, 0xea, 0xc0, 0x99, 0x1e,
- 0xc2, 0x38, 0xfa, 0x8a, 0x03, 0xe3, 0x1b, 0x3f, 0x13, 0x63, 0x33, 0xbb, 0x81, 0xde, 0x07, 0x13,
- 0x14, 0x40, 0x4f, 0x22, 0xb1, 0x36, 0x0b, 0xa6, 0x87, 0x6a, 0xce, 0x28, 0xc5, 0x99, 0xda, 0xee,
- 0x6f, 0x14, 0x20, 0x87, 0x0a, 0x7a, 0x0a, 0x46, 0x48, 0x50, 0x6b, 0x87, 0x7e, 0x90, 0x08, 0x66,
- 0xa4, 0xb8, 0xde, 0x45, 0x01, 0xc7, 0xaa, 0x86, 0xd0, 0x3f, 0xc4, 0xc4, 0x14, 0xba, 0xf4, 0x0f,
- 0xd1, 0xf3, 0xb4, 0x0e, 0xaa, 0xc3, 0xa4, 0xc7, 0xfd, 0x2b, 0x6c, 0xed, 0xb1, 0x65, 0x3a, 0xb0,
- 0x9f, 0x65, 0x7a, 0x92, 0xb9, 0x3f, 0x33, 0x28, 0x70, 0x17, 0x52, 0xf4, 0x6e, 0x28, 0x75, 0x62,
- 0x52, 0x59, 0x58, 0x9e, 0x8f, 0x48, 0x8d, 0x6b, 0xc5, 0x9a, 0xdf, 0xef, 0x5a, 0x5a, 0x84, 0xf5,
- 0x7a, 0xee, 0x3f, 0x77, 0x60, 0x78, 0xce, 0xab, 0x6e, 0x85, 0x9b, 0x9b, 0x74, 0x2a, 0x6a, 0x9d,
- 0x28, 0x35, 0x6c, 0x69, 0x53, 0xb1, 0x20, 0xe0, 0x58, 0xd5, 0x40, 0xeb, 0x30, 0xc4, 0x37, 0xbc,
- 0xd8, 0x76, 0xbf, 0xa8, 0x8d, 0x47, 0xc5, 0xf1, 0xb0, 0xe5, 0xd0, 0x49, 0xfc, 0xe6, 0x0c, 0x8f,
- 0xe3, 0x99, 0xb9, 0x1c, 0x24, 0xab, 0x51, 0x25, 0x89, 0xfc, 0xa0, 0x3e, 0x07, 0xf4, 0xb8, 0x58,
- 0x64, 0x38, 0xb0, 0xc0, 0x45, 0x87, 0xd1, 0xf2, 0x6e, 0x49, 0x72, 0x82, 0xfd, 0xa8, 0x61, 0xac,
- 0xa4, 0x45, 0x58, 0xaf, 0xe7, 0xfe, 0x91, 0x03, 0xa3, 0x73, 0x5e, 0xec, 0x57, 0xff, 0x02, 0x31,
- 0x9f, 0x0f, 0x41, 0x71, 0xde, 0xab, 0x36, 0x08, 0xba, 0x96, 0x55, 0x7a, 0x4b, 0x17, 0x9e, 0xc8,
- 0x23, 0xa3, 0x14, 0x60, 0x9d, 0xd2, 0x78, 0x2f, 0xd5, 0xd8, 0x7d, 0xdb, 0x81, 0x89, 0xf9, 0xa6,
- 0x4f, 0x82, 0x64, 0x9e, 0x44, 0x09, 0x9b, 0xb8, 0x3a, 0x4c, 0x56, 0x15, 0xe4, 0x20, 0x53, 0xc7,
- 0x56, 0xeb, 0x7c, 0x06, 0x05, 0xee, 0x42, 0x8a, 0x6a, 0x70, 0x8c, 0xc3, 0xd2, 0x5d, 0xb1, 0xaf,
- 0xf9, 0x63, 0xd6, 0xd1, 0x79, 0x13, 0x03, 0xce, 0xa2, 0x74, 0x7f, 0xe2, 0xc0, 0x99, 0xf9, 0x66,
- 0x27, 0x4e, 0x48, 0x74, 0x43, 0x70, 0x23, 0x29, 0xde, 0xa2, 0x8f, 0xc0, 0x48, 0x4b, 0x7a, 0x6c,
- 0x9d, 0xbb, 0x2c, 0x60, 0xc6, 0xcf, 0x68, 0x6d, 0xda, 0x99, 0xd5, 0x8d, 0x97, 0x49, 0x35, 0x59,
- 0x21, 0x89, 0x97, 0x86, 0x17, 0xa4, 0x30, 0xac, 0xb0, 0xa2, 0x36, 0x0c, 0xc6, 0x6d, 0x52, 0xb5,
- 0x17, 0xdd, 0x25, 0xc7, 0x50, 0x69, 0x93, 0x6a, 0xca, 0xd7, 0x99, 0xaf, 0x91, 0x51, 0x72, 0xff,
- 0x97, 0x03, 0x67, 0x7b, 0x8c, 0xf7, 0x8a, 0x1f, 0x27, 0xe8, 0xa5, 0xae, 0x31, 0xcf, 0xf4, 0x37,
- 0x66, 0xda, 0x9a, 0x8d, 0x58, 0x31, 0x04, 0x09, 0xd1, 0xc6, 0xfb, 0x51, 0x28, 0xfa, 0x09, 0x69,
- 0x49, 0x33, 0xb4, 0x05, 0x83, 0x51, 0x8f, 0xb1, 0xcc, 0x8d, 0xcb, 0x18, 0xbf, 0xcb, 0x94, 0x1e,
- 0xe6, 0x64, 0xdd, 0x2d, 0x18, 0x9a, 0x0f, 0x9b, 0x9d, 0x56, 0xd0, 0x5f, 0xa4, 0x4c, 0xb2, 0xd3,
- 0x26, 0xd9, 0x33, 0x92, 0x89, 0xff, 0xac, 0x44, 0x1a, 0x8e, 0x06, 0xf2, 0x0d, 0x47, 0xee, 0xbf,
- 0x70, 0x80, 0xee, 0xaa, 0x9a, 0x2f, 0x3c, 0x89, 0x1c, 0x1d, 0x27, 0xf8, 0xb0, 0x8e, 0xee, 0xce,
- 0xee, 0xf4, 0xb8, 0xaa, 0xa8, 0xe1, 0xff, 0x10, 0x0c, 0xc5, 0x4c, 0x25, 0x17, 0x7d, 0x58, 0x94,
- 0xf2, 0x33, 0x57, 0xd4, 0xef, 0xec, 0x4e, 0xf7, 0x15, 0xb6, 0x39, 0xa3, 0x70, 0x0b, 0xa7, 0xa7,
- 0xc0, 0x4a, 0x05, 0xbe, 0x16, 0x89, 0x63, 0xaf, 0x2e, 0x35, 0x3c, 0x25, 0xf0, 0xad, 0x70, 0x30,
- 0x96, 0xe5, 0xee, 0x97, 0x1d, 0x18, 0x57, 0x87, 0x17, 0x15, 0xdf, 0xd1, 0x55, 0xfd, 0x98, 0xe3,
- 0x2b, 0xe5, 0xe1, 0x1e, 0x1c, 0x47, 0x1c, 0xe4, 0x7b, 0x9f, 0x82, 0xef, 0x82, 0xb1, 0x1a, 0x69,
- 0x93, 0xa0, 0x46, 0x82, 0x2a, 0x55, 0xbf, 0xe9, 0x0a, 0x19, 0x9d, 0x9b, 0xa4, 0xfa, 0xe6, 0x82,
- 0x06, 0xc7, 0x46, 0x2d, 0xf7, 0x9b, 0x0e, 0x3c, 0xa8, 0xd0, 0x55, 0x48, 0x82, 0x49, 0x12, 0xed,
- 0xa8, 0x30, 0xcd, 0xfd, 0x9d, 0x56, 0x37, 0xa8, 0xfc, 0x9b, 0x44, 0x9c, 0xf8, 0xc1, 0x8e, 0xab,
- 0x12, 0x97, 0x96, 0x19, 0x12, 0x2c, 0xb1, 0xb9, 0xbf, 0x36, 0x00, 0x27, 0xf5, 0x4e, 0x2a, 0x06,
- 0xf3, 0x09, 0x07, 0x40, 0xcd, 0x00, 0x3d, 0x90, 0x07, 0xec, 0xf8, 0xae, 0x8c, 0x2f, 0x95, 0xb2,
- 0x20, 0x05, 0x8e, 0xb1, 0x46, 0x16, 0xbd, 0x00, 0x63, 0xdb, 0x74, 0x53, 0x90, 0x15, 0x2a, 0x2e,
- 0xc4, 0xe5, 0x01, 0xd6, 0x8d, 0xe9, 0xbc, 0x8f, 0x79, 0x3d, 0xad, 0x97, 0x9a, 0x03, 0x34, 0x60,
- 0x8c, 0x0d, 0x54, 0x54, 0xd3, 0x19, 0x8f, 0xf4, 0x4f, 0x22, 0x6c, 0xe2, 0x1f, 0xb4, 0x38, 0xc6,
- 0xec, 0x57, 0x9f, 0x3b, 0x7e, 0x7b, 0x77, 0x7a, 0xdc, 0x00, 0x61, 0xb3, 0x13, 0xee, 0x0b, 0xc0,
- 0xe6, 0xc2, 0x0f, 0x3a, 0x64, 0x35, 0x40, 0x8f, 0x4a, 0x1b, 0x1d, 0xf7, 0xab, 0x28, 0xce, 0xa1,
- 0xdb, 0xe9, 0xa8, 0x2e, 0xbb, 0xe9, 0xf9, 0x4d, 0x16, 0xbe, 0x48, 0x6b, 0x29, 0x5d, 0x76, 0x91,
- 0x41, 0xb1, 0x28, 0x75, 0x67, 0x60, 0x78, 0x9e, 0x8e, 0x9d, 0x44, 0x14, 0xaf, 0x1e, 0x75, 0x3c,
- 0x6e, 0x44, 0x1d, 0xcb, 0xe8, 0xe2, 0x75, 0x38, 0x35, 0x1f, 0x11, 0x2f, 0x21, 0x95, 0x67, 0xe6,
- 0x3a, 0xd5, 0x2d, 0x92, 0xf0, 0xd0, 0xae, 0x18, 0xbd, 0x17, 0xc6, 0x43, 0x76, 0x64, 0x5c, 0x09,
- 0xab, 0x5b, 0x7e, 0x50, 0x17, 0x26, 0xd7, 0x53, 0x02, 0xcb, 0xf8, 0xaa, 0x5e, 0x88, 0xcd, 0xba,
- 0xee, 0x7f, 0x28, 0xc0, 0xd8, 0x7c, 0x14, 0x06, 0x92, 0x2d, 0x1e, 0xc1, 0x51, 0x96, 0x18, 0x47,
- 0x99, 0x05, 0x77, 0xa7, 0xde, 0xff, 0x5e, 0xc7, 0x19, 0x7a, 0x5d, 0xb1, 0xc8, 0x01, 0x5b, 0x2a,
- 0x88, 0x41, 0x97, 0xe1, 0x4e, 0x3f, 0xb6, 0xc9, 0x40, 0xdd, 0xff, 0xe8, 0xc0, 0xa4, 0x5e, 0xfd,
- 0x08, 0x4e, 0xd0, 0xd8, 0x3c, 0x41, 0xaf, 0xda, 0x1d, 0x6f, 0x8f, 0x63, 0xf3, 0x9f, 0x0e, 0x9b,
- 0xe3, 0x64, 0xbe, 0xee, 0xaf, 0x3a, 0x30, 0x76, 0x53, 0x03, 0x88, 0xc1, 0xda, 0x16, 0x62, 0xde,
- 0x21, 0xd9, 0x8c, 0x0e, 0xbd, 0x93, 0xf9, 0x8d, 0x8d, 0x9e, 0x50, 0xbe, 0x1f, 0x57, 0x1b, 0xa4,
- 0xd6, 0x69, 0xca, 0xe3, 0x5b, 0x4d, 0x69, 0x45, 0xc0, 0xb1, 0xaa, 0x81, 0x5e, 0x82, 0xe3, 0xd5,
- 0x30, 0xa8, 0x76, 0xa2, 0x88, 0x04, 0xd5, 0x9d, 0x35, 0x76, 0x47, 0x42, 0x1c, 0x88, 0x33, 0xa2,
- 0xd9, 0xf1, 0xf9, 0x6c, 0x85, 0x3b, 0x79, 0x40, 0xdc, 0x8d, 0x88, 0x3b, 0x0b, 0x62, 0x7a, 0x64,
- 0x09, 0x85, 0x4b, 0x73, 0x16, 0x30, 0x30, 0x96, 0xe5, 0xe8, 0x1a, 0x9c, 0x89, 0x13, 0x2f, 0x4a,
- 0xfc, 0xa0, 0xbe, 0x40, 0xbc, 0x5a, 0xd3, 0x0f, 0xa8, 0x2a, 0x11, 0x06, 0x35, 0xee, 0x4a, 0x1c,
- 0x98, 0x3b, 0x7b, 0x7b, 0x77, 0xfa, 0x4c, 0x25, 0xbf, 0x0a, 0xee, 0xd5, 0x16, 0x7d, 0x08, 0xa6,
- 0x84, 0x3b, 0x62, 0xb3, 0xd3, 0x7c, 0x2e, 0xdc, 0x88, 0x2f, 0xf9, 0x31, 0xd5, 0xe3, 0xaf, 0xf8,
- 0x2d, 0x3f, 0x61, 0x0e, 0xc3, 0xe2, 0xdc, 0xb9, 0xdb, 0xbb, 0xd3, 0x53, 0x95, 0x9e, 0xb5, 0xf0,
- 0x1e, 0x18, 0x10, 0x86, 0xd3, 0x9c, 0xf9, 0x75, 0xe1, 0x1e, 0x66, 0xb8, 0xa7, 0x6e, 0xef, 0x4e,
- 0x9f, 0x5e, 0xcc, 0xad, 0x81, 0x7b, 0xb4, 0xa4, 0x5f, 0x30, 0xf1, 0x5b, 0xe4, 0xd5, 0x30, 0x20,
- 0x2c, 0x50, 0x45, 0xfb, 0x82, 0xeb, 0x02, 0x8e, 0x55, 0x0d, 0xf4, 0x72, 0xba, 0x12, 0xe9, 0x76,
- 0x11, 0x01, 0x27, 0xfb, 0xe7, 0x70, 0x4c, 0x35, 0xb9, 0xa1, 0x61, 0x62, 0x91, 0x94, 0x06, 0x6e,
- 0xf4, 0x49, 0x07, 0xc6, 0xe2, 0x24, 0x54, 0xf7, 0x1a, 0x44, 0xc4, 0x89, 0x85, 0x65, 0x5f, 0xd1,
- 0xb0, 0x72, 0xc1, 0x47, 0x87, 0x60, 0x83, 0x2a, 0xfa, 0x05, 0x18, 0x95, 0x0b, 0x38, 0x2e, 0x97,
- 0x98, 0xac, 0xc4, 0xd4, 0x38, 0xb9, 0xbe, 0x63, 0x9c, 0x96, 0xbb, 0x3f, 0x1e, 0x00, 0xd4, 0xcd,
- 0xd6, 0xd0, 0x32, 0x0c, 0x79, 0xd5, 0xc4, 0xdf, 0x96, 0xd1, 0x84, 0x8f, 0xe6, 0x1d, 0xf9, 0x7c,
- 0x7a, 0x30, 0xd9, 0x24, 0x74, 0x55, 0x93, 0x94, 0x17, 0xce, 0xb2, 0xa6, 0x58, 0xa0, 0x40, 0x21,
- 0x1c, 0x6f, 0x7a, 0x71, 0x22, 0xe9, 0xd7, 0xe8, 0x67, 0x12, 0x87, 0xc1, 0xcf, 0xf7, 0xf7, 0x21,
- 0x68, 0x8b, 0xb9, 0x53, 0x74, 0xb7, 0x5d, 0xc9, 0x22, 0xc2, 0xdd, 0xb8, 0xd1, 0xc7, 0x98, 0xec,
- 0xc4, 0x05, 0x5b, 0x29, 0xb4, 0x2c, 0x5b, 0x91, 0x2b, 0x38, 0x4e, 0x43, 0x6e, 0x12, 0x64, 0xb0,
- 0x46, 0x12, 0x9d, 0x87, 0x51, 0xb6, 0x2b, 0x48, 0x8d, 0xf0, 0xbd, 0x3d, 0x90, 0x8a, 0xb8, 0x15,
- 0x59, 0x80, 0xd3, 0x3a, 0x9a, 0x0c, 0xc1, 0xb7, 0x73, 0x0f, 0x19, 0x02, 0x3d, 0x0b, 0xc5, 0x76,
- 0xc3, 0x8b, 0x65, 0x84, 0xba, 0x2b, 0x79, 0xf2, 0x1a, 0x05, 0x32, 0xc6, 0xa3, 0x7d, 0x4b, 0x06,
- 0xc4, 0xbc, 0x81, 0xfb, 0x2f, 0x01, 0x86, 0x17, 0x66, 0x97, 0xd6, 0xbd, 0x78, 0xab, 0x0f, 0x0d,
- 0x87, 0x6e, 0x32, 0x21, 0x8a, 0x66, 0xd9, 0xa4, 0x14, 0x51, 0xb1, 0xaa, 0x81, 0x02, 0x18, 0xf2,
- 0x03, 0xca, 0x57, 0xca, 0x13, 0xb6, 0xbc, 0x08, 0x4a, 0x5b, 0x63, 0x66, 0x9e, 0xcb, 0x0c, 0x3b,
- 0x16, 0x54, 0xd0, 0xeb, 0x30, 0xea, 0xc9, 0x0b, 0x42, 0xe2, 0x74, 0x5f, 0xb6, 0x61, 0x1e, 0x17,
- 0x28, 0xf5, 0x00, 0x25, 0x01, 0xc2, 0x29, 0x41, 0xf4, 0x71, 0x07, 0x4a, 0x72, 0xe8, 0x98, 0x6c,
- 0x0a, 0xcf, 0xf5, 0x8a, 0xbd, 0x31, 0x63, 0xb2, 0xc9, 0xa3, 0x57, 0x34, 0x00, 0xd6, 0x49, 0x76,
- 0x69, 0x44, 0xc5, 0x7e, 0x34, 0x22, 0x74, 0x13, 0x46, 0x6f, 0xfa, 0x49, 0x83, 0x9d, 0xdf, 0xc2,
- 0x63, 0xb6, 0x78, 0xef, 0xbd, 0xa6, 0xe8, 0xd2, 0x19, 0xbb, 0x21, 0x09, 0xe0, 0x94, 0x16, 0xdd,
- 0x0e, 0xf4, 0x07, 0xbb, 0x60, 0xc5, 0x38, 0xff, 0xa8, 0xd9, 0x80, 0x15, 0xe0, 0xb4, 0x0e, 0x9d,
- 0xe2, 0x31, 0xfa, 0xab, 0x42, 0x5e, 0xe9, 0x50, 0xd6, 0x22, 0x22, 0x12, 0x2d, 0xac, 0x2b, 0x89,
- 0x91, 0x4f, 0xd6, 0x0d, 0x8d, 0x06, 0x36, 0x28, 0xd2, 0x3d, 0x72, 0xb3, 0x41, 0x02, 0x71, 0x63,
- 0x42, 0xed, 0x91, 0x1b, 0x0d, 0x12, 0x60, 0x56, 0x82, 0x5e, 0xe7, 0x1a, 0x1a, 0x57, 0x15, 0x04,
- 0xaf, 0xbf, 0x62, 0x47, 0x7b, 0xe1, 0x38, 0xf9, 0xa5, 0x85, 0xf4, 0x37, 0xd6, 0xe8, 0x51, 0x8e,
- 0x11, 0x06, 0x17, 0x6f, 0xf9, 0x89, 0xb8, 0x6a, 0xa1, 0x38, 0xc6, 0x2a, 0x83, 0x62, 0x51, 0xca,
- 0x23, 0x33, 0xe8, 0x22, 0x88, 0xd9, 0xbd, 0x8a, 0x51, 0x3d, 0x32, 0x83, 0x81, 0xb1, 0x2c, 0x47,
- 0x7f, 0xd7, 0x81, 0x62, 0x23, 0x0c, 0xb7, 0xe2, 0xf2, 0x38, 0x5b, 0x1c, 0x16, 0x24, 0x66, 0xc1,
- 0x71, 0x66, 0x2e, 0x51, 0xb4, 0xe6, 0xe5, 0xb1, 0x22, 0x83, 0xdd, 0xd9, 0x9d, 0x9e, 0xb8, 0xe2,
- 0x6f, 0x92, 0xea, 0x4e, 0xb5, 0x49, 0x18, 0xe4, 0xcd, 0xb7, 0x35, 0xc8, 0xc5, 0x6d, 0x12, 0x24,
- 0x98, 0xf7, 0x6a, 0xea, 0x73, 0x0e, 0x40, 0x8a, 0x28, 0xc7, 0x05, 0x4a, 0xcc, 0xa0, 0x01, 0x0b,
- 0xea, 0xb2, 0xd1, 0x35, 0xdd, 0xa7, 0xfa, 0xaf, 0x1d, 0x28, 0xd1, 0xc1, 0x49, 0x16, 0xf8, 0x38,
- 0x0c, 0x25, 0x5e, 0x54, 0x27, 0xd2, 0x0d, 0xa0, 0x3e, 0xc7, 0x3a, 0x83, 0x62, 0x51, 0x8a, 0x02,
- 0x28, 0x26, 0x5e, 0xbc, 0x25, 0x85, 0xf4, 0xcb, 0xd6, 0xa6, 0x38, 0x95, 0xcf, 0xe9, 0xaf, 0x18,
- 0x73, 0x32, 0xe8, 0x09, 0x18, 0xa1, 0x47, 0xc7, 0xa2, 0x17, 0xcb, 0xc8, 0x9c, 0x31, 0xca, 0xc4,
- 0x17, 0x05, 0x0c, 0xab, 0x52, 0xf7, 0x37, 0x0a, 0x30, 0xb8, 0xc0, 0xd5, 0xb5, 0xa1, 0x38, 0xec,
- 0x44, 0x55, 0x22, 0xc4, 0x76, 0x0b, 0x6b, 0x9a, 0xe2, 0xad, 0x30, 0x9c, 0x9a, 0xc2, 0xc4, 0x7e,
- 0x63, 0x41, 0x0b, 0x7d, 0xc9, 0x81, 0x89, 0x24, 0xf2, 0x82, 0x78, 0x93, 0x39, 0x5c, 0xfc, 0x30,
- 0x10, 0x53, 0x64, 0x61, 0x15, 0xae, 0x1b, 0x78, 0x2b, 0x09, 0x69, 0xa7, 0x7e, 0x1f, 0xb3, 0x0c,
- 0x67, 0xfa, 0xe0, 0xfe, 0xa6, 0x03, 0x90, 0xf6, 0x1e, 0x7d, 0xd6, 0x81, 0x71, 0x4f, 0x8f, 0x08,
- 0x15, 0x73, 0xb4, 0x6a, 0xcf, 0x3b, 0xcb, 0xd0, 0x72, 0x4b, 0x85, 0x01, 0xc2, 0x26, 0x61, 0xf7,
- 0xdd, 0x50, 0x64, 0xbb, 0x83, 0xa9, 0x34, 0xc2, 0xb2, 0x9d, 0x35, 0x65, 0x49, 0x8b, 0x37, 0x56,
- 0x35, 0xdc, 0x97, 0x60, 0xe2, 0xe2, 0x2d, 0x52, 0xed, 0x24, 0x61, 0xc4, 0xed, 0xfa, 0x3d, 0x6e,
- 0x00, 0x39, 0x07, 0xba, 0x01, 0xf4, 0x1d, 0x07, 0x4a, 0x5a, 0x78, 0x20, 0x3d, 0xa9, 0xeb, 0xf3,
- 0x15, 0x6e, 0xbe, 0x10, 0x53, 0xb5, 0x6c, 0x25, 0x00, 0x91, 0xa3, 0x4c, 0x8f, 0x11, 0x05, 0xc2,
- 0x29, 0xc1, 0xbb, 0x84, 0xef, 0xb9, 0x7f, 0xe0, 0xc0, 0xa9, 0xdc, 0x58, 0xc6, 0xfb, 0xdc, 0x6d,
- 0xc3, 0x85, 0x5e, 0xe8, 0xc3, 0x85, 0xfe, 0x3b, 0x0e, 0xa4, 0x98, 0x28, 0x2b, 0xda, 0x48, 0x7b,
- 0xae, 0xb1, 0x22, 0x41, 0x49, 0x94, 0xa2, 0xd7, 0xe1, 0x8c, 0xf9, 0x05, 0x0f, 0xe8, 0x4d, 0xe1,
- 0xaa, 0x67, 0x3e, 0x26, 0xdc, 0x8b, 0x84, 0xfb, 0x35, 0x07, 0x8a, 0x4b, 0x5e, 0xa7, 0x4e, 0xfa,
- 0x32, 0x86, 0x51, 0x3e, 0x16, 0x11, 0xaf, 0x99, 0x48, 0xd5, 0x41, 0xf0, 0x31, 0x2c, 0x60, 0x58,
- 0x95, 0xa2, 0x59, 0x18, 0x0d, 0xdb, 0xc4, 0xf0, 0x00, 0x3e, 0x2a, 0x67, 0x6f, 0x55, 0x16, 0xd0,
- 0x63, 0x87, 0x51, 0x57, 0x10, 0x9c, 0xb6, 0x72, 0x7f, 0x50, 0x84, 0x92, 0x76, 0xeb, 0x85, 0xca,
- 0x02, 0x11, 0x69, 0x87, 0x59, 0x79, 0x99, 0x2e, 0x18, 0xcc, 0x4a, 0xe8, 0x1e, 0x8c, 0xc8, 0xb6,
- 0x1f, 0x73, 0xb6, 0x65, 0xec, 0x41, 0x2c, 0xe0, 0x58, 0xd5, 0x40, 0xd3, 0x50, 0xac, 0x91, 0x76,
- 0xd2, 0x60, 0xdd, 0x1b, 0xe4, 0xa1, 0x7f, 0x0b, 0x14, 0x80, 0x39, 0x9c, 0x56, 0xd8, 0x24, 0x49,
- 0xb5, 0xc1, 0xec, 0xbe, 0x22, 0x36, 0x70, 0x91, 0x02, 0x30, 0x87, 0xe7, 0xf8, 0x28, 0x8b, 0x87,
- 0xef, 0xa3, 0x1c, 0xb2, 0xec, 0xa3, 0x44, 0x6d, 0x38, 0x11, 0xc7, 0x8d, 0xb5, 0xc8, 0xdf, 0xf6,
- 0x12, 0x92, 0xae, 0xbe, 0xe1, 0xfd, 0xd0, 0x39, 0xc3, 0xee, 0xa1, 0x57, 0x2e, 0x65, 0xb1, 0xe0,
- 0x3c, 0xd4, 0xa8, 0x02, 0xa7, 0xfc, 0x20, 0x26, 0xd5, 0x4e, 0x44, 0x2e, 0xd7, 0x83, 0x30, 0x22,
- 0x97, 0xc2, 0x98, 0xa2, 0x13, 0xb7, 0x68, 0x55, 0xb4, 0xec, 0xe5, 0xbc, 0x4a, 0x38, 0xbf, 0x2d,
- 0x5a, 0x82, 0xe3, 0x35, 0x3f, 0xf6, 0x36, 0x9a, 0xa4, 0xd2, 0xd9, 0x68, 0x85, 0x5c, 0xf1, 0x1e,
- 0x65, 0x08, 0x1f, 0x94, 0x56, 0xa2, 0x85, 0x6c, 0x05, 0xdc, 0xdd, 0x06, 0x3d, 0x0b, 0x63, 0xb1,
- 0x1f, 0xd4, 0x9b, 0x64, 0x2e, 0xf2, 0x82, 0x6a, 0x43, 0x5c, 0xbf, 0x55, 0xd6, 0xf4, 0x8a, 0x56,
- 0x86, 0x8d, 0x9a, 0x6c, 0xcf, 0xf3, 0x36, 0x19, 0x69, 0x50, 0xd4, 0x16, 0xa5, 0xee, 0x0f, 0x1d,
- 0x18, 0xd3, 0x23, 0xd5, 0xa9, 0xa4, 0x0d, 0x8d, 0x85, 0xc5, 0x0a, 0x3f, 0x0b, 0xec, 0x9d, 0xf8,
- 0x97, 0x14, 0xce, 0x54, 0x59, 0x4e, 0x61, 0x58, 0xa3, 0xd9, 0xc7, 0xbd, 0xf3, 0x47, 0xa1, 0xb8,
- 0x19, 0x52, 0x81, 0x64, 0xc0, 0x34, 0xc3, 0x2f, 0x52, 0x20, 0xe6, 0x65, 0xee, 0x7f, 0x77, 0xe0,
- 0x74, 0x7e, 0x10, 0xfe, 0xcf, 0xc2, 0x20, 0x2f, 0x00, 0xd0, 0xa1, 0x18, 0x4c, 0x5d, 0xcb, 0x3c,
- 0x21, 0x4b, 0xb0, 0x56, 0xab, 0xbf, 0x61, 0xff, 0xab, 0x02, 0x68, 0x34, 0xd1, 0xe7, 0x1d, 0x18,
- 0xa7, 0x64, 0x97, 0xa3, 0x0d, 0x63, 0xb4, 0xab, 0x76, 0x46, 0xab, 0xd0, 0xa6, 0xde, 0x06, 0x03,
- 0x8c, 0x4d, 0xe2, 0xe8, 0x17, 0x60, 0xd4, 0xab, 0xd5, 0x22, 0x12, 0xc7, 0xca, 0x6f, 0xc7, 0x6c,
- 0x51, 0xb3, 0x12, 0x88, 0xd3, 0x72, 0xca, 0x44, 0x1b, 0xb5, 0xcd, 0x98, 0xf2, 0x25, 0xc1, 0xb8,
- 0x15, 0x13, 0xa5, 0x44, 0x28, 0x1c, 0xab, 0x1a, 0xe8, 0x3a, 0x9c, 0xae, 0x79, 0x89, 0xc7, 0xe5,
- 0x37, 0x12, 0xad, 0x45, 0x61, 0x42, 0xaa, 0x8c, 0xe9, 0xf3, 0xf8, 0xd2, 0x73, 0xa2, 0xed, 0xe9,
- 0x85, 0xdc, 0x5a, 0xb8, 0x47, 0x6b, 0xf7, 0x57, 0x07, 0xc1, 0x1c, 0x13, 0xaa, 0xc1, 0xb1, 0xad,
- 0x68, 0x63, 0x9e, 0x85, 0x53, 0x1c, 0x24, 0xac, 0x81, 0x85, 0x1b, 0x2c, 0x9b, 0x18, 0x70, 0x16,
- 0xa5, 0xa0, 0xb2, 0x4c, 0x76, 0x12, 0x6f, 0xe3, 0xc0, 0x41, 0x0d, 0xcb, 0x26, 0x06, 0x9c, 0x45,
- 0x89, 0xde, 0x0d, 0xa5, 0xad, 0x68, 0x43, 0xb2, 0xfe, 0x6c, 0x84, 0xcc, 0x72, 0x5a, 0x84, 0xf5,
- 0x7a, 0xf4, 0xd3, 0x6c, 0x45, 0x1b, 0xf4, 0xb4, 0x95, 0xf9, 0x1d, 0xd4, 0xa7, 0x59, 0x16, 0x70,
- 0xac, 0x6a, 0xa0, 0x36, 0xa0, 0x2d, 0x39, 0x7b, 0x2a, 0x78, 0x44, 0x9c, 0x50, 0xfd, 0xc7, 0x9e,
- 0xb0, 0xa8, 0xfd, 0xe5, 0x2e, 0x3c, 0x38, 0x07, 0x37, 0x7a, 0x01, 0xce, 0x6c, 0x45, 0x1b, 0x42,
- 0x08, 0x59, 0x8b, 0xfc, 0xa0, 0xea, 0xb7, 0x8d, 0x5c, 0x0e, 0xd3, 0xa2, 0xbb, 0x67, 0x96, 0xf3,
- 0xab, 0xe1, 0x5e, 0xed, 0xdd, 0xdf, 0x1d, 0x04, 0x76, 0x0b, 0x95, 0xf2, 0xd8, 0x16, 0x49, 0x1a,
- 0x61, 0x2d, 0x2b, 0x57, 0xad, 0x30, 0x28, 0x16, 0xa5, 0x32, 0x36, 0xb5, 0xd0, 0x23, 0x36, 0xf5,
- 0x26, 0x0c, 0x37, 0x88, 0x57, 0x23, 0x91, 0xb4, 0x4c, 0x5e, 0xb1, 0x73, 0x6f, 0xf6, 0x12, 0x43,
- 0x9a, 0xaa, 0xf7, 0xfc, 0x77, 0x8c, 0x25, 0x35, 0xf4, 0x1e, 0x98, 0xa0, 0x02, 0x52, 0xd8, 0x49,
- 0xa4, 0xeb, 0x80, 0x5b, 0x26, 0xd9, 0x49, 0xbd, 0x6e, 0x94, 0xe0, 0x4c, 0x4d, 0xb4, 0x00, 0x93,
- 0xc2, 0xcc, 0xaf, 0x2c, 0x9e, 0x62, 0x62, 0x55, 0x92, 0x8d, 0x4a, 0xa6, 0x1c, 0x77, 0xb5, 0x60,
- 0xb1, 0x85, 0x61, 0x8d, 0x7b, 0x7a, 0xf5, 0xd8, 0xc2, 0xb0, 0xb6, 0x83, 0x59, 0x09, 0x7a, 0x15,
- 0x46, 0xe8, 0xdf, 0xc5, 0x28, 0x6c, 0x09, 0x9b, 0xcf, 0x9a, 0x9d, 0xd9, 0xa1, 0x34, 0x84, 0x06,
- 0xca, 0x04, 0xc7, 0x39, 0x41, 0x05, 0x2b, 0x7a, 0x54, 0x0f, 0x92, 0xe7, 0x7b, 0x65, 0xcb, 0x6f,
- 0x5f, 0x27, 0x91, 0xbf, 0xb9, 0xc3, 0x84, 0x91, 0x91, 0x54, 0x0f, 0xba, 0xdc, 0x55, 0x03, 0xe7,
- 0xb4, 0x72, 0x3f, 0x5f, 0x80, 0x31, 0xfd, 0x32, 0xf3, 0xdd, 0x02, 0x96, 0xe3, 0x74, 0x51, 0x70,
- 0xad, 0xf7, 0x92, 0x85, 0x61, 0xdf, 0x6d, 0x41, 0x34, 0x60, 0xd0, 0xeb, 0x08, 0x29, 0xd4, 0x8a,
- 0x71, 0x8d, 0x8d, 0xb8, 0x93, 0x34, 0xf8, 0xad, 0x37, 0x16, 0x4a, 0xcc, 0x28, 0xb8, 0x9f, 0x1a,
- 0x80, 0x11, 0x59, 0x88, 0x3e, 0xe9, 0x00, 0xa4, 0x21, 0x5d, 0x82, 0x95, 0xae, 0xd9, 0x88, 0xf7,
- 0xd1, 0xa3, 0xd1, 0x34, 0x1b, 0xbd, 0x82, 0x63, 0x8d, 0x2e, 0x4a, 0x60, 0x28, 0xa4, 0x9d, 0xbb,
- 0x60, 0xef, 0x42, 0xfe, 0x2a, 0x25, 0x7c, 0x81, 0x51, 0x4f, 0xcd, 0x71, 0x0c, 0x86, 0x05, 0x2d,
- 0xaa, 0x59, 0x6e, 0xc8, 0x48, 0x43, 0x7b, 0xa6, 0x6b, 0x15, 0xbc, 0x98, 0x2a, 0x8a, 0x0a, 0x84,
- 0x53, 0x82, 0xee, 0xd3, 0x30, 0x61, 0x6e, 0x06, 0xaa, 0x69, 0x6c, 0xec, 0x24, 0x84, 0xdb, 0x31,
- 0xc6, 0xb8, 0xa6, 0x31, 0x47, 0x01, 0x98, 0xc3, 0xdd, 0xef, 0x3b, 0x00, 0x29, 0x7b, 0xe9, 0xc3,
- 0x75, 0xf0, 0xa8, 0x6e, 0x84, 0xeb, 0xa5, 0xce, 0x7d, 0x0c, 0x46, 0xd9, 0x3f, 0x6c, 0xa3, 0x0f,
- 0xd8, 0x8a, 0x0b, 0x48, 0xfb, 0x29, 0xb6, 0x3a, 0x93, 0x35, 0xae, 0x4b, 0x42, 0x38, 0xa5, 0xe9,
- 0x86, 0x30, 0x99, 0xad, 0x8d, 0x3e, 0x08, 0x63, 0xb1, 0x3c, 0x56, 0xd3, 0xab, 0x79, 0x7d, 0x1e,
- 0xbf, 0xdc, 0x2b, 0xa7, 0x35, 0xc7, 0x06, 0x32, 0x77, 0x15, 0x86, 0xac, 0x4e, 0xa1, 0xfb, 0x6d,
- 0x07, 0x46, 0x99, 0x63, 0xb4, 0x1e, 0x79, 0xad, 0xb4, 0xc9, 0xc0, 0x1e, 0xb3, 0x1e, 0xc3, 0x30,
- 0xd7, 0xfd, 0x65, 0x40, 0x91, 0x05, 0x2e, 0xc3, 0xf3, 0xe8, 0xa5, 0x5c, 0x86, 0x1b, 0x19, 0x62,
- 0x2c, 0x29, 0xb9, 0x9f, 0x2e, 0xc0, 0xd0, 0xe5, 0xa0, 0xdd, 0xf9, 0x4b, 0x9f, 0xcb, 0x6d, 0x05,
- 0x06, 0x2f, 0x27, 0xa4, 0x65, 0xa6, 0x1c, 0x1c, 0x9b, 0x7b, 0x4c, 0x4f, 0x37, 0x58, 0x36, 0xd3,
- 0x0d, 0x62, 0xef, 0xa6, 0x8c, 0xb7, 0x13, 0xb6, 0xe7, 0xf4, 0x7a, 0xe2, 0x53, 0x30, 0x7a, 0xc5,
- 0xdb, 0x20, 0xcd, 0x65, 0xb2, 0xc3, 0x2e, 0x13, 0xf2, 0xd8, 0x0f, 0x27, 0x35, 0x18, 0x18, 0x71,
- 0x1a, 0x0b, 0x30, 0xc1, 0x6a, 0xab, 0xcd, 0x40, 0x35, 0x12, 0x92, 0xe6, 0x6b, 0x72, 0x4c, 0x8d,
- 0x44, 0xcb, 0xd5, 0xa4, 0xd5, 0x72, 0x67, 0xa0, 0x94, 0x62, 0xe9, 0x83, 0xea, 0x4f, 0x0b, 0x30,
- 0x6e, 0x98, 0xd0, 0x0d, 0xc7, 0xa2, 0x73, 0x57, 0xc7, 0xa2, 0xe1, 0xe8, 0x2b, 0xdc, 0x6f, 0x47,
- 0xdf, 0xc0, 0xd1, 0x3b, 0xfa, 0xcc, 0x8f, 0x34, 0xd8, 0xd7, 0x47, 0x6a, 0xc2, 0xe0, 0x15, 0x3f,
- 0xd8, 0xea, 0x8f, 0xcf, 0xc4, 0xd5, 0xb0, 0xdd, 0xc5, 0x67, 0x2a, 0x14, 0x88, 0x79, 0x99, 0x94,
- 0x5c, 0x06, 0xf2, 0x25, 0x17, 0xf7, 0x93, 0x0e, 0x8c, 0xad, 0x78, 0x81, 0xbf, 0x49, 0xe2, 0x84,
- 0xad, 0xab, 0xe4, 0x50, 0x2f, 0x95, 0x8d, 0xf5, 0x48, 0x8f, 0xf0, 0xa6, 0x03, 0xc7, 0x57, 0x48,
- 0x2b, 0xf4, 0x5f, 0xf5, 0xd2, 0x70, 0x56, 0xda, 0xf7, 0x86, 0x9f, 0x88, 0xe8, 0x3d, 0xd5, 0xf7,
- 0x4b, 0x7e, 0x82, 0x29, 0xfc, 0x2e, 0xf6, 0x61, 0x76, 0x5d, 0x83, 0x2a, 0x68, 0xda, 0x45, 0xc7,
- 0x34, 0x50, 0x55, 0x16, 0xe0, 0xb4, 0x8e, 0xfb, 0x7b, 0x0e, 0x0c, 0xf3, 0x4e, 0xa8, 0x08, 0x60,
- 0xa7, 0x07, 0xee, 0x06, 0x14, 0x59, 0x3b, 0xb1, 0xaa, 0x97, 0x2c, 0x88, 0x3f, 0x14, 0x1d, 0xdf,
- 0x83, 0xec, 0x5f, 0xcc, 0x09, 0x30, 0xb5, 0xc5, 0xbb, 0x35, 0xab, 0x22, 0x79, 0x53, 0xb5, 0x85,
- 0x41, 0xb1, 0x28, 0x75, 0xbf, 0x3e, 0x00, 0x23, 0x2a, 0x2b, 0x18, 0xcb, 0xd9, 0x10, 0x04, 0x61,
- 0xe2, 0xf1, 0x18, 0x0a, 0xce, 0xab, 0x3f, 0x68, 0x2f, 0x2b, 0xd9, 0xcc, 0x6c, 0x8a, 0x9d, 0xfb,
- 0x05, 0x95, 0x12, 0xaa, 0x95, 0x60, 0xbd, 0x13, 0xe8, 0xa3, 0x30, 0xd4, 0xa4, 0xdc, 0x47, 0xb2,
- 0xee, 0xeb, 0x16, 0xbb, 0xc3, 0xd8, 0x9a, 0xe8, 0x89, 0x9a, 0x21, 0x0e, 0xc4, 0x82, 0xea, 0xd4,
- 0xfb, 0x60, 0x32, 0xdb, 0xeb, 0xbb, 0xdd, 0xc3, 0x1c, 0xd5, 0x6f, 0x71, 0xfe, 0x55, 0xc1, 0x3d,
- 0xf7, 0xdf, 0xd4, 0x7d, 0x1e, 0x4a, 0x2b, 0x24, 0x89, 0xfc, 0x2a, 0x43, 0x70, 0xb7, 0xc5, 0xd5,
- 0x97, 0xfc, 0xf0, 0x19, 0xb6, 0x58, 0x29, 0xce, 0x18, 0xbd, 0x0e, 0xd0, 0x8e, 0x42, 0xaa, 0xbf,
- 0x92, 0x8e, 0xfc, 0xd8, 0x16, 0xe4, 0xe1, 0x35, 0x85, 0x93, 0xbb, 0xb2, 0xd3, 0xdf, 0x58, 0xa3,
- 0xe7, 0xbe, 0x08, 0xc5, 0x95, 0x4e, 0x42, 0x6e, 0xf5, 0xc1, 0xb1, 0xf6, 0x9b, 0x98, 0xc0, 0xfd,
- 0x20, 0x8c, 0x31, 0xdc, 0x97, 0xc2, 0x26, 0x3d, 0x56, 0xe9, 0xd4, 0xb4, 0xe8, 0xef, 0xac, 0xb3,
- 0x81, 0x55, 0xc2, 0xbc, 0x8c, 0x6e, 0x99, 0x46, 0xd8, 0xac, 0xa9, 0x4b, 0x5a, 0x6a, 0x41, 0x5c,
- 0x62, 0x50, 0x2c, 0x4a, 0xdd, 0x4f, 0x14, 0xa0, 0xc4, 0x1a, 0x0a, 0x76, 0xb3, 0x03, 0xc3, 0x0d,
- 0x4e, 0x47, 0xcc, 0xa1, 0x85, 0xd0, 0x2f, 0xbd, 0xf7, 0x9a, 0x2e, 0xc7, 0x01, 0x58, 0xd2, 0xa3,
- 0xa4, 0x6f, 0x7a, 0x7e, 0x42, 0x49, 0x17, 0x0e, 0x97, 0xf4, 0x0d, 0x4e, 0x06, 0x4b, 0x7a, 0xee,
- 0x2f, 0x03, 0xbb, 0xfc, 0xbc, 0xd8, 0xf4, 0xea, 0x7c, 0xe6, 0xc2, 0x2d, 0x52, 0x13, 0x3c, 0x57,
- 0x9b, 0x39, 0x0a, 0xc5, 0xa2, 0x94, 0x5f, 0x28, 0x4d, 0x22, 0x5f, 0x05, 0x4d, 0x6b, 0x17, 0x4a,
- 0x19, 0x58, 0x86, 0xc8, 0xd7, 0xdc, 0x2f, 0x17, 0x00, 0x58, 0x0e, 0x39, 0x7e, 0x67, 0xf9, 0x17,
- 0x65, 0x04, 0x94, 0xe9, 0xa0, 0x54, 0x11, 0x50, 0xec, 0x56, 0xb6, 0x1e, 0xf9, 0xa4, 0xdf, 0x65,
- 0x28, 0xec, 0x7d, 0x97, 0x01, 0xb5, 0x61, 0x38, 0xec, 0x24, 0x54, 0x56, 0x15, 0x87, 0xbd, 0x05,
- 0xff, 0xfc, 0x2a, 0x47, 0xc8, 0x2f, 0x00, 0x88, 0x1f, 0x58, 0x92, 0x41, 0xcf, 0xc2, 0x48, 0x3b,
- 0x0a, 0xeb, 0xf4, 0xec, 0x16, 0xc7, 0xfb, 0x43, 0x52, 0x1e, 0x5a, 0x13, 0xf0, 0x3b, 0xda, 0xff,
- 0x58, 0xd5, 0x76, 0xff, 0x78, 0x92, 0xcf, 0x8b, 0x58, 0x7b, 0x53, 0x50, 0xf0, 0xa5, 0x65, 0x0a,
- 0x04, 0x8a, 0xc2, 0xe5, 0x05, 0x5c, 0xf0, 0x6b, 0x6a, 0x5f, 0x15, 0x7a, 0xee, 0xab, 0x77, 0x43,
- 0xa9, 0xe6, 0xc7, 0xed, 0xa6, 0xb7, 0x73, 0x35, 0xc7, 0x2c, 0xb8, 0x90, 0x16, 0x61, 0xbd, 0x1e,
- 0x7a, 0x4a, 0xdc, 0x5c, 0x19, 0x34, 0x4c, 0x41, 0xf2, 0xe6, 0x4a, 0x7a, 0x27, 0x9e, 0x5f, 0x5a,
- 0xc9, 0xe6, 0x0e, 0x28, 0xf6, 0x9d, 0x3b, 0x20, 0x2b, 0x89, 0x0d, 0x1d, 0xbd, 0x24, 0xf6, 0x5e,
- 0x18, 0x97, 0x3f, 0x99, 0x78, 0x54, 0x3e, 0xc9, 0x7a, 0xaf, 0xcc, 0xe0, 0xeb, 0x7a, 0x21, 0x36,
- 0xeb, 0xa6, 0x8b, 0x76, 0xb8, 0xdf, 0x45, 0x7b, 0x01, 0x60, 0x23, 0xec, 0x04, 0x35, 0x2f, 0xda,
- 0xb9, 0xbc, 0x20, 0xe2, 0x5c, 0x95, 0xe0, 0x37, 0xa7, 0x4a, 0xb0, 0x56, 0x4b, 0x5f, 0xe8, 0xa3,
- 0x77, 0x59, 0xe8, 0x1f, 0x84, 0x51, 0x16, 0x13, 0x4c, 0x6a, 0xb3, 0x89, 0x08, 0x5d, 0xda, 0x4f,
- 0x28, 0x66, 0x1a, 0xcc, 0x28, 0x91, 0xe0, 0x14, 0x1f, 0xfa, 0x10, 0xc0, 0xa6, 0x1f, 0xf8, 0x71,
- 0x83, 0x61, 0x2f, 0xed, 0x1b, 0xbb, 0x1a, 0xe7, 0xa2, 0xc2, 0x82, 0x35, 0x8c, 0xe8, 0x25, 0x38,
- 0x4e, 0xe2, 0xc4, 0x6f, 0x79, 0x09, 0xa9, 0xa9, 0xbb, 0x9e, 0x65, 0x66, 0xcb, 0x54, 0x51, 0xd9,
- 0x17, 0xb3, 0x15, 0xee, 0xe4, 0x01, 0x71, 0x37, 0x22, 0x63, 0x47, 0x4e, 0xed, 0x67, 0x47, 0xa2,
- 0x3f, 0x73, 0xe0, 0x78, 0x44, 0x78, 0x3c, 0x4b, 0xac, 0x3a, 0x76, 0x8a, 0xb1, 0xe3, 0xaa, 0x8d,
- 0xf4, 0xec, 0x2a, 0x0f, 0x0b, 0xce, 0x52, 0xe1, 0x82, 0x0b, 0x91, 0xa3, 0xef, 0x2a, 0xbf, 0x93,
- 0x07, 0x7c, 0xf3, 0xed, 0xe9, 0xe9, 0xee, 0x67, 0x02, 0x14, 0x72, 0xba, 0xf3, 0xfe, 0xe6, 0xdb,
- 0xd3, 0x93, 0xf2, 0x77, 0x3a, 0x69, 0x5d, 0x83, 0xa4, 0xc7, 0x6a, 0x3b, 0xac, 0x5d, 0x5e, 0x13,
- 0x31, 0x66, 0xea, 0x58, 0x5d, 0xa3, 0x40, 0xcc, 0xcb, 0xd0, 0x13, 0x30, 0x52, 0xf3, 0x48, 0x2b,
- 0x0c, 0x54, 0xa2, 0x5d, 0x26, 0xcd, 0x2f, 0x08, 0x18, 0x56, 0xa5, 0x54, 0x87, 0x08, 0xc4, 0x91,
- 0x52, 0x3e, 0x6b, 0x4b, 0x87, 0x90, 0x87, 0x14, 0xa7, 0x2a, 0x7f, 0x61, 0x45, 0x09, 0x35, 0x61,
- 0xc8, 0x67, 0x86, 0x0a, 0x11, 0xc6, 0x6a, 0xc1, 0x3a, 0xc2, 0x0d, 0x1f, 0x32, 0x88, 0x95, 0xb1,
- 0x7e, 0x41, 0x43, 0x3f, 0x6b, 0x8e, 0x1d, 0xcd, 0x59, 0xf3, 0x04, 0x8c, 0x54, 0x1b, 0x7e, 0xb3,
- 0x16, 0x91, 0xa0, 0x3c, 0xc9, 0x34, 0x76, 0x36, 0x13, 0xf3, 0x02, 0x86, 0x55, 0x29, 0xfa, 0x2b,
- 0x30, 0x1e, 0x76, 0x12, 0xc6, 0x5a, 0xe8, 0x3c, 0xc5, 0xe5, 0xe3, 0xac, 0x3a, 0x0b, 0x4a, 0x5a,
- 0xd5, 0x0b, 0xb0, 0x59, 0x8f, 0xb2, 0xf8, 0x46, 0x18, 0xb3, 0x94, 0x41, 0x8c, 0xc5, 0x9f, 0x36,
- 0x59, 0xfc, 0x25, 0xad, 0x0c, 0x1b, 0x35, 0xd1, 0x57, 0x1d, 0x38, 0xde, 0xca, 0x2a, 0x70, 0xe5,
- 0x33, 0x6c, 0x66, 0x2a, 0x36, 0x04, 0xfd, 0x0c, 0x6a, 0x1e, 0x4e, 0xde, 0x05, 0xc6, 0xdd, 0x9d,
- 0x60, 0xc9, 0xbb, 0xe2, 0x9d, 0xa0, 0xda, 0x88, 0xc2, 0xc0, 0xec, 0xde, 0x83, 0xb6, 0xae, 0xac,
- 0xb1, 0xbd, 0x9d, 0x47, 0x62, 0xee, 0xc1, 0xdb, 0xbb, 0xd3, 0xa7, 0x72, 0x8b, 0x70, 0x7e, 0xa7,
- 0xa6, 0x16, 0xe0, 0x74, 0x3e, 0x7f, 0xb8, 0x9b, 0xc6, 0x31, 0xa0, 0x6b, 0x1c, 0x8b, 0xf0, 0x60,
- 0xcf, 0x4e, 0xd1, 0x93, 0x46, 0x4a, 0x9b, 0x8e, 0x79, 0xd2, 0x74, 0x49, 0x87, 0x13, 0x30, 0xa6,
- 0xbf, 0x2b, 0xe1, 0xfe, 0x9f, 0x01, 0x80, 0xd4, 0x4e, 0x8e, 0x3c, 0x98, 0xe0, 0x36, 0xf9, 0xcb,
- 0x0b, 0x07, 0xbe, 0x6c, 0x3f, 0x6f, 0x20, 0xc0, 0x19, 0x84, 0xa8, 0x05, 0x88, 0x43, 0xf8, 0xef,
- 0x83, 0xf8, 0x56, 0x99, 0x2b, 0x72, 0xbe, 0x0b, 0x09, 0xce, 0x41, 0x4c, 0x47, 0x94, 0x84, 0x5b,
- 0x24, 0xb8, 0x86, 0xaf, 0x1c, 0x24, 0x63, 0x03, 0xf7, 0xc6, 0x19, 0x08, 0x70, 0x06, 0x21, 0x72,
- 0x61, 0x88, 0xd9, 0x66, 0x64, 0xe0, 0x37, 0x63, 0x2f, 0x4c, 0xd2, 0x88, 0xb1, 0x28, 0x41, 0x5f,
- 0x76, 0x60, 0x42, 0x26, 0x9e, 0x60, 0xd6, 0x50, 0x19, 0xf2, 0x7d, 0xcd, 0x96, 0x9f, 0xe3, 0xa2,
- 0x8e, 0x3d, 0x0d, 0xa8, 0x34, 0xc0, 0x31, 0xce, 0x74, 0xc2, 0x7d, 0x01, 0x4e, 0xe4, 0x34, 0xb7,
- 0xa2, 0xd1, 0x7e, 0xc7, 0x81, 0x92, 0x96, 0x0f, 0x11, 0xbd, 0x0e, 0xa3, 0x61, 0xc5, 0x7a, 0x14,
- 0xdf, 0x6a, 0xa5, 0x2b, 0x8a, 0x4f, 0x81, 0x70, 0x4a, 0xb0, 0x9f, 0xe0, 0xc3, 0xdc, 0xe4, 0x8d,
- 0xf7, 0xb9, 0xdb, 0xfb, 0x0e, 0x3e, 0xfc, 0xd5, 0x22, 0xa4, 0x98, 0xf6, 0x99, 0x10, 0x25, 0x0d,
- 0x55, 0x2c, 0xec, 0x19, 0xaa, 0x58, 0x83, 0x63, 0x1e, 0xf3, 0x25, 0x1f, 0x30, 0x0d, 0x0a, 0x4f,
- 0x87, 0x6b, 0x62, 0xc0, 0x59, 0x94, 0x94, 0x4a, 0x9c, 0x36, 0x65, 0x54, 0x06, 0xf7, 0x4d, 0xa5,
- 0x62, 0x62, 0xc0, 0x59, 0x94, 0xe8, 0x25, 0x28, 0x57, 0xd9, 0xb5, 0x5e, 0x3e, 0xc6, 0xcb, 0x9b,
- 0x57, 0xc3, 0x64, 0x2d, 0x22, 0x31, 0x09, 0x12, 0x91, 0xf0, 0xec, 0x11, 0x31, 0x0b, 0xe5, 0xf9,
- 0x1e, 0xf5, 0x70, 0x4f, 0x0c, 0x54, 0x4d, 0x61, 0xce, 0x68, 0x3f, 0xd9, 0x61, 0x4c, 0x44, 0x78,
- 0xe9, 0x95, 0x9a, 0x52, 0xd1, 0x0b, 0xb1, 0x59, 0x17, 0xfd, 0x8a, 0x03, 0xe3, 0x4d, 0x69, 0xae,
- 0xc7, 0x9d, 0xa6, 0xcc, 0xde, 0x89, 0xad, 0x2c, 0xbf, 0x2b, 0x3a, 0x66, 0x2e, 0x4b, 0x18, 0x20,
- 0x6c, 0xd2, 0xce, 0xe6, 0xa4, 0x19, 0xe9, 0x33, 0x27, 0xcd, 0xf7, 0x1d, 0x98, 0xcc, 0x52, 0x43,
- 0x5b, 0xf0, 0x70, 0xcb, 0x8b, 0xb6, 0x2e, 0x07, 0x9b, 0x11, 0xbb, 0xe0, 0x91, 0xf0, 0xc5, 0x30,
- 0xbb, 0x99, 0x90, 0x68, 0xc1, 0xdb, 0xe1, 0xee, 0xcf, 0xa2, 0x7a, 0xfe, 0xe9, 0xe1, 0x95, 0xbd,
- 0x2a, 0xe3, 0xbd, 0x71, 0xa1, 0x0a, 0x9c, 0xa2, 0x15, 0x58, 0xca, 0x3a, 0x3f, 0x0c, 0x52, 0x22,
- 0x05, 0x46, 0x44, 0x05, 0x19, 0xae, 0xe4, 0x55, 0xc2, 0xf9, 0x6d, 0xdd, 0x8b, 0x30, 0xc4, 0xef,
- 0xdb, 0xdd, 0x93, 0xff, 0xc8, 0xfd, 0xb7, 0x05, 0x90, 0x82, 0xe1, 0x5f, 0x6e, 0x77, 0x1c, 0x3d,
- 0x44, 0x23, 0x66, 0x52, 0x12, 0xd6, 0x0e, 0x76, 0x88, 0x8a, 0xe4, 0x90, 0xa2, 0x84, 0x4a, 0xcc,
- 0xe4, 0x96, 0x9f, 0xcc, 0x87, 0x35, 0x69, 0xe3, 0x60, 0x12, 0xf3, 0x45, 0x01, 0xc3, 0xaa, 0xd4,
- 0xfd, 0xa4, 0x03, 0xe3, 0x74, 0x94, 0xcd, 0x26, 0x69, 0x56, 0x12, 0xd2, 0x8e, 0x51, 0x0c, 0xc5,
- 0x98, 0xfe, 0x63, 0xcf, 0x14, 0x98, 0xde, 0xd1, 0x24, 0x6d, 0xcd, 0x59, 0x43, 0x89, 0x60, 0x4e,
- 0xcb, 0x7d, 0x6b, 0x00, 0x46, 0xd5, 0x64, 0xf7, 0x61, 0x4f, 0xbd, 0x90, 0xe6, 0x6d, 0xe5, 0x1c,
- 0xb8, 0xac, 0xe5, 0x6c, 0xbd, 0x43, 0xa7, 0x2e, 0xd8, 0xe1, 0x09, 0x2c, 0xd2, 0x04, 0xae, 0x4f,
- 0x99, 0xae, 0xe6, 0xd3, 0xfa, 0xfa, 0xd3, 0xea, 0x0b, 0x9f, 0xf3, 0x2d, 0xdd, 0xd3, 0x3f, 0x68,
- 0xeb, 0x34, 0x53, 0x6e, 0xcc, 0xde, 0x2e, 0xfe, 0xcc, 0x93, 0x3e, 0xc5, 0xbe, 0x9e, 0xf4, 0x79,
- 0x12, 0x06, 0x49, 0xd0, 0x69, 0x31, 0x51, 0x69, 0x94, 0xa9, 0x08, 0x83, 0x17, 0x83, 0x4e, 0xcb,
- 0x1c, 0x19, 0xab, 0x82, 0xde, 0x07, 0xa5, 0x1a, 0x89, 0xab, 0x91, 0xcf, 0xb2, 0x32, 0x08, 0xcb,
- 0xce, 0x43, 0xcc, 0x5c, 0x96, 0x82, 0xcd, 0x86, 0x7a, 0x03, 0xf7, 0x55, 0x18, 0x5a, 0x6b, 0x76,
- 0xea, 0x7e, 0x80, 0xda, 0x30, 0xc4, 0x73, 0x34, 0x88, 0xd3, 0xde, 0x82, 0xde, 0xc9, 0x59, 0x85,
- 0x16, 0x85, 0xc2, 0xaf, 0xea, 0x0a, 0x3a, 0xee, 0x27, 0x0a, 0x40, 0x55, 0xf3, 0xa5, 0x79, 0xf4,
- 0xd7, 0xbb, 0x5e, 0xb0, 0xf9, 0xb9, 0x9c, 0x17, 0x6c, 0xc6, 0x59, 0xe5, 0x9c, 0xc7, 0x6b, 0x9a,
- 0x30, 0xce, 0x9c, 0x23, 0xf2, 0x0c, 0x14, 0x62, 0xf5, 0x33, 0x7d, 0xa6, 0x35, 0xd0, 0x9b, 0x8a,
- 0x13, 0x41, 0x07, 0x61, 0x13, 0x39, 0x5a, 0x81, 0x13, 0x3c, 0xfd, 0xe7, 0x02, 0x69, 0x7a, 0x3b,
- 0x99, 0x34, 0x5f, 0x67, 0xe5, 0xa3, 0x64, 0x0b, 0xdd, 0x55, 0x70, 0x5e, 0x3b, 0xf7, 0xf7, 0x07,
- 0x41, 0x73, 0x49, 0xf4, 0xb1, 0x5b, 0x5e, 0xc9, 0x38, 0xa0, 0x56, 0xac, 0x38, 0xa0, 0xa4, 0x57,
- 0x87, 0x73, 0x20, 0xd3, 0xe7, 0x44, 0x3b, 0xd5, 0x20, 0xcd, 0xb6, 0x18, 0xa3, 0xea, 0xd4, 0x25,
- 0xd2, 0x6c, 0x63, 0x56, 0xa2, 0x2e, 0x2a, 0x0e, 0xf6, 0xbc, 0xa8, 0xd8, 0x80, 0x62, 0xdd, 0xeb,
- 0xd4, 0x89, 0x88, 0xc0, 0xb4, 0xe0, 0x6b, 0x64, 0x57, 0x27, 0xb8, 0xaf, 0x91, 0xfd, 0x8b, 0x39,
- 0x01, 0xba, 0xd9, 0x1b, 0x32, 0x24, 0x45, 0x18, 0x69, 0x2d, 0x6c, 0x76, 0x15, 0xe5, 0xc2, 0x37,
- 0xbb, 0xfa, 0x89, 0x53, 0x62, 0xa8, 0x0d, 0xc3, 0x55, 0x9e, 0x5c, 0x45, 0xc8, 0x2c, 0x97, 0x6d,
- 0xdc, 0xc4, 0x64, 0x08, 0xb9, 0x35, 0x45, 0xfc, 0xc0, 0x92, 0x8c, 0x7b, 0x1e, 0x4a, 0xda, 0x43,
- 0x1a, 0xf4, 0x33, 0xa8, 0xbc, 0x1e, 0xda, 0x67, 0x58, 0xf0, 0x12, 0x0f, 0xb3, 0x12, 0xf7, 0x9b,
- 0x83, 0xa0, 0x6c, 0x69, 0xfa, 0xbd, 0x41, 0xaf, 0xaa, 0x65, 0x21, 0x32, 0xee, 0xd0, 0x87, 0x01,
- 0x16, 0xa5, 0x54, 0xae, 0x6b, 0x91, 0xa8, 0xae, 0xf4, 0x68, 0xc1, 0xae, 0x95, 0x5c, 0xb7, 0xa2,
- 0x17, 0x62, 0xb3, 0x2e, 0x15, 0xca, 0x5b, 0xc2, 0x45, 0x9f, 0x0d, 0xac, 0x96, 0xae, 0x7b, 0xac,
- 0x6a, 0xb0, 0x34, 0x06, 0x2d, 0xcd, 0xa3, 0x2f, 0x02, 0x31, 0x6d, 0x38, 0x94, 0x34, 0xac, 0x3c,
- 0x60, 0x4a, 0x87, 0x60, 0x83, 0x2a, 0x5a, 0x82, 0xe3, 0x31, 0x49, 0x56, 0x6f, 0x06, 0x24, 0x52,
- 0x29, 0x06, 0x44, 0x9e, 0x0c, 0x75, 0xab, 0xa2, 0x92, 0xad, 0x80, 0xbb, 0xdb, 0xe4, 0xc6, 0xae,
- 0x16, 0xf7, 0x1d, 0xbb, 0xba, 0x00, 0x93, 0x9b, 0x9e, 0xdf, 0xec, 0x44, 0xa4, 0x67, 0x04, 0xec,
- 0x62, 0xa6, 0x1c, 0x77, 0xb5, 0x60, 0x17, 0x7b, 0x9a, 0x5e, 0x3d, 0x2e, 0x0f, 0x6b, 0x17, 0x7b,
- 0x28, 0x00, 0x73, 0xb8, 0xfb, 0x5b, 0x0e, 0xf0, 0x04, 0x45, 0xb3, 0x9b, 0x9b, 0x7e, 0xe0, 0x27,
- 0x3b, 0xe8, 0x6b, 0x0e, 0x4c, 0x06, 0x61, 0x8d, 0xcc, 0x06, 0x89, 0x2f, 0x81, 0xf6, 0xb2, 0xc6,
- 0x33, 0x5a, 0x57, 0x33, 0xe8, 0x79, 0xb6, 0x8b, 0x2c, 0x14, 0x77, 0x75, 0xc3, 0x3d, 0x03, 0xa7,
- 0x72, 0x11, 0xb8, 0xdf, 0x1f, 0x00, 0x33, 0xcf, 0x12, 0x7a, 0x1e, 0x8a, 0x4d, 0x96, 0xf9, 0xc3,
- 0x39, 0x60, 0x02, 0x2d, 0x36, 0x57, 0x3c, 0x35, 0x08, 0xc7, 0x84, 0x16, 0xa0, 0xc4, 0x92, 0x37,
- 0x89, 0xbc, 0x2c, 0x05, 0x23, 0x25, 0x42, 0x09, 0xa7, 0x45, 0x77, 0xcc, 0x9f, 0x58, 0x6f, 0x86,
- 0x5e, 0x83, 0xe1, 0x0d, 0x9e, 0xc2, 0xd2, 0x9e, 0xcf, 0x4f, 0xe4, 0xc4, 0x64, 0xb2, 0x91, 0x4c,
- 0x90, 0x79, 0x27, 0xfd, 0x17, 0x4b, 0x8a, 0x68, 0x07, 0x46, 0x3c, 0xf9, 0x4d, 0x07, 0x6d, 0x5d,
- 0xd4, 0x30, 0xd6, 0x8f, 0x88, 0x98, 0x91, 0xdf, 0x50, 0x91, 0xcb, 0x84, 0x16, 0x15, 0xfb, 0x0a,
- 0x2d, 0xfa, 0xb6, 0x03, 0x90, 0xbe, 0xf7, 0x81, 0x6e, 0xc1, 0x48, 0xfc, 0x8c, 0x61, 0xa8, 0xb0,
- 0x71, 0x43, 0x5f, 0x60, 0xd4, 0x6e, 0xb1, 0x0a, 0x08, 0x56, 0xd4, 0xee, 0x66, 0x5c, 0xf9, 0xa9,
- 0x03, 0x27, 0xf3, 0xde, 0x25, 0xb9, 0x8f, 0x3d, 0xde, 0xaf, 0x5d, 0x45, 0x34, 0x58, 0x8b, 0xc8,
- 0xa6, 0x7f, 0x2b, 0x27, 0x91, 0x32, 0x2f, 0xc0, 0x69, 0x1d, 0xf7, 0xcd, 0x61, 0x50, 0x84, 0x0f,
- 0xc9, 0x0e, 0xf3, 0x38, 0xd5, 0x99, 0xea, 0xa9, 0xcc, 0xa5, 0xea, 0x61, 0x06, 0xc5, 0xa2, 0x94,
- 0xea, 0x4d, 0x32, 0x28, 0x5e, 0xb0, 0x6c, 0xb6, 0x0a, 0x65, 0xf0, 0x3c, 0x56, 0xa5, 0x79, 0x96,
- 0x9d, 0xe2, 0x91, 0x58, 0x76, 0x86, 0xec, 0x5b, 0x76, 0x9e, 0x84, 0xe1, 0x28, 0x6c, 0x92, 0x59,
- 0x7c, 0x55, 0x68, 0x03, 0x69, 0x50, 0x03, 0x07, 0x63, 0x59, 0x7e, 0x40, 0xdb, 0x06, 0xfa, 0x1d,
- 0x67, 0x0f, 0xe3, 0xd1, 0xa8, 0xad, 0x33, 0x21, 0x37, 0xeb, 0x1c, 0x53, 0x6d, 0x0e, 0x62, 0x91,
- 0xfa, 0xba, 0x03, 0xc7, 0x49, 0x50, 0x8d, 0x76, 0x18, 0x1e, 0x81, 0x4d, 0xf8, 0x9c, 0xaf, 0xd9,
- 0xd8, 0x7c, 0x17, 0xb3, 0xc8, 0xb9, 0x6b, 0xa7, 0x0b, 0x8c, 0xbb, 0xbb, 0x81, 0x56, 0x61, 0xa4,
- 0xea, 0x89, 0x15, 0x51, 0xda, 0xcf, 0x8a, 0xe0, 0x9e, 0xb3, 0x59, 0xb1, 0x14, 0x14, 0x12, 0xf7,
- 0xc7, 0x05, 0x38, 0x91, 0xd3, 0x25, 0x76, 0x81, 0xaa, 0x45, 0x57, 0xe4, 0xe5, 0x5a, 0x76, 0x3f,
- 0x2e, 0x0b, 0x38, 0x56, 0x35, 0xd0, 0x1a, 0x9c, 0xdc, 0x6a, 0xc5, 0x29, 0x96, 0xf9, 0x30, 0x48,
- 0xc8, 0x2d, 0xb9, 0x3b, 0xa5, 0x3f, 0xfa, 0xe4, 0x72, 0x4e, 0x1d, 0x9c, 0xdb, 0x92, 0x8a, 0x2f,
- 0x24, 0xf0, 0x36, 0x9a, 0x24, 0x2d, 0x12, 0xd7, 0x0a, 0x95, 0xf8, 0x72, 0x31, 0x53, 0x8e, 0xbb,
- 0x5a, 0xa0, 0xcf, 0x3a, 0x70, 0x36, 0x26, 0xd1, 0x36, 0x89, 0x2a, 0x7e, 0x8d, 0xcc, 0x77, 0xe2,
- 0x24, 0x6c, 0x91, 0xe8, 0x80, 0xe6, 0xd2, 0xe9, 0xdb, 0xbb, 0xd3, 0x67, 0x2b, 0xbd, 0xb1, 0xe1,
- 0xbd, 0x48, 0xb9, 0x9f, 0x75, 0x60, 0xa2, 0xc2, 0x94, 0x69, 0x25, 0x4b, 0xdb, 0xce, 0x3b, 0xfa,
- 0xb8, 0x4a, 0x84, 0x91, 0xe1, 0x8a, 0x66, 0xea, 0x0a, 0xf7, 0x65, 0x98, 0xac, 0x90, 0x96, 0xd7,
- 0x6e, 0xb0, 0x3b, 0xc1, 0x3c, 0x1e, 0xeb, 0x3c, 0x8c, 0xc6, 0x12, 0x96, 0x7d, 0x6a, 0x48, 0x55,
- 0xc6, 0x69, 0x1d, 0xf4, 0x18, 0x8f, 0x1d, 0x93, 0x37, 0x80, 0x46, 0xb9, 0xd6, 0xc1, 0x03, 0xce,
- 0x62, 0x2c, 0xcb, 0xdc, 0xb7, 0x1c, 0x18, 0x4b, 0xdb, 0x93, 0x4d, 0x54, 0x87, 0x63, 0x55, 0xed,
- 0xf6, 0x5c, 0x7a, 0x6f, 0xa1, 0xff, 0x8b, 0x76, 0x3c, 0x1d, 0xb2, 0x89, 0x04, 0x67, 0xb1, 0xee,
- 0x3f, 0xf4, 0xee, 0x0b, 0x05, 0x38, 0xa6, 0xba, 0x2a, 0x1c, 0x87, 0x6f, 0x64, 0x23, 0xe4, 0xb0,
- 0x8d, 0x94, 0x3e, 0xe6, 0xdc, 0xef, 0x11, 0x25, 0xf7, 0x46, 0x36, 0x4a, 0xee, 0x50, 0xc9, 0x77,
- 0xf9, 0x42, 0xbf, 0x5d, 0x80, 0x11, 0x95, 0x60, 0xe8, 0x79, 0x28, 0x32, 0x55, 0xf2, 0xde, 0x04,
- 0x62, 0xa6, 0x96, 0x62, 0x8e, 0x89, 0xa2, 0x64, 0x51, 0x38, 0x07, 0x4e, 0x52, 0x3b, 0xca, 0x0d,
- 0x8a, 0x5e, 0x94, 0x60, 0x8e, 0x09, 0x2d, 0xc3, 0x00, 0x09, 0x6a, 0x42, 0x32, 0xde, 0x3f, 0x42,
- 0xf6, 0x28, 0xd8, 0xc5, 0xa0, 0x86, 0x29, 0x16, 0x96, 0xe5, 0x8c, 0x0b, 0x40, 0x99, 0x27, 0x60,
- 0x84, 0xf4, 0x23, 0x4a, 0xdd, 0xf7, 0x83, 0x91, 0xdf, 0x4e, 0xe4, 0xcd, 0x17, 0x4a, 0x57, 0xf7,
- 0xbb, 0x5d, 0x42, 0xdb, 0x4a, 0xeb, 0xb8, 0xbf, 0x32, 0x00, 0x43, 0x95, 0xce, 0x06, 0x55, 0x12,
- 0xbe, 0xe5, 0xc0, 0x89, 0x9b, 0x99, 0x14, 0xd0, 0xe9, 0x26, 0xb9, 0x66, 0xcf, 0x2a, 0xab, 0x87,
- 0x92, 0x29, 0x5b, 0x54, 0x4e, 0x21, 0xce, 0xeb, 0x8e, 0x91, 0x85, 0x75, 0xe0, 0x50, 0xb2, 0xb0,
- 0xde, 0x3a, 0xe4, 0xbb, 0x14, 0xe3, 0xbd, 0xee, 0x51, 0xb8, 0xbf, 0x5f, 0x04, 0xe0, 0x5f, 0x63,
- 0xb5, 0x9d, 0xf4, 0x63, 0x67, 0x7b, 0x16, 0xc6, 0xea, 0x24, 0x20, 0x91, 0x0c, 0x14, 0xcc, 0x3c,
- 0x4f, 0xb4, 0xa4, 0x95, 0x61, 0xa3, 0x26, 0x53, 0x6a, 0x82, 0x24, 0xda, 0xe1, 0x82, 0x6f, 0xf6,
- 0xbe, 0x84, 0x2a, 0xc1, 0x5a, 0x2d, 0x34, 0x63, 0xb8, 0x41, 0xb8, 0x47, 0x7d, 0x62, 0x0f, 0xaf,
- 0xc5, 0xfb, 0x60, 0xc2, 0x4c, 0x6a, 0x22, 0xa4, 0x3d, 0xe5, 0x01, 0x37, 0x73, 0xa1, 0xe0, 0x4c,
- 0x6d, 0xba, 0x0b, 0x6a, 0xd1, 0x0e, 0xee, 0x04, 0x42, 0xec, 0x53, 0xbb, 0x60, 0x81, 0x41, 0xb1,
- 0x28, 0x65, 0xd9, 0x20, 0xd8, 0x01, 0xc8, 0xe1, 0x22, 0xa3, 0x44, 0x9a, 0x0d, 0x42, 0x2b, 0xc3,
- 0x46, 0x4d, 0x4a, 0x41, 0xd8, 0x29, 0xc1, 0xdc, 0x67, 0x19, 0xe3, 0x62, 0x1b, 0x26, 0x42, 0xd3,
- 0xbe, 0xc2, 0x65, 0xa0, 0x77, 0xf5, 0xb9, 0xf4, 0x8c, 0xb6, 0x3c, 0x72, 0x21, 0x63, 0x8e, 0xc9,
- 0xe0, 0xa7, 0x72, 0xaf, 0x7e, 0xad, 0x60, 0xcc, 0x8c, 0x33, 0xed, 0x19, 0xf9, 0xbf, 0x06, 0x27,
- 0xdb, 0x61, 0x6d, 0x2d, 0xf2, 0xc3, 0xc8, 0x4f, 0x76, 0xe6, 0x9b, 0x5e, 0x1c, 0xb3, 0x85, 0x31,
- 0x6e, 0xca, 0x43, 0x6b, 0x39, 0x75, 0x70, 0x6e, 0x4b, 0xaa, 0xa1, 0xb4, 0x05, 0x90, 0x45, 0x7b,
- 0x15, 0xb9, 0x44, 0x27, 0x2b, 0x62, 0x55, 0xea, 0x9e, 0x80, 0xe3, 0x95, 0x4e, 0xbb, 0xdd, 0xf4,
- 0x49, 0x4d, 0xb9, 0x19, 0xdc, 0xf7, 0xc3, 0x31, 0x91, 0xa3, 0x55, 0x49, 0x1f, 0xfb, 0xca, 0x28,
- 0xee, 0xfe, 0x99, 0x03, 0xc7, 0x32, 0xb1, 0x35, 0xe8, 0xb5, 0xac, 0xcc, 0x60, 0x27, 0x77, 0xa8,
- 0x26, 0x2d, 0x88, 0x44, 0xa0, 0x79, 0xf2, 0x47, 0x43, 0x06, 0xc6, 0x5b, 0xbb, 0x90, 0xc2, 0xc2,
- 0xc7, 0xf9, 0x91, 0xa2, 0x47, 0xd7, 0xbb, 0x9f, 0x29, 0x40, 0x7e, 0x40, 0x13, 0xfa, 0x68, 0xf7,
- 0x04, 0x3c, 0x6f, 0x71, 0x02, 0x44, 0x44, 0x55, 0xef, 0x39, 0x08, 0xcc, 0x39, 0x58, 0xb1, 0x34,
- 0x07, 0x82, 0x6e, 0xf7, 0x4c, 0xfc, 0x4f, 0x07, 0x4a, 0xeb, 0xeb, 0x57, 0xd4, 0x39, 0x87, 0xe1,
- 0x74, 0xcc, 0x2f, 0xdc, 0x33, 0xbf, 0xef, 0x7c, 0xd8, 0x6a, 0x73, 0x37, 0xb0, 0x70, 0x4f, 0xb3,
- 0x74, 0xb9, 0x95, 0xdc, 0x1a, 0xb8, 0x47, 0x4b, 0x74, 0x19, 0x4e, 0xe8, 0x25, 0x15, 0xed, 0x75,
- 0xc2, 0xa2, 0x48, 0x9e, 0xd3, 0x5d, 0x8c, 0xf3, 0xda, 0x64, 0x51, 0x09, 0x73, 0x27, 0x3b, 0xae,
- 0x72, 0x50, 0x89, 0x62, 0x9c, 0xd7, 0xc6, 0x5d, 0x85, 0xd2, 0xba, 0x17, 0xa9, 0x81, 0x7f, 0x00,
- 0x26, 0xab, 0x61, 0x4b, 0x9a, 0x99, 0xae, 0x90, 0x6d, 0xd2, 0x14, 0x43, 0xe6, 0x4f, 0x82, 0x64,
- 0xca, 0x70, 0x57, 0x6d, 0xf7, 0xbf, 0x9e, 0x03, 0x75, 0x81, 0xb0, 0x8f, 0x13, 0xa6, 0xad, 0x42,
- 0x3d, 0x8b, 0x96, 0x43, 0x3d, 0x15, 0xaf, 0xcd, 0x84, 0x7b, 0x26, 0x69, 0xb8, 0xe7, 0x90, 0xed,
- 0x70, 0x4f, 0x25, 0x71, 0x76, 0x85, 0x7c, 0x7e, 0xc5, 0x81, 0xb1, 0x20, 0xac, 0x11, 0xe5, 0x9f,
- 0x1b, 0x66, 0x62, 0xef, 0x4b, 0xf6, 0x22, 0xe7, 0x79, 0xe8, 0xa2, 0x40, 0xcf, 0xc3, 0x90, 0xd5,
- 0x11, 0xa5, 0x17, 0x61, 0xa3, 0x1f, 0x68, 0x51, 0x33, 0x7c, 0x72, 0xff, 0xc2, 0x43, 0x79, 0xfa,
- 0xca, 0x5d, 0xad, 0x98, 0xb7, 0x34, 0xb9, 0x69, 0xd4, 0x96, 0x41, 0x4f, 0xde, 0x0a, 0xd3, 0xdc,
- 0x24, 0x32, 0xe3, 0x73, 0x2a, 0x4f, 0xb9, 0x30, 0xc4, 0xe3, 0x95, 0x45, 0x9a, 0x26, 0xe6, 0xbd,
- 0xe3, 0xb1, 0xcc, 0x58, 0x94, 0xa0, 0x44, 0xc6, 0x00, 0x94, 0x6c, 0xbd, 0xdf, 0x60, 0xc4, 0x18,
- 0xe4, 0x07, 0x01, 0xa0, 0xe7, 0x74, 0x3d, 0x78, 0xac, 0x1f, 0x3d, 0x78, 0xbc, 0xa7, 0x0e, 0xfc,
- 0x79, 0x07, 0xc6, 0xaa, 0xda, 0x7b, 0x0a, 0xe5, 0x27, 0x6c, 0xbd, 0x1b, 0x9d, 0xf7, 0xec, 0x05,
- 0x77, 0x0a, 0x19, 0xef, 0x37, 0x18, 0xd4, 0x59, 0x6e, 0x4a, 0xa6, 0xf4, 0xb3, 0xa3, 0xdf, 0x4a,
- 0xda, 0x08, 0xd3, 0x88, 0x20, 0x63, 0x29, 0x29, 0x0c, 0x0b, 0x5a, 0xe8, 0x75, 0x18, 0x91, 0x21,
- 0xef, 0x22, 0x34, 0x1c, 0xdb, 0xb0, 0xd2, 0x9b, 0xae, 0x40, 0x99, 0xd0, 0x8e, 0x43, 0xb1, 0xa2,
- 0x88, 0x1a, 0x30, 0x50, 0xf3, 0xea, 0x22, 0x48, 0x7c, 0xc5, 0x4e, 0xc2, 0x50, 0x49, 0x93, 0xe9,
- 0x67, 0x0b, 0xb3, 0x4b, 0x98, 0x92, 0x40, 0xb7, 0xd2, 0x84, 0xf4, 0x93, 0xd6, 0x4e, 0x5f, 0x53,
- 0x4c, 0xe2, 0x66, 0x8d, 0xae, 0xfc, 0xf6, 0x35, 0xe1, 0x3d, 0xfd, 0xff, 0x18, 0xd9, 0x45, 0x3b,
- 0x19, 0x47, 0x79, 0x1a, 0x92, 0xd4, 0x03, 0x4b, 0xa9, 0x34, 0x92, 0xa4, 0x5d, 0xfe, 0x79, 0x5b,
- 0x54, 0x58, 0x32, 0x0d, 0xfe, 0xc4, 0xf7, 0xfa, 0xfa, 0x1a, 0x66, 0xd8, 0x51, 0x13, 0x86, 0xda,
- 0x2c, 0xb0, 0xa3, 0xfc, 0x0b, 0xb6, 0xce, 0x16, 0x1e, 0x28, 0xc2, 0xd7, 0x26, 0xff, 0x1f, 0x0b,
- 0x1a, 0xe8, 0x22, 0x0c, 0xf3, 0x77, 0x55, 0x78, 0x90, 0x7e, 0xe9, 0xc2, 0x54, 0xef, 0xd7, 0x59,
- 0xd2, 0x83, 0x82, 0xff, 0x8e, 0xb1, 0x6c, 0x8b, 0xbe, 0xe0, 0xc0, 0x04, 0xe5, 0xa8, 0xe9, 0x43,
- 0x30, 0x65, 0x64, 0x8b, 0x67, 0x5d, 0x8b, 0xa9, 0x44, 0x22, 0x79, 0x8d, 0x52, 0x93, 0x2e, 0x1b,
- 0xe4, 0x70, 0x86, 0x3c, 0x7a, 0x03, 0x46, 0x62, 0xbf, 0x46, 0xaa, 0x5e, 0x14, 0x97, 0x4f, 0x1c,
- 0x4e, 0x57, 0x52, 0x7f, 0x8d, 0x20, 0x84, 0x15, 0x49, 0xf4, 0xeb, 0xec, 0x25, 0x4e, 0xf1, 0x6a,
- 0x7e, 0x95, 0x8b, 0xf5, 0x27, 0x6d, 0xed, 0x7d, 0xe9, 0x99, 0x92, 0x98, 0x85, 0x1b, 0xc3, 0x24,
- 0x87, 0xb3, 0xf4, 0xd1, 0xdf, 0x70, 0xe0, 0x14, 0xcf, 0xa9, 0x9f, 0x7d, 0x04, 0xe2, 0xd4, 0x01,
- 0xed, 0x33, 0xec, 0x76, 0xc1, 0x6c, 0x1e, 0x4a, 0x9c, 0x4f, 0x89, 0x65, 0xc0, 0x35, 0xdf, 0xed,
- 0x39, 0x6d, 0xd5, 0x6f, 0xd9, 0xff, 0x5b, 0x3d, 0xe8, 0x69, 0x28, 0xb5, 0xc5, 0x71, 0xe8, 0xc7,
- 0x2d, 0x76, 0x57, 0x64, 0x80, 0xdf, 0xe2, 0x5b, 0x4b, 0xc1, 0x58, 0xaf, 0x63, 0xa4, 0x43, 0x7e,
- 0x72, 0xaf, 0x74, 0xc8, 0xe8, 0x1a, 0x94, 0x92, 0xb0, 0x29, 0x32, 0x82, 0xc6, 0xe5, 0x32, 0x5b,
- 0x81, 0xe7, 0xf2, 0xf6, 0xd6, 0xba, 0xaa, 0x96, 0x6a, 0xb2, 0x29, 0x2c, 0xc6, 0x3a, 0x1e, 0x16,
- 0x9f, 0x2b, 0xde, 0x2a, 0x88, 0x98, 0x0a, 0xfb, 0x60, 0x26, 0x3e, 0x57, 0x2f, 0xc4, 0x66, 0x5d,
- 0xb4, 0x04, 0xc7, 0xdb, 0x5d, 0x3a, 0x30, 0xbf, 0xa3, 0xa6, 0x42, 0x22, 0xba, 0x15, 0xe0, 0xee,
- 0x36, 0x86, 0xf6, 0x7b, 0x76, 0x2f, 0xed, 0xb7, 0x47, 0x72, 0xe0, 0x87, 0x0e, 0x92, 0x1c, 0x18,
- 0xd5, 0xe0, 0x21, 0xaf, 0x93, 0x84, 0x2c, 0x61, 0x8c, 0xd9, 0x84, 0x87, 0x2a, 0x3f, 0xc2, 0xa3,
- 0x9f, 0x6f, 0xef, 0x4e, 0x3f, 0x34, 0xbb, 0x47, 0x3d, 0xbc, 0x27, 0x16, 0xf4, 0x2a, 0x8c, 0x10,
- 0x91, 0xe0, 0xb8, 0xfc, 0x73, 0xb6, 0x84, 0x04, 0x33, 0x65, 0xb2, 0x8c, 0x02, 0xe5, 0x30, 0xac,
- 0xe8, 0xa1, 0x75, 0x28, 0x35, 0xc2, 0x38, 0x99, 0x6d, 0xfa, 0x5e, 0x4c, 0xe2, 0xf2, 0xc3, 0x6c,
- 0xd1, 0xe4, 0xca, 0x5e, 0x97, 0x64, 0xb5, 0x74, 0xcd, 0x5c, 0x4a, 0x5b, 0x62, 0x1d, 0x0d, 0x22,
- 0xcc, 0x7b, 0xc9, 0xe2, 0xb4, 0xa5, 0x23, 0xe8, 0x1c, 0x1b, 0xd8, 0xe3, 0x79, 0x98, 0xd7, 0xc2,
- 0x5a, 0xc5, 0xac, 0xad, 0xdc, 0x97, 0x3a, 0x10, 0x67, 0x71, 0xa2, 0x67, 0x61, 0xac, 0x1d, 0xd6,
- 0x2a, 0x6d, 0x52, 0x5d, 0xf3, 0x92, 0x6a, 0xa3, 0x3c, 0x6d, 0x5a, 0xdd, 0xd6, 0xb4, 0x32, 0x6c,
- 0xd4, 0x44, 0x6d, 0x18, 0x6e, 0xf1, 0x4c, 0x02, 0xe5, 0x47, 0x6d, 0xe9, 0x36, 0x22, 0x35, 0x01,
- 0x97, 0x17, 0xc4, 0x0f, 0x2c, 0xc9, 0xa0, 0xbf, 0xef, 0xc0, 0xb1, 0xcc, 0xed, 0xa7, 0xf2, 0x3b,
- 0xac, 0x89, 0x2c, 0x26, 0xe2, 0xb9, 0xc7, 0xd9, 0xf4, 0x99, 0xc0, 0x3b, 0xdd, 0x20, 0x9c, 0xed,
- 0x11, 0x9f, 0x17, 0x96, 0x0e, 0xa4, 0xfc, 0x98, 0xbd, 0x79, 0x61, 0x08, 0xe5, 0xbc, 0xb0, 0x1f,
- 0x58, 0x92, 0x41, 0x4f, 0xc2, 0xb0, 0xc8, 0xdc, 0x57, 0x7e, 0xdc, 0x74, 0x41, 0x8b, 0x04, 0x7f,
- 0x58, 0x96, 0x4f, 0xbd, 0x1f, 0x8e, 0x77, 0xa9, 0x6e, 0xfb, 0xca, 0x49, 0xf1, 0x9b, 0x0e, 0xe8,
- 0xd7, 0xa5, 0xad, 0xbf, 0x2a, 0xf2, 0x2c, 0x8c, 0x55, 0xf9, 0x13, 0x8e, 0xfc, 0xc2, 0xf5, 0xa0,
- 0x69, 0xff, 0x9c, 0xd7, 0xca, 0xb0, 0x51, 0xd3, 0xbd, 0x04, 0xa8, 0x3b, 0xe5, 0xfb, 0x81, 0x12,
- 0x1e, 0xfd, 0x43, 0x07, 0xc6, 0x0d, 0x99, 0xc1, 0xba, 0x93, 0x71, 0x11, 0x50, 0xcb, 0x8f, 0xa2,
- 0x30, 0xd2, 0xdf, 0xca, 0x13, 0x49, 0x11, 0xd8, 0xb5, 0xb3, 0x95, 0xae, 0x52, 0x9c, 0xd3, 0xc2,
- 0xfd, 0xc7, 0x83, 0x90, 0x86, 0x41, 0xab, 0x9c, 0xba, 0x4e, 0xcf, 0x9c, 0xba, 0x4f, 0xc1, 0xc8,
- 0xcb, 0x71, 0x18, 0xac, 0xa5, 0x99, 0x77, 0xd5, 0xb7, 0x78, 0xae, 0xb2, 0x7a, 0x95, 0xd5, 0x54,
- 0x35, 0x58, 0xed, 0x57, 0x16, 0xfd, 0x66, 0xd2, 0x9d, 0x9a, 0xf5, 0xb9, 0xe7, 0x39, 0x1c, 0xab,
- 0x1a, 0xec, 0xd9, 0xbc, 0x6d, 0xa2, 0x0c, 0xe3, 0xe9, 0xb3, 0x79, 0xfc, 0x35, 0x07, 0x56, 0x86,
- 0xce, 0xc3, 0xa8, 0x32, 0xaa, 0x0b, 0x4b, 0xbd, 0x9a, 0x29, 0x65, 0x79, 0xc7, 0x69, 0x1d, 0x26,
- 0x10, 0x0a, 0x43, 0xac, 0x30, 0xa1, 0x54, 0x6c, 0xa8, 0x27, 0x19, 0xd3, 0x2e, 0xe7, 0xed, 0x12,
- 0x8c, 0x15, 0xc9, 0x3c, 0x47, 0xeb, 0xe8, 0xa1, 0x38, 0x5a, 0xb5, 0x98, 0xfc, 0x62, 0xbf, 0x31,
- 0xf9, 0xe6, 0xda, 0x1e, 0xe9, 0x6b, 0x6d, 0x7f, 0x6a, 0x00, 0x86, 0xaf, 0x93, 0x88, 0x65, 0x24,
- 0x7f, 0x12, 0x86, 0xb7, 0xf9, 0xbf, 0xd9, 0x0b, 0x9d, 0xa2, 0x06, 0x96, 0xe5, 0xf4, 0xbb, 0x6d,
- 0x74, 0xfc, 0x66, 0x6d, 0x21, 0xdd, 0xc5, 0x69, 0xd2, 0x41, 0x59, 0x80, 0xd3, 0x3a, 0xb4, 0x41,
- 0x9d, 0x4a, 0xf6, 0xad, 0x96, 0xdf, 0xf5, 0x22, 0xfc, 0x92, 0x2c, 0xc0, 0x69, 0x1d, 0xf4, 0x38,
- 0x0c, 0xd5, 0xfd, 0x64, 0xdd, 0xab, 0x67, 0xdd, 0x84, 0x4b, 0x0c, 0x8a, 0x45, 0x29, 0x73, 0x13,
- 0xf9, 0xc9, 0x7a, 0x44, 0x98, 0x65, 0xb7, 0x2b, 0x9f, 0xc4, 0x92, 0x56, 0x86, 0x8d, 0x9a, 0xac,
- 0x4b, 0xa1, 0x18, 0x99, 0x88, 0xe2, 0x4c, 0xbb, 0x24, 0x0b, 0x70, 0x5a, 0x87, 0xae, 0xff, 0x6a,
- 0xd8, 0x6a, 0xfb, 0x4d, 0x11, 0x5f, 0xac, 0xad, 0xff, 0x79, 0x01, 0xc7, 0xaa, 0x06, 0xad, 0x4d,
- 0x59, 0x18, 0x65, 0x3f, 0xd9, 0x27, 0xca, 0xd6, 0x04, 0x1c, 0xab, 0x1a, 0xee, 0x75, 0x18, 0xe7,
- 0x3b, 0x79, 0xbe, 0xe9, 0xf9, 0xad, 0xa5, 0x79, 0x74, 0xb1, 0x2b, 0x26, 0xff, 0xc9, 0x9c, 0x98,
- 0xfc, 0x53, 0x46, 0xa3, 0xee, 0xd8, 0x7c, 0xf7, 0x87, 0x05, 0x18, 0x39, 0xc2, 0x57, 0x1e, 0x8f,
- 0xfc, 0xc1, 0x62, 0x74, 0x2b, 0xf3, 0xc2, 0xe3, 0x9a, 0xcd, 0x2b, 0x36, 0x7b, 0xbe, 0xee, 0xf8,
- 0x9f, 0x0a, 0x70, 0x5a, 0x56, 0x95, 0xba, 0xdc, 0xd2, 0x3c, 0x7b, 0x5b, 0xeb, 0xf0, 0x27, 0x3a,
- 0x32, 0x26, 0x7a, 0xcd, 0x9e, 0x36, 0xba, 0x34, 0xdf, 0x73, 0xaa, 0x5f, 0xcd, 0x4c, 0x35, 0xb6,
- 0x4a, 0x75, 0xef, 0xc9, 0xfe, 0x73, 0x07, 0xa6, 0xf2, 0x27, 0xfb, 0x08, 0x1e, 0xd5, 0x7c, 0xc3,
- 0x7c, 0x54, 0xf3, 0x97, 0xec, 0x2d, 0x31, 0x73, 0x28, 0x3d, 0x9e, 0xd7, 0xfc, 0x1f, 0x0e, 0x9c,
- 0x94, 0x0d, 0xd8, 0xe9, 0x39, 0xe7, 0x07, 0x2c, 0x92, 0xe5, 0xf0, 0x97, 0xd9, 0xeb, 0xc6, 0x32,
- 0x7b, 0xd1, 0xde, 0xc0, 0xf5, 0x71, 0xf4, 0x7c, 0x8c, 0xfc, 0x4f, 0x1d, 0x28, 0xe7, 0x35, 0x38,
- 0x82, 0x4f, 0xfe, 0x9a, 0xf9, 0xc9, 0xaf, 0x1f, 0xce, 0xc8, 0x7b, 0x7f, 0xf0, 0x72, 0xaf, 0x89,
- 0x42, 0x4d, 0x29, 0x57, 0x39, 0xb6, 0x7c, 0xb4, 0x9c, 0x44, 0xbe, 0x80, 0xd6, 0x84, 0xa1, 0x98,
- 0x45, 0x6d, 0x88, 0x25, 0x70, 0xc9, 0x86, 0xb4, 0x45, 0xf1, 0x09, 0x1b, 0x3b, 0xfb, 0x1f, 0x0b,
- 0x1a, 0xee, 0x6f, 0x15, 0xe0, 0x8c, 0x7a, 0x2c, 0x97, 0x6c, 0x93, 0x66, 0xba, 0x3f, 0xd8, 0xfb,
- 0x0d, 0x9e, 0xfa, 0x69, 0xef, 0xfd, 0x86, 0x94, 0x44, 0xba, 0x17, 0x52, 0x18, 0xd6, 0x68, 0xa2,
- 0x0a, 0x9c, 0x62, 0xef, 0x2d, 0x2c, 0xfa, 0x81, 0xd7, 0xf4, 0x5f, 0x25, 0x11, 0x26, 0xad, 0x70,
- 0xdb, 0x6b, 0x0a, 0x49, 0x5d, 0xdd, 0xe9, 0x5d, 0xcc, 0xab, 0x84, 0xf3, 0xdb, 0x76, 0x69, 0xdc,
- 0x03, 0xfd, 0x6a, 0xdc, 0xee, 0x9f, 0x38, 0x30, 0x76, 0x84, 0x4f, 0x0b, 0x87, 0xe6, 0x96, 0x78,
- 0xce, 0xde, 0x96, 0xe8, 0xb1, 0x0d, 0x76, 0x8b, 0xd0, 0xf5, 0xda, 0x2a, 0xfa, 0xb4, 0xa3, 0xe2,
- 0x5a, 0x78, 0xf0, 0xe0, 0x87, 0xec, 0xf5, 0x63, 0x3f, 0x89, 0x20, 0xd1, 0xd7, 0x33, 0xd9, 0x31,
- 0x0b, 0xb6, 0x52, 0x3c, 0x75, 0xf5, 0xe6, 0x00, 0x59, 0x32, 0xbf, 0xe2, 0x00, 0xf0, 0x7e, 0x8a,
- 0xe4, 0xda, 0xb4, 0x6f, 0x1b, 0x87, 0x36, 0x53, 0x94, 0x08, 0xef, 0x9a, 0xda, 0x42, 0x69, 0x01,
- 0xd6, 0x7a, 0x72, 0x0f, 0xe9, 0x2f, 0xef, 0x39, 0xf3, 0xe6, 0x17, 0x1c, 0x38, 0x96, 0xe9, 0x6e,
- 0x4e, 0xfb, 0x4d, 0xf3, 0xf9, 0x40, 0x0b, 0x92, 0x95, 0x99, 0x72, 0x59, 0x37, 0x9e, 0xfc, 0x17,
- 0x17, 0x8c, 0x67, 0xaa, 0xd1, 0x6b, 0x30, 0x2a, 0x2d, 0x1f, 0x72, 0x79, 0xdb, 0x7c, 0x46, 0x55,
- 0xa9, 0x37, 0x12, 0x12, 0xe3, 0x94, 0x5e, 0x26, 0x6c, 0xae, 0xd0, 0x57, 0xd8, 0xdc, 0xfd, 0x7d,
- 0x84, 0x35, 0xdf, 0x2e, 0x3d, 0x78, 0x28, 0x76, 0xe9, 0x87, 0xac, 0xdb, 0xa5, 0x1f, 0x3e, 0x62,
- 0xbb, 0xb4, 0xe6, 0x24, 0x2c, 0xde, 0x83, 0x93, 0xf0, 0x35, 0x38, 0xb9, 0x9d, 0x2a, 0x9d, 0x6a,
- 0x25, 0x89, 0xc4, 0x42, 0x4f, 0xe6, 0x5a, 0xa3, 0xa9, 0x02, 0x1d, 0x27, 0x24, 0x48, 0x34, 0x75,
- 0x35, 0x8d, 0xd8, 0xbb, 0x9e, 0x83, 0x0e, 0xe7, 0x12, 0xc9, 0x7a, 0x7b, 0x86, 0xfb, 0xf0, 0xf6,
- 0xbc, 0xe5, 0xc0, 0x29, 0xaf, 0xeb, 0x12, 0x18, 0x26, 0x9b, 0x22, 0xe4, 0xe4, 0x86, 0x3d, 0x11,
- 0xc2, 0x40, 0x2f, 0xdc, 0x6a, 0x79, 0x45, 0x38, 0xbf, 0x43, 0xe8, 0xb1, 0xd4, 0xf5, 0xce, 0xe3,
- 0x3c, 0xf3, 0xfd, 0xe4, 0x5f, 0xcf, 0xc6, 0xf3, 0x00, 0x9b, 0xfa, 0x8f, 0xd8, 0xd5, 0xb6, 0x2d,
- 0xc4, 0xf4, 0x94, 0xee, 0x21, 0xa6, 0x27, 0xe3, 0x7a, 0x1b, 0xb3, 0xe4, 0x7a, 0x0b, 0x60, 0xd2,
- 0x6f, 0x79, 0x75, 0xb2, 0xd6, 0x69, 0x36, 0xf9, 0x25, 0x12, 0xf9, 0xd0, 0x6d, 0xae, 0x05, 0xef,
- 0x4a, 0x58, 0xf5, 0x9a, 0xd9, 0x27, 0xce, 0xd5, 0x65, 0x99, 0xcb, 0x19, 0x4c, 0xb8, 0x0b, 0x37,
- 0x5d, 0xb0, 0x2c, 0xc3, 0x1d, 0x49, 0xe8, 0x6c, 0xb3, 0xc0, 0x91, 0x11, 0xbe, 0x60, 0x2f, 0xa5,
- 0x60, 0xac, 0xd7, 0x41, 0xcb, 0x30, 0x5a, 0x0b, 0x62, 0x71, 0x9f, 0xf5, 0x18, 0x63, 0x66, 0xef,
- 0xa4, 0x2c, 0x70, 0xe1, 0x6a, 0x45, 0xdd, 0x64, 0x7d, 0x28, 0x27, 0x65, 0xa3, 0x2a, 0xc7, 0x69,
- 0x7b, 0xb4, 0xc2, 0x90, 0x89, 0x57, 0xc0, 0x78, 0x3c, 0xc7, 0x23, 0x3d, 0x1c, 0x46, 0x0b, 0x57,
- 0xe5, 0x3b, 0x66, 0xe3, 0x82, 0x9c, 0x78, 0xce, 0x2b, 0xc5, 0xa0, 0x3d, 0x38, 0x7c, 0x7c, 0xcf,
- 0x07, 0x87, 0x59, 0xae, 0xd6, 0xa4, 0xa9, 0xdc, 0xc3, 0xe7, 0xac, 0xe5, 0x6a, 0x4d, 0x23, 0x25,
- 0x45, 0xae, 0xd6, 0x14, 0x80, 0x75, 0x92, 0x68, 0xb5, 0x97, 0x9b, 0xfc, 0x04, 0x63, 0x1a, 0xfb,
- 0x77, 0x7a, 0xeb, 0xfe, 0xd2, 0x93, 0x7b, 0xfa, 0x4b, 0xbb, 0xfc, 0xbb, 0xa7, 0xf6, 0xe1, 0xdf,
- 0x6d, 0xb0, 0x2c, 0x9a, 0x4b, 0xf3, 0xc2, 0xa5, 0x6e, 0x41, 0xbf, 0x63, 0x79, 0x3b, 0x78, 0xe4,
- 0x29, 0xfb, 0x17, 0x73, 0x02, 0x3d, 0x03, 0xaa, 0xcf, 0x1c, 0x38, 0xa0, 0x9a, 0xb2, 0xe7, 0x14,
- 0xce, 0xd2, 0xb1, 0x16, 0x05, 0x7b, 0x4e, 0xc1, 0x58, 0xaf, 0x93, 0xf5, 0x96, 0x3e, 0x78, 0x68,
- 0xde, 0xd2, 0xa9, 0x23, 0xf0, 0x96, 0x9e, 0xed, 0xdb, 0x5b, 0x7a, 0x0b, 0x4e, 0xb4, 0xc3, 0xda,
- 0x82, 0x1f, 0x47, 0x1d, 0x76, 0xab, 0x6e, 0xae, 0x53, 0xab, 0x93, 0x84, 0xb9, 0x5b, 0x4b, 0x17,
- 0xde, 0xa9, 0x77, 0xb2, 0xcd, 0x36, 0xb2, 0xdc, 0xa3, 0x99, 0x06, 0xcc, 0x74, 0xc2, 0xa2, 0x6e,
- 0x73, 0x0a, 0x71, 0x1e, 0x09, 0xdd, 0x4f, 0xfb, 0xc8, 0xd1, 0xf8, 0x69, 0x3f, 0x00, 0x23, 0x71,
- 0xa3, 0x93, 0xd4, 0xc2, 0x9b, 0x01, 0x73, 0xc6, 0x8f, 0xce, 0xbd, 0x43, 0x99, 0xb2, 0x05, 0xfc,
- 0xce, 0xee, 0xf4, 0xa4, 0xfc, 0x5f, 0xb3, 0x62, 0x0b, 0x08, 0xfa, 0x46, 0x8f, 0xfb, 0x3b, 0xee,
- 0x61, 0xde, 0xdf, 0x39, 0xb3, 0xaf, 0xbb, 0x3b, 0x79, 0xce, 0xe8, 0x47, 0x7f, 0xe6, 0x9c, 0xd1,
- 0x5f, 0x73, 0x60, 0x7c, 0x5b, 0x77, 0x19, 0x08, 0x87, 0xb9, 0x85, 0xc0, 0x1d, 0xc3, 0x13, 0x31,
- 0xe7, 0x52, 0x3e, 0x67, 0x80, 0xee, 0x64, 0x01, 0xd8, 0xec, 0x49, 0x4e, 0x50, 0xd1, 0x63, 0xf7,
- 0x2b, 0xa8, 0xe8, 0x0d, 0xc6, 0xc7, 0xa4, 0x92, 0xcb, 0xbc, 0xe8, 0x76, 0x63, 0x8a, 0x25, 0x4f,
- 0x54, 0x21, 0xc5, 0x3a, 0x3d, 0xf4, 0x79, 0x07, 0x26, 0xa5, 0x5e, 0x26, 0x5c, 0x7e, 0xb1, 0x88,
- 0x8a, 0xb4, 0xa9, 0x0e, 0xb2, 0xb0, 0xfa, 0xf5, 0x0c, 0x1d, 0xdc, 0x45, 0x99, 0x72, 0x75, 0x15,
- 0x84, 0x56, 0x8f, 0x59, 0xf0, 0xaf, 0x90, 0x61, 0x66, 0x53, 0x30, 0xd6, 0xeb, 0xa0, 0x6f, 0x3a,
- 0xc0, 0xdf, 0xeb, 0x2f, 0x3f, 0xc9, 0x18, 0xfa, 0x0b, 0x96, 0x65, 0xd3, 0x4b, 0x14, 0x37, 0x17,
- 0x4a, 0x9f, 0x96, 0xb6, 0x23, 0x06, 0xbb, 0xb3, 0x3b, 0x3d, 0x61, 0x3c, 0x36, 0x14, 0xbf, 0xf9,
- 0xb6, 0x06, 0x11, 0xb6, 0x4d, 0xd6, 0x35, 0xf4, 0x25, 0x07, 0x26, 0x6f, 0x66, 0x0c, 0x1a, 0x22,
- 0x2c, 0x14, 0xdb, 0x37, 0x95, 0xf0, 0xe9, 0xce, 0x42, 0x71, 0x57, 0x0f, 0xd0, 0xe7, 0x4c, 0x43,
- 0x27, 0x8f, 0x1f, 0xb5, 0x38, 0x81, 0x19, 0xc3, 0x2a, 0xbf, 0xe6, 0x96, 0x6f, 0xf1, 0xbc, 0xe7,
- 0xf8, 0x90, 0x29, 0x3a, 0x98, 0xf4, 0x63, 0xe5, 0x34, 0x25, 0xa6, 0xbd, 0xc5, 0xc2, 0x66, 0x37,
- 0x3e, 0xbf, 0x6e, 0x6e, 0xf9, 0xd2, 0x69, 0x98, 0x30, 0x7d, 0x7b, 0xe8, 0x5d, 0xe6, 0x43, 0x12,
- 0xe7, 0xb2, 0x39, 0xf9, 0xc7, 0x65, 0x7d, 0x23, 0x2f, 0xbf, 0x91, 0x38, 0xbf, 0x70, 0xa8, 0x89,
- 0xf3, 0x07, 0x8e, 0x26, 0x71, 0xfe, 0xe4, 0x61, 0x24, 0xce, 0x3f, 0xbe, 0xaf, 0xc4, 0xf9, 0xda,
- 0xc3, 0x05, 0x83, 0x77, 0x79, 0xb8, 0x60, 0x16, 0x8e, 0xc9, 0xbb, 0x3f, 0x44, 0xe4, 0x26, 0xe7,
- 0x6e, 0xff, 0x33, 0xa2, 0xc9, 0xb1, 0x79, 0xb3, 0x18, 0x67, 0xeb, 0xd3, 0x4d, 0x56, 0x0c, 0x58,
- 0xcb, 0x21, 0x5b, 0xaf, 0x1a, 0x99, 0x4b, 0x8b, 0xa9, 0xcf, 0x82, 0x45, 0xc9, 0x68, 0xe7, 0x22,
- 0x83, 0xdd, 0x91, 0xff, 0x60, 0xde, 0x03, 0xf4, 0x12, 0x94, 0xc3, 0xcd, 0xcd, 0x66, 0xe8, 0xd5,
- 0xd2, 0xec, 0xfe, 0x32, 0x2e, 0x81, 0xdf, 0xdd, 0x54, 0xc9, 0x60, 0x57, 0x7b, 0xd4, 0xc3, 0x3d,
- 0x31, 0xa0, 0xb7, 0xa8, 0x60, 0x92, 0x84, 0x11, 0xa9, 0xa5, 0xb6, 0x9a, 0x51, 0x36, 0x66, 0x62,
- 0x7d, 0xcc, 0x15, 0x93, 0x0e, 0x1f, 0xbd, 0xfa, 0x28, 0x99, 0x52, 0x9c, 0xed, 0x16, 0x8a, 0xe0,
- 0x74, 0x3b, 0xcf, 0x54, 0x14, 0x8b, 0x1b, 0x4b, 0x7b, 0x19, 0xac, 0xd4, 0x4b, 0xcf, 0xb9, 0xc6,
- 0xa6, 0x18, 0xf7, 0xc0, 0xac, 0x67, 0xe0, 0x1f, 0x39, 0x9a, 0x0c, 0xfc, 0x1f, 0x03, 0x50, 0x97,
- 0xd4, 0xa5, 0xf1, 0x61, 0xd9, 0xca, 0x55, 0x1a, 0x8e, 0x53, 0x7b, 0xf4, 0x54, 0x91, 0xc1, 0x1a,
- 0x49, 0xf4, 0xbf, 0x73, 0x9f, 0xa8, 0xe0, 0x16, 0x96, 0xba, 0xf5, 0x35, 0xf1, 0x33, 0xf7, 0x4c,
- 0xc5, 0x3f, 0x70, 0x60, 0x8a, 0xaf, 0xbc, 0xac, 0x70, 0x4f, 0x45, 0x0b, 0x71, 0xb7, 0xc7, 0x76,
- 0xe8, 0x0a, 0x8b, 0xe2, 0xab, 0x18, 0x54, 0x99, 0xa3, 0x7b, 0x8f, 0x9e, 0xa0, 0xaf, 0xe4, 0xa8,
- 0x14, 0xc7, 0x6c, 0xd9, 0x2c, 0xf3, 0x1f, 0x1a, 0x38, 0x71, 0xbb, 0x1f, 0x2d, 0xe2, 0x1f, 0xf5,
- 0x34, 0xa9, 0x22, 0xd6, 0xbd, 0x5f, 0x3e, 0x24, 0x93, 0xaa, 0xfe, 0x1a, 0xc2, 0xbe, 0x0c, 0xab,
- 0x5f, 0x70, 0x60, 0xd2, 0xcb, 0x84, 0x9a, 0x30, 0x3b, 0x90, 0x15, 0x9b, 0xd4, 0x6c, 0x94, 0xc6,
- 0xaf, 0x30, 0x21, 0x2f, 0x1b, 0xd5, 0x82, 0xbb, 0x88, 0xa3, 0x1f, 0x3a, 0x70, 0x36, 0xf1, 0xe2,
- 0x2d, 0x9e, 0x6b, 0x38, 0x4e, 0xef, 0xea, 0x8a, 0xce, 0x9d, 0x64, 0xbb, 0xf1, 0x15, 0xeb, 0xbb,
- 0x71, 0xbd, 0x37, 0x4d, 0xbe, 0x2f, 0x1f, 0x15, 0xfb, 0xf2, 0xec, 0x1e, 0x35, 0xf1, 0x5e, 0x5d,
- 0x9f, 0xfa, 0xb4, 0xc3, 0xdf, 0xa4, 0xea, 0x29, 0xf2, 0x6d, 0x98, 0x22, 0xdf, 0x15, 0x9b, 0xaf,
- 0xe2, 0xe8, 0xb2, 0xe7, 0xaf, 0x39, 0x70, 0x32, 0xef, 0x44, 0xca, 0xe9, 0xd2, 0x47, 0xcc, 0x2e,
- 0x59, 0xd4, 0xb2, 0xf4, 0x0e, 0x59, 0x79, 0x94, 0x63, 0xea, 0x2a, 0x3c, 0x72, 0xb7, 0xaf, 0x78,
- 0x37, 0x7c, 0x23, 0xba, 0x58, 0xfc, 0xa7, 0xa3, 0x9a, 0x17, 0x32, 0x21, 0x6d, 0xeb, 0x31, 0xdc,
- 0x01, 0x0c, 0xf9, 0x41, 0xd3, 0x0f, 0x88, 0xb8, 0xaf, 0x69, 0x53, 0x87, 0x15, 0x8f, 0xea, 0x50,
- 0xec, 0x58, 0x50, 0xb9, 0xcf, 0x4e, 0xc9, 0xec, 0x33, 0x65, 0x83, 0x47, 0xff, 0x4c, 0xd9, 0x4d,
- 0x18, 0xbd, 0xe9, 0x27, 0x0d, 0x16, 0x4c, 0x21, 0x7c, 0x7d, 0x16, 0xee, 0x39, 0x52, 0x74, 0xe9,
- 0xd8, 0x6f, 0x48, 0x02, 0x38, 0xa5, 0x85, 0xce, 0x73, 0xc2, 0x2c, 0x72, 0x3b, 0x1b, 0x52, 0x7b,
- 0x43, 0x16, 0xe0, 0xb4, 0x0e, 0x9d, 0xac, 0x31, 0xfa, 0x4b, 0x26, 0x44, 0x12, 0x79, 0x7b, 0x6d,
- 0xe4, 0x63, 0x14, 0x18, 0xf9, 0x6d, 0xe2, 0x1b, 0x1a, 0x0d, 0x6c, 0x50, 0x54, 0xa9, 0x93, 0x47,
- 0x7a, 0xa6, 0x4e, 0x7e, 0x9d, 0x09, 0x6c, 0x89, 0x1f, 0x74, 0xc8, 0x6a, 0x20, 0xe2, 0xbd, 0xaf,
- 0xd8, 0xb9, 0xfb, 0xcc, 0x71, 0x72, 0x15, 0x3c, 0xfd, 0x8d, 0x35, 0x7a, 0x9a, 0xcb, 0xa5, 0xb4,
- 0xa7, 0xcb, 0x25, 0x35, 0xb9, 0x8c, 0x59, 0x37, 0xb9, 0x24, 0xa4, 0x6d, 0xc5, 0xe4, 0xf2, 0x33,
- 0x65, 0x0e, 0xf8, 0x73, 0x07, 0x90, 0x92, 0xbb, 0x14, 0x43, 0x3d, 0x82, 0xa0, 0xca, 0x8f, 0x3b,
- 0x00, 0x81, 0x7a, 0xcc, 0xd2, 0xee, 0x29, 0xc8, 0x71, 0xa6, 0x1d, 0x48, 0x61, 0x58, 0xa3, 0xe9,
- 0xfe, 0x37, 0x27, 0x8d, 0x5d, 0x4e, 0xc7, 0x7e, 0x04, 0x41, 0x64, 0x3b, 0x66, 0x10, 0xd9, 0xba,
- 0x45, 0xd3, 0xbd, 0x1a, 0x46, 0x8f, 0x70, 0xb2, 0x9f, 0x14, 0xe0, 0x98, 0x5e, 0xb9, 0x42, 0x8e,
- 0xe2, 0x63, 0xdf, 0x34, 0x22, 0x68, 0xaf, 0xd9, 0x1d, 0x6f, 0x45, 0x78, 0x80, 0xf2, 0xa2, 0xb5,
- 0x3f, 0x96, 0x89, 0xd6, 0xbe, 0x61, 0x9f, 0xf4, 0xde, 0x21, 0xdb, 0xff, 0xd9, 0x81, 0x13, 0x99,
- 0x16, 0x47, 0xb0, 0xc0, 0xb6, 0xcd, 0x05, 0xf6, 0xbc, 0xf5, 0x51, 0xf7, 0x58, 0x5d, 0xdf, 0x2a,
- 0x74, 0x8d, 0x96, 0x29, 0x71, 0x9f, 0x72, 0xa0, 0x48, 0xa5, 0x65, 0x19, 0xcf, 0xf5, 0x91, 0x43,
- 0x59, 0x01, 0x4c, 0xae, 0x17, 0xdc, 0x59, 0xf5, 0x8f, 0xc1, 0x30, 0xa7, 0x3e, 0xf5, 0x49, 0x07,
- 0x20, 0xad, 0x74, 0xbf, 0x44, 0x60, 0xf7, 0x3b, 0x05, 0x38, 0x95, 0xbb, 0x8c, 0xd0, 0x67, 0x94,
- 0x45, 0xce, 0xb1, 0x1d, 0xad, 0x68, 0x10, 0xd2, 0x0d, 0x73, 0xe3, 0x86, 0x61, 0x4e, 0xd8, 0xe3,
- 0xee, 0x97, 0x02, 0x23, 0xd8, 0xb4, 0x36, 0x59, 0x3f, 0x76, 0xd2, 0x00, 0x58, 0x95, 0xd7, 0xe8,
- 0x2f, 0xe0, 0x25, 0x1e, 0xf7, 0x27, 0xda, 0x0d, 0x07, 0x39, 0xd0, 0x23, 0xe0, 0x15, 0x37, 0x4d,
- 0x5e, 0x81, 0xed, 0xfb, 0x91, 0x7b, 0x30, 0x8b, 0x57, 0x20, 0xcf, 0xb1, 0xdc, 0x5f, 0x52, 0x44,
- 0xe3, 0x3a, 0x6c, 0xa1, 0xef, 0xeb, 0xb0, 0xe3, 0x50, 0x7a, 0xd1, 0x57, 0xd9, 0x34, 0xe7, 0x66,
- 0xbe, 0xfb, 0xa3, 0x73, 0x0f, 0x7c, 0xef, 0x47, 0xe7, 0x1e, 0xf8, 0xe1, 0x8f, 0xce, 0x3d, 0xf0,
- 0xf1, 0xdb, 0xe7, 0x9c, 0xef, 0xde, 0x3e, 0xe7, 0x7c, 0xef, 0xf6, 0x39, 0xe7, 0x87, 0xb7, 0xcf,
- 0x39, 0xff, 0xee, 0xf6, 0x39, 0xe7, 0x6f, 0xfd, 0xfb, 0x73, 0x0f, 0xbc, 0x38, 0x22, 0x07, 0xf6,
- 0xff, 0x02, 0x00, 0x00, 0xff, 0xff, 0x9b, 0x57, 0x41, 0xee, 0x0e, 0xd7, 0x00, 0x00,
+ 0x75, 0x18, 0xcc, 0x3b, 0xc0, 0xe0, 0x71, 0xf0, 0x58, 0x6c, 0xef, 0x6b, 0x88, 0x25, 0x17, 0xf4,
+ 0xa5, 0xc8, 0x8f, 0xb4, 0x28, 0xac, 0xb9, 0x94, 0xbe, 0x30, 0x52, 0x22, 0x09, 0x8f, 0x05, 0x16,
+ 0x04, 0xb0, 0x00, 0x7b, 0xb0, 0xbb, 0x26, 0x45, 0x4b, 0xba, 0x98, 0x69, 0xcc, 0x5c, 0x62, 0xe6,
+ 0xde, 0xe1, 0xbd, 0x77, 0xb0, 0x0b, 0x3e, 0x24, 0x85, 0x7a, 0xc7, 0xb2, 0x15, 0xcb, 0x92, 0x2c,
+ 0x29, 0x49, 0x95, 0xa2, 0x48, 0x09, 0x4b, 0x76, 0x25, 0x65, 0xff, 0x4a, 0xd9, 0xff, 0x52, 0x29,
+ 0x97, 0x52, 0x4e, 0x25, 0x72, 0x45, 0x29, 0xeb, 0x87, 0x0d, 0x46, 0x9b, 0x44, 0x95, 0x4a, 0xa2,
+ 0xaa, 0x58, 0x15, 0x27, 0xf1, 0xe6, 0x51, 0xa9, 0x7e, 0xde, 0xee, 0x3b, 0x77, 0xb0, 0x03, 0x6c,
+ 0x03, 0xab, 0xb2, 0x7f, 0x01, 0x73, 0xfa, 0xf4, 0x39, 0xdd, 0x7d, 0xbb, 0x4f, 0x9f, 0x3e, 0xe7,
+ 0xf4, 0x69, 0x58, 0xaf, 0xf9, 0x49, 0xbd, 0xbd, 0x39, 0x5d, 0x09, 0x9b, 0x17, 0xbd, 0xa8, 0x16,
+ 0xb6, 0xa2, 0xf0, 0x65, 0xf6, 0xcf, 0xbb, 0x6e, 0x86, 0xd1, 0xf6, 0x56, 0x23, 0xbc, 0x19, 0x5f,
+ 0xdc, 0x79, 0xe6, 0x62, 0x6b, 0xbb, 0x76, 0xd1, 0x6b, 0xf9, 0xf1, 0x45, 0x09, 0xbd, 0xb8, 0xf3,
+ 0xb4, 0xd7, 0x68, 0xd5, 0xbd, 0xa7, 0x2f, 0xd6, 0x48, 0x40, 0x22, 0x2f, 0x21, 0xd5, 0xe9, 0x56,
+ 0x14, 0x26, 0x21, 0xfa, 0x60, 0x4a, 0x71, 0x5a, 0x52, 0x64, 0xff, 0x7c, 0x44, 0x51, 0x9c, 0xde,
+ 0x79, 0x66, 0xba, 0xb5, 0x5d, 0x9b, 0xa6, 0x14, 0xa7, 0x25, 0x74, 0x5a, 0x52, 0x9c, 0x7c, 0x97,
+ 0xd6, 0xa6, 0x5a, 0x58, 0x0b, 0x2f, 0x32, 0xc2, 0x9b, 0xed, 0x2d, 0xf6, 0x8b, 0xfd, 0x60, 0xff,
+ 0x71, 0x86, 0x93, 0xee, 0xf6, 0xb3, 0xf1, 0xb4, 0x1f, 0xd2, 0xf6, 0x5d, 0xac, 0x84, 0x11, 0xb9,
+ 0xb8, 0xd3, 0xd1, 0xa8, 0xc9, 0x77, 0x68, 0x38, 0xad, 0xb0, 0xe1, 0x57, 0x76, 0xf3, 0xb0, 0xde,
+ 0x9d, 0x62, 0x35, 0xbd, 0x4a, 0xdd, 0x0f, 0x48, 0xb4, 0x9b, 0x76, 0xbd, 0x49, 0x12, 0x2f, 0xaf,
+ 0xd6, 0xc5, 0x6e, 0xb5, 0xa2, 0x76, 0x90, 0xf8, 0x4d, 0xd2, 0x51, 0xe1, 0xff, 0xbf, 0x5b, 0x85,
+ 0xb8, 0x52, 0x27, 0x4d, 0xaf, 0xa3, 0xde, 0x33, 0xdd, 0xea, 0xb5, 0x13, 0xbf, 0x71, 0xd1, 0x0f,
+ 0x92, 0x38, 0x89, 0xb2, 0x95, 0xdc, 0xcb, 0x30, 0x30, 0xd3, 0x0c, 0xdb, 0x41, 0x82, 0xde, 0x07,
+ 0xc5, 0x1d, 0xaf, 0xd1, 0x26, 0x25, 0xe7, 0x11, 0xe7, 0x89, 0xe1, 0xd9, 0xc7, 0xbe, 0xb7, 0x37,
+ 0xf5, 0xc0, 0xed, 0xbd, 0xa9, 0xe2, 0x75, 0x0a, 0xbc, 0xb3, 0x37, 0x75, 0x9a, 0x04, 0x95, 0xb0,
+ 0xea, 0x07, 0xb5, 0x8b, 0x2f, 0xc7, 0x61, 0x30, 0x7d, 0xb5, 0xdd, 0xdc, 0x24, 0x11, 0xe6, 0x75,
+ 0xdc, 0x7f, 0x5d, 0x80, 0x13, 0x33, 0x51, 0xa5, 0xee, 0xef, 0x90, 0x72, 0x42, 0xe9, 0xd7, 0x76,
+ 0x51, 0x1d, 0xfa, 0x12, 0x2f, 0x62, 0xe4, 0x46, 0x2e, 0xad, 0x4e, 0xdf, 0xeb, 0x77, 0x9f, 0xde,
+ 0xf0, 0x22, 0x49, 0x7b, 0x76, 0xf0, 0xf6, 0xde, 0x54, 0xdf, 0x86, 0x17, 0x61, 0xca, 0x02, 0x35,
+ 0xa0, 0x3f, 0x08, 0x03, 0x52, 0x2a, 0x30, 0x56, 0x57, 0xef, 0x9d, 0xd5, 0xd5, 0x30, 0x50, 0xfd,
+ 0x98, 0x1d, 0xba, 0xbd, 0x37, 0xd5, 0x4f, 0x21, 0x98, 0x71, 0xa1, 0xfd, 0x7a, 0xd5, 0x6f, 0x95,
+ 0xfa, 0x6c, 0xf5, 0xeb, 0x45, 0xbf, 0x65, 0xf6, 0xeb, 0x45, 0xbf, 0x85, 0x29, 0x0b, 0xf7, 0xf3,
+ 0x05, 0x18, 0x9e, 0x89, 0x6a, 0xed, 0x26, 0x09, 0x92, 0x18, 0x7d, 0x1c, 0xa0, 0xe5, 0x45, 0x5e,
+ 0x93, 0x24, 0x24, 0x8a, 0x4b, 0xce, 0x23, 0x7d, 0x4f, 0x8c, 0x5c, 0x5a, 0xbe, 0x77, 0xf6, 0xeb,
+ 0x92, 0xe6, 0x2c, 0x12, 0x9f, 0x1c, 0x14, 0x28, 0xc6, 0x1a, 0x4b, 0xf4, 0x1a, 0x0c, 0x7b, 0x51,
+ 0xe2, 0x6f, 0x79, 0x95, 0x24, 0x2e, 0x15, 0x18, 0xff, 0xe7, 0xee, 0x9d, 0xff, 0x8c, 0x20, 0x39,
+ 0x7b, 0x52, 0xb0, 0x1f, 0x96, 0x90, 0x18, 0xa7, 0xfc, 0xdc, 0xdf, 0xed, 0x87, 0x91, 0x99, 0x28,
+ 0x59, 0x9c, 0x2b, 0x27, 0x5e, 0xd2, 0x8e, 0xd1, 0x1f, 0x38, 0x70, 0x2a, 0xe6, 0xc3, 0xe6, 0x93,
+ 0x78, 0x3d, 0x0a, 0x2b, 0x24, 0x8e, 0x49, 0x55, 0x8c, 0xcb, 0x96, 0x95, 0x76, 0x49, 0x66, 0xd3,
+ 0xe5, 0x4e, 0x46, 0x97, 0x83, 0x24, 0xda, 0x9d, 0x7d, 0x5a, 0xb4, 0xf9, 0x54, 0x0e, 0xc6, 0x9b,
+ 0x6f, 0x4f, 0x21, 0xd9, 0x15, 0x4a, 0x89, 0x7f, 0x62, 0x9c, 0xd7, 0x6a, 0xf4, 0x75, 0x07, 0x46,
+ 0x5b, 0x61, 0x35, 0xc6, 0xa4, 0x12, 0xb6, 0x5b, 0xa4, 0x2a, 0x86, 0xf7, 0x23, 0x76, 0xbb, 0xb1,
+ 0xae, 0x71, 0xe0, 0xed, 0x3f, 0x2d, 0xda, 0x3f, 0xaa, 0x17, 0x61, 0xa3, 0x29, 0xe8, 0x59, 0x18,
+ 0x0d, 0xc2, 0xa4, 0xdc, 0x22, 0x15, 0x7f, 0xcb, 0x27, 0x55, 0x36, 0xf1, 0x87, 0xd2, 0x9a, 0x57,
+ 0xb5, 0x32, 0x6c, 0x60, 0x4e, 0x2e, 0x40, 0xa9, 0xdb, 0xc8, 0xa1, 0x09, 0xe8, 0xdb, 0x26, 0xbb,
+ 0x5c, 0xd8, 0x60, 0xfa, 0x2f, 0x3a, 0x2d, 0x05, 0x10, 0x5d, 0xc6, 0x43, 0x42, 0xb2, 0xbc, 0xb7,
+ 0xf0, 0xac, 0x33, 0xf9, 0x01, 0x38, 0xd9, 0xd1, 0xf4, 0x83, 0x10, 0x70, 0xbf, 0x3f, 0x00, 0x43,
+ 0xf2, 0x53, 0xa0, 0x47, 0xa0, 0x3f, 0xf0, 0x9a, 0x52, 0xce, 0x8d, 0x8a, 0x7e, 0xf4, 0x5f, 0xf5,
+ 0x9a, 0x74, 0x85, 0x7b, 0x4d, 0x42, 0x31, 0x5a, 0x5e, 0x52, 0x67, 0x74, 0x34, 0x8c, 0x75, 0x2f,
+ 0xa9, 0x63, 0x56, 0x82, 0x1e, 0x82, 0xfe, 0x66, 0x58, 0x25, 0x6c, 0x2c, 0x8a, 0x5c, 0x42, 0xac,
+ 0x86, 0x55, 0x82, 0x19, 0x94, 0xd6, 0xdf, 0x8a, 0xc2, 0x66, 0xa9, 0xdf, 0xac, 0xbf, 0x10, 0x85,
+ 0x4d, 0xcc, 0x4a, 0xd0, 0xd7, 0x1c, 0x98, 0x90, 0x73, 0x7b, 0x25, 0xac, 0x78, 0x89, 0x1f, 0x06,
+ 0xa5, 0x22, 0x93, 0x28, 0xd8, 0xde, 0x92, 0x92, 0x94, 0x67, 0x4b, 0xa2, 0x09, 0x13, 0xd9, 0x12,
+ 0xdc, 0xd1, 0x0a, 0x74, 0x09, 0xa0, 0xd6, 0x08, 0x37, 0xbd, 0x06, 0x1d, 0x90, 0xd2, 0x00, 0xeb,
+ 0x82, 0x92, 0x0c, 0x8b, 0xaa, 0x04, 0x6b, 0x58, 0xe8, 0x16, 0x0c, 0x7a, 0x5c, 0xfa, 0x97, 0x06,
+ 0x59, 0x27, 0x9e, 0xb7, 0xd1, 0x09, 0x63, 0x3b, 0x99, 0x1d, 0xb9, 0xbd, 0x37, 0x35, 0x28, 0x80,
+ 0x58, 0xb2, 0x43, 0x4f, 0xc1, 0x50, 0xd8, 0xa2, 0xed, 0xf6, 0x1a, 0xa5, 0x21, 0x36, 0x31, 0x27,
+ 0x44, 0x5b, 0x87, 0xd6, 0x04, 0x1c, 0x2b, 0x0c, 0xf4, 0x24, 0x0c, 0xc6, 0xed, 0x4d, 0xfa, 0x1d,
+ 0x4b, 0xc3, 0xac, 0x63, 0x27, 0x04, 0xf2, 0x60, 0x99, 0x83, 0xb1, 0x2c, 0x47, 0xef, 0x81, 0x91,
+ 0x88, 0x54, 0xda, 0x51, 0x4c, 0xe8, 0x87, 0x2d, 0x01, 0xa3, 0x7d, 0x4a, 0xa0, 0x8f, 0xe0, 0xb4,
+ 0x08, 0xeb, 0x78, 0xe8, 0xfd, 0x30, 0x4e, 0x3f, 0xf0, 0xe5, 0x5b, 0xad, 0x88, 0xc4, 0x31, 0xfd,
+ 0xaa, 0x23, 0x8c, 0xd1, 0x59, 0x51, 0x73, 0x7c, 0xc1, 0x28, 0xc5, 0x19, 0x6c, 0xf4, 0x3a, 0x80,
+ 0xa7, 0x64, 0x46, 0x69, 0x94, 0x0d, 0xe6, 0x8a, 0xbd, 0x19, 0xb1, 0x38, 0x37, 0x3b, 0x4e, 0xbf,
+ 0x63, 0xfa, 0x1b, 0x6b, 0xfc, 0xe8, 0xf8, 0x54, 0x49, 0x83, 0x24, 0xa4, 0x5a, 0x1a, 0x63, 0x1d,
+ 0x56, 0xe3, 0x33, 0xcf, 0xc1, 0x58, 0x96, 0xbb, 0x7f, 0xbb, 0x00, 0x1a, 0x15, 0x34, 0x0b, 0x43,
+ 0x42, 0xae, 0x89, 0x25, 0x39, 0xfb, 0xb8, 0xfc, 0x0e, 0xf2, 0x0b, 0xde, 0xd9, 0xcb, 0x95, 0x87,
+ 0xaa, 0x1e, 0x7a, 0x03, 0x46, 0x5a, 0x61, 0x75, 0x95, 0x24, 0x5e, 0xd5, 0x4b, 0x3c, 0xb1, 0x9b,
+ 0x5b, 0xd8, 0x61, 0x24, 0xc5, 0xd9, 0x13, 0xf4, 0xd3, 0xad, 0xa7, 0x2c, 0xb0, 0xce, 0x0f, 0x3d,
+ 0x07, 0x28, 0x26, 0xd1, 0x8e, 0x5f, 0x21, 0x33, 0x95, 0x0a, 0x55, 0x89, 0xd8, 0x02, 0xe8, 0x63,
+ 0x9d, 0x99, 0x14, 0x9d, 0x41, 0xe5, 0x0e, 0x0c, 0x9c, 0x53, 0xcb, 0xfd, 0x41, 0x01, 0xc6, 0xb5,
+ 0xbe, 0xb6, 0x48, 0x05, 0xbd, 0xe5, 0xc0, 0x09, 0xb5, 0x9d, 0xcd, 0xee, 0x5e, 0xa5, 0xb3, 0x8a,
+ 0x6f, 0x56, 0xc4, 0xe6, 0xf7, 0xa5, 0xbc, 0xd4, 0x4f, 0xc1, 0x87, 0xcb, 0xfa, 0x73, 0xa2, 0x0f,
+ 0x27, 0x32, 0xa5, 0x38, 0xdb, 0xac, 0xc9, 0xaf, 0x3a, 0x70, 0x3a, 0x8f, 0x44, 0x8e, 0xcc, 0xad,
+ 0xeb, 0x32, 0xd7, 0xaa, 0xf0, 0xa2, 0x5c, 0x69, 0x67, 0x74, 0x39, 0xfe, 0x7f, 0x0b, 0x30, 0xa1,
+ 0x4f, 0x21, 0xa6, 0x09, 0xfc, 0x53, 0x07, 0xce, 0xc8, 0x1e, 0x60, 0x12, 0xb7, 0x1b, 0x99, 0xe1,
+ 0x6d, 0x5a, 0x1d, 0x5e, 0xbe, 0x93, 0xce, 0xe4, 0xf1, 0xe3, 0xc3, 0xfc, 0xb0, 0x18, 0xe6, 0x33,
+ 0xb9, 0x38, 0x38, 0xbf, 0xa9, 0x93, 0xdf, 0x76, 0x60, 0xb2, 0x3b, 0xd1, 0x9c, 0x81, 0x6f, 0x99,
+ 0x03, 0xff, 0xa2, 0xbd, 0x4e, 0x72, 0xf6, 0x6c, 0xf8, 0x59, 0x67, 0xf5, 0x0f, 0xf0, 0x5b, 0x43,
+ 0xd0, 0xb1, 0x87, 0xa0, 0xa7, 0x61, 0x44, 0x88, 0xe3, 0x95, 0xb0, 0x16, 0xb3, 0x46, 0x0e, 0xf1,
+ 0xb5, 0x36, 0x93, 0x82, 0xb1, 0x8e, 0x83, 0xaa, 0x50, 0x88, 0x9f, 0x11, 0x4d, 0xb7, 0x20, 0xde,
+ 0xca, 0xcf, 0x28, 0x2d, 0x72, 0xe0, 0xf6, 0xde, 0x54, 0xa1, 0xfc, 0x0c, 0x2e, 0xc4, 0xcf, 0x50,
+ 0x4d, 0xbd, 0xe6, 0x27, 0xf6, 0x34, 0xf5, 0x45, 0x3f, 0x51, 0x7c, 0x98, 0xa6, 0xbe, 0xe8, 0x27,
+ 0x98, 0xb2, 0xa0, 0x27, 0x90, 0x7a, 0x92, 0xb4, 0xd8, 0x8e, 0x6f, 0xe5, 0x04, 0x72, 0x65, 0x63,
+ 0x63, 0x5d, 0xf1, 0x62, 0xfa, 0x05, 0x85, 0x60, 0xc6, 0x05, 0x7d, 0xce, 0xa1, 0x23, 0xce, 0x0b,
+ 0xc3, 0x68, 0x57, 0x28, 0x0e, 0xd7, 0xec, 0x4d, 0x81, 0x30, 0xda, 0x55, 0xcc, 0xc5, 0x87, 0x54,
+ 0x05, 0x58, 0x67, 0xcd, 0x3a, 0x5e, 0xdd, 0x8a, 0x99, 0x9e, 0x60, 0xa7, 0xe3, 0xf3, 0x0b, 0xe5,
+ 0x4c, 0xc7, 0xe7, 0x17, 0xca, 0x98, 0x71, 0xa1, 0x1f, 0x34, 0xf2, 0x6e, 0x0a, 0x1d, 0xc3, 0xc2,
+ 0x07, 0xc5, 0xde, 0x4d, 0xf3, 0x83, 0x62, 0xef, 0x26, 0xa6, 0x2c, 0x28, 0xa7, 0x30, 0x8e, 0x99,
+ 0x4a, 0x61, 0x85, 0xd3, 0x5a, 0xb9, 0x6c, 0x72, 0x5a, 0x2b, 0x97, 0x31, 0x65, 0xc1, 0x26, 0x69,
+ 0x25, 0x66, 0xfa, 0x88, 0x9d, 0x49, 0x3a, 0x97, 0xe1, 0xb4, 0x38, 0x57, 0xc6, 0x94, 0x05, 0x15,
+ 0x19, 0xde, 0xab, 0xed, 0x88, 0x2b, 0x33, 0x23, 0x97, 0xd6, 0x2c, 0xcc, 0x17, 0x4a, 0x4e, 0x71,
+ 0x1b, 0xbe, 0xbd, 0x37, 0x55, 0x64, 0x20, 0xcc, 0x19, 0xb9, 0xbf, 0xdf, 0x97, 0x8a, 0x0b, 0x29,
+ 0xcf, 0xd1, 0xaf, 0xb1, 0x8d, 0x50, 0xc8, 0x02, 0xa1, 0xfa, 0x3a, 0x47, 0xa6, 0xfa, 0x9e, 0xe2,
+ 0x3b, 0x9e, 0xc1, 0x0e, 0x67, 0xf9, 0xa3, 0x2f, 0x39, 0x9d, 0x67, 0x5b, 0xcf, 0xfe, 0x5e, 0x96,
+ 0x6e, 0xcc, 0x7c, 0xaf, 0xd8, 0xf7, 0xc8, 0x3b, 0xf9, 0x39, 0x27, 0x55, 0x22, 0xe2, 0x6e, 0xfb,
+ 0xc0, 0x47, 0xcd, 0x7d, 0xc0, 0xe2, 0x81, 0x5c, 0x97, 0xfb, 0x9f, 0x77, 0x60, 0x4c, 0xc2, 0xa9,
+ 0x7a, 0x1c, 0xa3, 0x5b, 0x30, 0x24, 0x5b, 0x2a, 0xbe, 0x9e, 0x4d, 0x5b, 0x80, 0x52, 0xe2, 0x55,
+ 0x63, 0x14, 0x37, 0xf7, 0xad, 0x01, 0x40, 0xe9, 0x5e, 0xd5, 0x0a, 0x63, 0x9f, 0x49, 0xa2, 0x43,
+ 0xec, 0x42, 0x81, 0xb6, 0x0b, 0x5d, 0xb7, 0xb9, 0x0b, 0xa5, 0xcd, 0x32, 0xf6, 0xa3, 0x2f, 0x65,
+ 0xe4, 0x36, 0xdf, 0x98, 0x3e, 0x72, 0x24, 0x72, 0x5b, 0x6b, 0xc2, 0xfe, 0x12, 0x7c, 0x47, 0x48,
+ 0x70, 0xbe, 0x75, 0xfd, 0xa2, 0x5d, 0x09, 0xae, 0xb5, 0x22, 0x2b, 0xcb, 0x23, 0x2e, 0x61, 0xf9,
+ 0xde, 0x75, 0xc3, 0xaa, 0x84, 0xd5, 0xb8, 0x9a, 0xb2, 0x36, 0xe2, 0xb2, 0x76, 0xc0, 0x16, 0x4f,
+ 0x4d, 0xd6, 0x66, 0x79, 0x2a, 0xa9, 0xfb, 0xaa, 0x94, 0xba, 0x7c, 0xd7, 0x7a, 0xc1, 0xb2, 0xd4,
+ 0xd5, 0xf8, 0x76, 0xca, 0xdf, 0x57, 0xe0, 0x4c, 0x27, 0x1e, 0x26, 0x5b, 0xe8, 0x22, 0x0c, 0x57,
+ 0xc2, 0x60, 0xcb, 0xaf, 0xad, 0x7a, 0x2d, 0x71, 0x5e, 0x53, 0xb2, 0x68, 0x4e, 0x16, 0xe0, 0x14,
+ 0x07, 0x3d, 0xcc, 0x05, 0x0f, 0xb7, 0x88, 0x8c, 0x08, 0xd4, 0xbe, 0x65, 0xb2, 0xcb, 0xa4, 0xd0,
+ 0x7b, 0x87, 0xbe, 0xf6, 0xcd, 0xa9, 0x07, 0x3e, 0xf1, 0xc7, 0x8f, 0x3c, 0xe0, 0xfe, 0x61, 0x1f,
+ 0x9c, 0xcf, 0xe5, 0x29, 0xb4, 0xf5, 0xdf, 0x32, 0xb4, 0x75, 0xad, 0x5c, 0x48, 0x91, 0x1b, 0x36,
+ 0x15, 0x59, 0x8d, 0x7c, 0x9e, 0x5e, 0xae, 0x15, 0xe3, 0xfc, 0x46, 0xd1, 0x81, 0x0a, 0xbc, 0x26,
+ 0x89, 0x5b, 0x5e, 0x85, 0x88, 0xde, 0xab, 0x81, 0xba, 0x2a, 0x0b, 0x70, 0x8a, 0xc3, 0x8f, 0xd0,
+ 0x5b, 0x5e, 0xbb, 0x91, 0x08, 0x43, 0x99, 0x76, 0x84, 0x66, 0x60, 0x2c, 0xcb, 0xd1, 0xdf, 0x71,
+ 0x00, 0x75, 0x72, 0x15, 0x0b, 0x71, 0xe3, 0x28, 0xc6, 0x61, 0xf6, 0xec, 0x6d, 0xed, 0x10, 0xae,
+ 0xf5, 0x34, 0xa7, 0x1d, 0xda, 0x37, 0xfd, 0x58, 0xba, 0x0f, 0xf1, 0xc3, 0x41, 0x0f, 0x36, 0x34,
+ 0x66, 0x6a, 0xa9, 0x54, 0x48, 0x1c, 0x73, 0x73, 0x9c, 0x6e, 0x6a, 0x61, 0x60, 0x2c, 0xcb, 0xd1,
+ 0x14, 0x14, 0x49, 0x14, 0x85, 0x91, 0x38, 0x6b, 0xb3, 0x69, 0x7c, 0x99, 0x02, 0x30, 0x87, 0xbb,
+ 0x3f, 0x2e, 0x40, 0xa9, 0xdb, 0xe9, 0x04, 0xfd, 0x8e, 0x76, 0xae, 0x16, 0x27, 0x27, 0x71, 0xf0,
+ 0x0b, 0x8f, 0xee, 0x4c, 0x94, 0x3d, 0x00, 0x76, 0x39, 0x61, 0x8b, 0x52, 0x9c, 0x6d, 0xe0, 0xe4,
+ 0x97, 0xb5, 0x13, 0xb6, 0x4e, 0x22, 0x67, 0x83, 0xdf, 0x32, 0x37, 0xf8, 0x75, 0xdb, 0x9d, 0xd2,
+ 0xb7, 0xf9, 0x3f, 0x29, 0xc2, 0x29, 0x59, 0x5a, 0x26, 0x74, 0xab, 0x7c, 0xbe, 0x4d, 0xa2, 0x5d,
+ 0xf4, 0x47, 0x0e, 0x9c, 0xf6, 0xb2, 0xa6, 0x1b, 0x9f, 0x1c, 0xc1, 0x40, 0x6b, 0x5c, 0xa7, 0x67,
+ 0x72, 0x38, 0xf2, 0x81, 0xbe, 0x24, 0x06, 0xfa, 0x74, 0x1e, 0x4a, 0x17, 0xbb, 0x7b, 0x6e, 0x07,
+ 0xd0, 0xb3, 0x30, 0x2a, 0xe1, 0xcc, 0xdc, 0xc3, 0x97, 0xb8, 0x32, 0x6e, 0xcf, 0x68, 0x65, 0xd8,
+ 0xc0, 0xa4, 0x35, 0x13, 0xd2, 0x6c, 0x35, 0xbc, 0x84, 0x68, 0x86, 0x22, 0x55, 0x73, 0x43, 0x2b,
+ 0xc3, 0x06, 0x26, 0x7a, 0x1c, 0x06, 0x82, 0xb0, 0x4a, 0x96, 0xaa, 0xc2, 0x40, 0x3c, 0x2e, 0xea,
+ 0x0c, 0x5c, 0x65, 0x50, 0x2c, 0x4a, 0xd1, 0x63, 0xa9, 0x35, 0xae, 0xc8, 0x96, 0xd0, 0x48, 0x9e,
+ 0x25, 0x0e, 0xfd, 0x3d, 0x07, 0x86, 0x69, 0x8d, 0x8d, 0xdd, 0x16, 0xa1, 0x7b, 0x1b, 0xfd, 0x22,
+ 0xd5, 0xa3, 0xf9, 0x22, 0x57, 0x25, 0x1b, 0xd3, 0xd4, 0x31, 0xac, 0xe0, 0x6f, 0xbe, 0x3d, 0x35,
+ 0x24, 0x7f, 0xe0, 0xb4, 0x55, 0x93, 0x8b, 0xf0, 0x60, 0xd7, 0xaf, 0x79, 0x20, 0x57, 0xc0, 0x5f,
+ 0x83, 0x71, 0xb3, 0x11, 0x07, 0xf2, 0x03, 0xfc, 0x13, 0x6d, 0xd9, 0xf1, 0x7e, 0x09, 0x79, 0x76,
+ 0xdf, 0xb4, 0x59, 0x35, 0x19, 0xe6, 0xc5, 0xd4, 0x33, 0x27, 0xc3, 0xbc, 0x98, 0x0c, 0xf3, 0xee,
+ 0x1f, 0x38, 0xe9, 0xd2, 0xd4, 0xd4, 0x3c, 0xba, 0x31, 0xb7, 0xa3, 0x86, 0x10, 0xc4, 0x6a, 0x63,
+ 0xbe, 0x86, 0x57, 0x30, 0x85, 0xa3, 0x2f, 0x6b, 0xd2, 0x91, 0x56, 0x6b, 0x0b, 0xb7, 0x86, 0x25,
+ 0x13, 0xbd, 0x41, 0xb8, 0x53, 0xfe, 0x89, 0x02, 0x9c, 0x6d, 0x82, 0xfb, 0xa5, 0x02, 0x3c, 0xbc,
+ 0xaf, 0xd2, 0x9a, 0xdb, 0x70, 0xe7, 0xbe, 0x37, 0x9c, 0x6e, 0x6b, 0x11, 0x69, 0x85, 0xd7, 0xf0,
+ 0x8a, 0xf8, 0x5e, 0x6a, 0x5b, 0xc3, 0x1c, 0x8c, 0x65, 0x39, 0x55, 0x1d, 0xb6, 0xc9, 0xee, 0x42,
+ 0x18, 0x35, 0xbd, 0x44, 0x48, 0x07, 0xa5, 0x3a, 0x2c, 0xcb, 0x02, 0x9c, 0xe2, 0xb8, 0x7f, 0xe4,
+ 0x40, 0xb6, 0x01, 0xc8, 0x83, 0xf1, 0x76, 0x4c, 0x22, 0xba, 0xa5, 0x96, 0x49, 0x25, 0x22, 0x72,
+ 0x7a, 0x3e, 0x36, 0xcd, 0xbd, 0xfd, 0xb4, 0x87, 0xd3, 0x95, 0x30, 0x22, 0xd3, 0x3b, 0x4f, 0x4f,
+ 0x73, 0x8c, 0x65, 0xb2, 0x5b, 0x26, 0x0d, 0x42, 0x69, 0xcc, 0xa2, 0xdb, 0x7b, 0x53, 0xe3, 0xd7,
+ 0x0c, 0x02, 0x38, 0x43, 0x90, 0xb2, 0x68, 0x79, 0x71, 0x7c, 0x33, 0x8c, 0xaa, 0x82, 0x45, 0xe1,
+ 0xc0, 0x2c, 0xd6, 0x0d, 0x02, 0x38, 0x43, 0xd0, 0xfd, 0x01, 0x3d, 0x3e, 0xea, 0x5a, 0x2b, 0xfa,
+ 0x26, 0xd5, 0x7d, 0x28, 0x64, 0xb6, 0x11, 0x6e, 0xce, 0x85, 0x41, 0xe2, 0xf9, 0x01, 0x91, 0xc1,
+ 0x02, 0x1b, 0x96, 0x74, 0x64, 0x83, 0x76, 0x6a, 0xc3, 0xef, 0x2c, 0xc3, 0x39, 0x6d, 0xa1, 0x3a,
+ 0xce, 0x66, 0x23, 0xdc, 0xcc, 0x7a, 0x01, 0x29, 0x12, 0x66, 0x25, 0xee, 0x4f, 0x1d, 0x38, 0xd7,
+ 0x45, 0x19, 0x47, 0x5f, 0x75, 0x60, 0x6c, 0xf3, 0x67, 0xa2, 0x6f, 0x66, 0x33, 0xd0, 0xfb, 0x61,
+ 0x9c, 0x02, 0xe8, 0x4e, 0x24, 0xe6, 0x66, 0xc1, 0xf4, 0x50, 0xcd, 0x1a, 0xa5, 0x38, 0x83, 0xed,
+ 0xfe, 0x7a, 0x01, 0x72, 0xb8, 0xa0, 0xa7, 0x60, 0x88, 0x04, 0xd5, 0x56, 0xe8, 0x07, 0x89, 0x10,
+ 0x46, 0x4a, 0xea, 0x5d, 0x16, 0x70, 0xac, 0x30, 0xc4, 0xf9, 0x43, 0x0c, 0x4c, 0xa1, 0xe3, 0xfc,
+ 0x21, 0x5a, 0x9e, 0xe2, 0xa0, 0x1a, 0x4c, 0x78, 0xdc, 0xbf, 0xc2, 0xe6, 0x1e, 0x9b, 0xa6, 0x7d,
+ 0x07, 0x99, 0xa6, 0xa7, 0x99, 0xfb, 0x33, 0x43, 0x02, 0x77, 0x10, 0x45, 0xef, 0x81, 0x91, 0x76,
+ 0x4c, 0xca, 0xf3, 0xcb, 0x73, 0x11, 0xa9, 0xf2, 0x53, 0xb1, 0xe6, 0xf7, 0xbb, 0x96, 0x16, 0x61,
+ 0x1d, 0xcf, 0xfd, 0x67, 0x0e, 0x0c, 0xce, 0x7a, 0x95, 0xed, 0x70, 0x6b, 0x8b, 0x0e, 0x45, 0xb5,
+ 0x1d, 0xa5, 0x86, 0x2d, 0x6d, 0x28, 0xe6, 0x05, 0x1c, 0x2b, 0x0c, 0xb4, 0x01, 0x03, 0x7c, 0xc1,
+ 0x8b, 0x65, 0xf7, 0x0b, 0x5a, 0x7f, 0x54, 0x1c, 0x0f, 0x9b, 0x0e, 0xed, 0xc4, 0x6f, 0x4c, 0xf3,
+ 0x38, 0x9e, 0xe9, 0xa5, 0x20, 0x59, 0x8b, 0xca, 0x49, 0xe4, 0x07, 0xb5, 0x59, 0xa0, 0xdb, 0xc5,
+ 0x02, 0xa3, 0x81, 0x05, 0x2d, 0xda, 0x8d, 0xa6, 0x77, 0x4b, 0xb2, 0x13, 0xe2, 0x47, 0x75, 0x63,
+ 0x35, 0x2d, 0xc2, 0x3a, 0x9e, 0xfb, 0x87, 0x0e, 0x0c, 0xcf, 0x7a, 0xb1, 0x5f, 0xf9, 0x0b, 0x24,
+ 0x7c, 0x3e, 0x0c, 0xc5, 0x39, 0xaf, 0x52, 0x27, 0xe8, 0x5a, 0xf6, 0xd0, 0x3b, 0x72, 0xe9, 0x89,
+ 0x3c, 0x36, 0xea, 0x00, 0xac, 0x73, 0x1a, 0xeb, 0x76, 0x34, 0x76, 0xdf, 0x76, 0x60, 0x7c, 0xae,
+ 0xe1, 0x93, 0x20, 0x99, 0x23, 0x51, 0xc2, 0x06, 0xae, 0x06, 0x13, 0x15, 0x05, 0x39, 0xcc, 0xd0,
+ 0xb1, 0xd9, 0x3a, 0x97, 0x21, 0x81, 0x3b, 0x88, 0xa2, 0x2a, 0x9c, 0xe0, 0xb0, 0x74, 0x55, 0x1c,
+ 0x68, 0xfc, 0x98, 0x75, 0x74, 0xce, 0xa4, 0x80, 0xb3, 0x24, 0xdd, 0x9f, 0x38, 0x70, 0x6e, 0xae,
+ 0xd1, 0x8e, 0x13, 0x12, 0xdd, 0x10, 0xd2, 0x48, 0xaa, 0xb7, 0xe8, 0xa3, 0x30, 0xd4, 0x94, 0x1e,
+ 0x5b, 0xe7, 0x2e, 0x13, 0x98, 0xc9, 0x33, 0x8a, 0x4d, 0x1b, 0xb3, 0xb6, 0xf9, 0x32, 0xa9, 0x24,
+ 0xab, 0x24, 0xf1, 0xd2, 0xf0, 0x82, 0x14, 0x86, 0x15, 0x55, 0xd4, 0x82, 0xfe, 0xb8, 0x45, 0x2a,
+ 0xf6, 0xa2, 0xbb, 0x64, 0x1f, 0xca, 0x2d, 0x52, 0x49, 0xe5, 0x3a, 0xf3, 0x35, 0x32, 0x4e, 0xee,
+ 0xff, 0x72, 0xe0, 0x7c, 0x97, 0xfe, 0xae, 0xf8, 0x71, 0x82, 0x5e, 0xea, 0xe8, 0xf3, 0x74, 0x6f,
+ 0x7d, 0xa6, 0xb5, 0x59, 0x8f, 0x95, 0x40, 0x90, 0x10, 0xad, 0xbf, 0x1f, 0x83, 0xa2, 0x9f, 0x90,
+ 0xa6, 0x34, 0x43, 0x5b, 0x30, 0x18, 0x75, 0xe9, 0xcb, 0xec, 0x98, 0x8c, 0xf1, 0x5b, 0xa2, 0xfc,
+ 0x30, 0x67, 0xeb, 0x6e, 0xc3, 0xc0, 0x5c, 0xd8, 0x68, 0x37, 0x83, 0xde, 0x22, 0x65, 0x92, 0xdd,
+ 0x16, 0xc9, 0xee, 0x91, 0x4c, 0xfd, 0x67, 0x25, 0xd2, 0x70, 0xd4, 0x97, 0x6f, 0x38, 0x72, 0xff,
+ 0xb9, 0x03, 0x74, 0x55, 0x55, 0x7d, 0xe1, 0x49, 0xe4, 0xe4, 0x38, 0xc3, 0x87, 0x75, 0x72, 0x77,
+ 0xf6, 0xa6, 0xc6, 0x14, 0xa2, 0x46, 0xff, 0xc3, 0x30, 0x10, 0xb3, 0x23, 0xb9, 0x68, 0xc3, 0x82,
+ 0xd4, 0x9f, 0xf9, 0x41, 0xfd, 0xce, 0xde, 0x54, 0x4f, 0x61, 0x9b, 0xd3, 0x8a, 0xb6, 0x70, 0x7a,
+ 0x0a, 0xaa, 0x54, 0xe1, 0x6b, 0x92, 0x38, 0xf6, 0x6a, 0xf2, 0x84, 0xa7, 0x14, 0xbe, 0x55, 0x0e,
+ 0xc6, 0xb2, 0xdc, 0xfd, 0x8a, 0x03, 0x63, 0x6a, 0xf3, 0xa2, 0xea, 0x3b, 0xba, 0xaa, 0x6f, 0x73,
+ 0x7c, 0xa6, 0x3c, 0xdc, 0x45, 0xe2, 0x88, 0x8d, 0x7c, 0xff, 0x5d, 0xf0, 0xdd, 0x30, 0x5a, 0x25,
+ 0x2d, 0x12, 0x54, 0x49, 0x50, 0xa1, 0xc7, 0x6f, 0x3a, 0x43, 0x86, 0x67, 0x27, 0xe8, 0x79, 0x73,
+ 0x5e, 0x83, 0x63, 0x03, 0xcb, 0xfd, 0x96, 0x03, 0x0f, 0x2a, 0x72, 0x65, 0x92, 0x60, 0x92, 0x44,
+ 0xbb, 0x2a, 0x4c, 0xf3, 0x60, 0xbb, 0xd5, 0x0d, 0xaa, 0xff, 0x26, 0x11, 0x67, 0x7e, 0xb8, 0xed,
+ 0x6a, 0x84, 0x6b, 0xcb, 0x8c, 0x08, 0x96, 0xd4, 0xdc, 0x5f, 0xed, 0x83, 0xd3, 0x7a, 0x23, 0x95,
+ 0x80, 0xf9, 0xa4, 0x03, 0xa0, 0x46, 0x80, 0x6e, 0xc8, 0x7d, 0x76, 0x7c, 0x57, 0xc6, 0x97, 0x4a,
+ 0x45, 0x90, 0x02, 0xc7, 0x58, 0x63, 0x8b, 0x5e, 0x80, 0xd1, 0x1d, 0xba, 0x28, 0xc8, 0x2a, 0x55,
+ 0x17, 0xe2, 0x52, 0x1f, 0x6b, 0xc6, 0x54, 0xde, 0xc7, 0xbc, 0x9e, 0xe2, 0xa5, 0xe6, 0x00, 0x0d,
+ 0x18, 0x63, 0x83, 0x14, 0x3d, 0xe9, 0x8c, 0x45, 0xfa, 0x27, 0x11, 0x36, 0xf1, 0x0f, 0x59, 0xec,
+ 0x63, 0xf6, 0xab, 0xcf, 0x9e, 0xbc, 0xbd, 0x37, 0x35, 0x66, 0x80, 0xb0, 0xd9, 0x08, 0xf7, 0x05,
+ 0x60, 0x63, 0xe1, 0x07, 0x6d, 0xb2, 0x16, 0xa0, 0x47, 0xa5, 0x8d, 0x8e, 0xfb, 0x55, 0x94, 0xe4,
+ 0xd0, 0xed, 0x74, 0xf4, 0x2c, 0xbb, 0xe5, 0xf9, 0x0d, 0x16, 0xbe, 0x48, 0xb1, 0xd4, 0x59, 0x76,
+ 0x81, 0x41, 0xb1, 0x28, 0x75, 0xa7, 0x61, 0x70, 0x8e, 0xf6, 0x9d, 0x44, 0x94, 0xae, 0x1e, 0x75,
+ 0x3c, 0x66, 0x44, 0x1d, 0xcb, 0xe8, 0xe2, 0x0d, 0x38, 0x33, 0x17, 0x11, 0x2f, 0x21, 0xe5, 0x67,
+ 0x66, 0xdb, 0x95, 0x6d, 0x92, 0xf0, 0xd0, 0xae, 0x18, 0xbd, 0x0f, 0xc6, 0x42, 0xb6, 0x65, 0xac,
+ 0x84, 0x95, 0x6d, 0x3f, 0xa8, 0x09, 0x93, 0xeb, 0x19, 0x41, 0x65, 0x6c, 0x4d, 0x2f, 0xc4, 0x26,
+ 0xae, 0xfb, 0xef, 0x0b, 0x30, 0x3a, 0x17, 0x85, 0x81, 0x14, 0x8b, 0xc7, 0xb0, 0x95, 0x25, 0xc6,
+ 0x56, 0x66, 0xc1, 0xdd, 0xa9, 0xb7, 0xbf, 0xdb, 0x76, 0x86, 0x5e, 0x57, 0x22, 0xb2, 0xcf, 0xd6,
+ 0x11, 0xc4, 0xe0, 0xcb, 0x68, 0xa7, 0x1f, 0xdb, 0x14, 0xa0, 0xee, 0x7f, 0x70, 0x60, 0x42, 0x47,
+ 0x3f, 0x86, 0x1d, 0x34, 0x36, 0x77, 0xd0, 0xab, 0x76, 0xfb, 0xdb, 0x65, 0xdb, 0x7c, 0x7b, 0xd0,
+ 0xec, 0x27, 0xf3, 0x75, 0x7f, 0xcd, 0x81, 0xd1, 0x9b, 0x1a, 0x40, 0x74, 0xd6, 0xb6, 0x12, 0xf3,
+ 0x0e, 0x29, 0x66, 0x74, 0xe8, 0x9d, 0xcc, 0x6f, 0x6c, 0xb4, 0x84, 0xca, 0xfd, 0xb8, 0x52, 0x27,
+ 0xd5, 0x76, 0x43, 0x6e, 0xdf, 0x6a, 0x48, 0xcb, 0x02, 0x8e, 0x15, 0x06, 0x7a, 0x09, 0x4e, 0x56,
+ 0xc2, 0xa0, 0xd2, 0x8e, 0x22, 0x12, 0x54, 0x76, 0xd7, 0xd9, 0x1d, 0x09, 0xb1, 0x21, 0x4e, 0x8b,
+ 0x6a, 0x27, 0xe7, 0xb2, 0x08, 0x77, 0xf2, 0x80, 0xb8, 0x93, 0x10, 0x77, 0x16, 0xc4, 0x74, 0xcb,
+ 0x12, 0x07, 0x2e, 0xcd, 0x59, 0xc0, 0xc0, 0x58, 0x96, 0xa3, 0x6b, 0x70, 0x2e, 0x4e, 0xbc, 0x28,
+ 0xf1, 0x83, 0xda, 0x3c, 0xf1, 0xaa, 0x0d, 0x3f, 0xa0, 0x47, 0x89, 0x30, 0xa8, 0x72, 0x57, 0x62,
+ 0xdf, 0xec, 0xf9, 0xdb, 0x7b, 0x53, 0xe7, 0xca, 0xf9, 0x28, 0xb8, 0x5b, 0x5d, 0xf4, 0x61, 0x98,
+ 0x14, 0xee, 0x88, 0xad, 0x76, 0xe3, 0xb9, 0x70, 0x33, 0xbe, 0xe2, 0xc7, 0xf4, 0x1c, 0xbf, 0xe2,
+ 0x37, 0xfd, 0x84, 0x39, 0x0c, 0x8b, 0xb3, 0x17, 0x6e, 0xef, 0x4d, 0x4d, 0x96, 0xbb, 0x62, 0xe1,
+ 0x7d, 0x28, 0x20, 0x0c, 0x67, 0xb9, 0xf0, 0xeb, 0xa0, 0x3d, 0xc8, 0x68, 0x4f, 0xde, 0xde, 0x9b,
+ 0x3a, 0xbb, 0x90, 0x8b, 0x81, 0xbb, 0xd4, 0xa4, 0x5f, 0x30, 0xf1, 0x9b, 0xe4, 0xd5, 0x30, 0x20,
+ 0x2c, 0x50, 0x45, 0xfb, 0x82, 0x1b, 0x02, 0x8e, 0x15, 0x06, 0x7a, 0x39, 0x9d, 0x89, 0x74, 0xb9,
+ 0x88, 0x80, 0x93, 0x83, 0x4b, 0x38, 0x76, 0x34, 0xb9, 0xa1, 0x51, 0x62, 0x91, 0x94, 0x06, 0x6d,
+ 0xf4, 0x29, 0x07, 0x46, 0xe3, 0x24, 0x54, 0xf7, 0x1a, 0x44, 0xc4, 0x89, 0x85, 0x69, 0x5f, 0xd6,
+ 0xa8, 0x72, 0xc5, 0x47, 0x87, 0x60, 0x83, 0x2b, 0x7a, 0x27, 0x0c, 0xcb, 0x09, 0x1c, 0x97, 0x46,
+ 0x98, 0xae, 0xc4, 0x8e, 0x71, 0x72, 0x7e, 0xc7, 0x38, 0x2d, 0xa7, 0xaa, 0xec, 0xcd, 0x3a, 0x09,
+ 0x58, 0xcc, 0xad, 0xa6, 0xca, 0xde, 0xa8, 0x93, 0x00, 0xb3, 0x12, 0xf7, 0xc7, 0x7d, 0x80, 0x3a,
+ 0x05, 0x1f, 0x5a, 0x86, 0x01, 0xaf, 0x92, 0xf8, 0x3b, 0x32, 0xde, 0xf0, 0xd1, 0x3c, 0xa5, 0x80,
+ 0x0f, 0x20, 0x26, 0x5b, 0x84, 0xce, 0x7b, 0x92, 0x4a, 0xcb, 0x19, 0x56, 0x15, 0x0b, 0x12, 0x28,
+ 0x84, 0x93, 0x0d, 0x2f, 0x4e, 0x64, 0x0b, 0xab, 0xf4, 0x43, 0x8a, 0xed, 0xe2, 0xe7, 0x7b, 0xfb,
+ 0x54, 0xb4, 0xc6, 0xec, 0x19, 0xba, 0x1e, 0x57, 0xb2, 0x84, 0x70, 0x27, 0x6d, 0xf4, 0x71, 0xa6,
+ 0x5d, 0x71, 0xd5, 0x57, 0xaa, 0x35, 0xcb, 0x56, 0x34, 0x0f, 0x4e, 0xd3, 0xd0, 0xac, 0x04, 0x1b,
+ 0xac, 0xb1, 0x44, 0x17, 0x61, 0x98, 0xad, 0x1b, 0x52, 0x25, 0x7c, 0xf5, 0xf7, 0xa5, 0x4a, 0x70,
+ 0x59, 0x16, 0xe0, 0x14, 0x47, 0xd3, 0x32, 0xf8, 0x82, 0xef, 0xa2, 0x65, 0xa0, 0x67, 0xa1, 0xd8,
+ 0xaa, 0x7b, 0xb1, 0x8c, 0x61, 0x77, 0xa5, 0xd4, 0x5e, 0xa7, 0x40, 0x26, 0x9a, 0xb4, 0x6f, 0xc9,
+ 0x80, 0x98, 0x57, 0x70, 0xff, 0x05, 0xc0, 0xe0, 0xfc, 0xcc, 0xe2, 0x86, 0x17, 0x6f, 0xf7, 0x70,
+ 0x06, 0xa2, 0xcb, 0x50, 0x28, 0xab, 0x59, 0x41, 0x2a, 0x95, 0x58, 0xac, 0x30, 0x50, 0x00, 0x03,
+ 0x7e, 0x40, 0x25, 0x4f, 0x69, 0xdc, 0x96, 0x9f, 0x41, 0x9d, 0xe7, 0x98, 0x21, 0x68, 0x89, 0x51,
+ 0xc7, 0x82, 0x0b, 0x7a, 0x1d, 0x86, 0x3d, 0x79, 0x85, 0x48, 0xec, 0xff, 0xcb, 0x36, 0x0c, 0xe8,
+ 0x82, 0xa4, 0x1e, 0xc2, 0x24, 0x40, 0x38, 0x65, 0x88, 0x3e, 0xe1, 0xc0, 0x88, 0xec, 0x3a, 0x26,
+ 0x5b, 0xc2, 0xb7, 0xbd, 0x6a, 0xaf, 0xcf, 0x98, 0x6c, 0xf1, 0xf8, 0x16, 0x0d, 0x80, 0x75, 0x96,
+ 0x1d, 0x67, 0xa6, 0x62, 0x2f, 0x67, 0x26, 0x74, 0x13, 0x86, 0x6f, 0xfa, 0x49, 0x9d, 0xed, 0xf0,
+ 0xc2, 0xa7, 0xb6, 0x70, 0xef, 0xad, 0xa6, 0xe4, 0xd2, 0x11, 0xbb, 0x21, 0x19, 0xe0, 0x94, 0x17,
+ 0x5d, 0x0e, 0xf4, 0x07, 0xbb, 0x82, 0xc5, 0xf6, 0x86, 0x61, 0xb3, 0x02, 0x2b, 0xc0, 0x29, 0x0e,
+ 0x1d, 0xe2, 0x51, 0xfa, 0xab, 0x4c, 0x5e, 0x69, 0x53, 0xd1, 0x22, 0x62, 0x16, 0x2d, 0xcc, 0x2b,
+ 0x49, 0x91, 0x0f, 0xd6, 0x0d, 0x8d, 0x07, 0x36, 0x38, 0x2a, 0xd1, 0x39, 0xdc, 0x4d, 0x74, 0xa2,
+ 0xd7, 0xf9, 0x19, 0x8e, 0x1f, 0x26, 0xc4, 0x6e, 0xb0, 0x62, 0xe7, 0x7c, 0xc3, 0x69, 0xf2, 0x6b,
+ 0x0d, 0xe9, 0x6f, 0xac, 0xf1, 0xa3, 0x12, 0x23, 0x0c, 0x2e, 0xdf, 0xf2, 0x13, 0x71, 0x19, 0x43,
+ 0x49, 0x8c, 0x35, 0x06, 0xc5, 0xa2, 0x94, 0xc7, 0x6e, 0xd0, 0x49, 0x10, 0x8b, 0x5d, 0x40, 0x8b,
+ 0xdd, 0x60, 0x60, 0x2c, 0xcb, 0xd1, 0xdf, 0x75, 0xa0, 0x58, 0x0f, 0xc3, 0xed, 0xb8, 0x34, 0xc6,
+ 0x26, 0x87, 0x05, 0x9d, 0x5a, 0x48, 0x9c, 0xe9, 0x2b, 0x94, 0xac, 0x79, 0xbd, 0xac, 0xc8, 0x60,
+ 0x77, 0xf6, 0xa6, 0xc6, 0x57, 0xfc, 0x2d, 0x52, 0xd9, 0xad, 0x34, 0x08, 0x83, 0xbc, 0xf9, 0xb6,
+ 0x06, 0xb9, 0xbc, 0x43, 0x82, 0x04, 0xf3, 0x56, 0x4d, 0x7e, 0xde, 0x01, 0x48, 0x09, 0xe5, 0x38,
+ 0x49, 0x89, 0x19, 0x56, 0x60, 0xe1, 0x40, 0x6d, 0x34, 0x4d, 0xf7, 0xba, 0xfe, 0x2b, 0x07, 0x46,
+ 0x68, 0xe7, 0xa4, 0x08, 0x7c, 0x1c, 0x06, 0x12, 0x2f, 0xaa, 0x11, 0xe9, 0x28, 0x50, 0x9f, 0x63,
+ 0x83, 0x41, 0xb1, 0x28, 0x45, 0x01, 0x14, 0x13, 0x2f, 0xde, 0x96, 0x6a, 0xfc, 0x92, 0xb5, 0x21,
+ 0x4e, 0x35, 0x78, 0xfa, 0x2b, 0xc6, 0x9c, 0x0d, 0x7a, 0x02, 0x86, 0xe8, 0xd6, 0xb1, 0xe0, 0xc5,
+ 0x32, 0x76, 0x67, 0x94, 0x0a, 0xf1, 0x05, 0x01, 0xc3, 0xaa, 0xd4, 0xfd, 0xf5, 0x02, 0xf4, 0xcf,
+ 0xf3, 0x03, 0xdd, 0x40, 0x1c, 0xb6, 0xa3, 0x0a, 0x11, 0x8a, 0xbd, 0x85, 0x39, 0x4d, 0xe9, 0x96,
+ 0x19, 0x4d, 0xed, 0x48, 0xc5, 0x7e, 0x63, 0xc1, 0x0b, 0x7d, 0xd9, 0x81, 0xf1, 0x24, 0xf2, 0x82,
+ 0x78, 0x8b, 0xb9, 0x64, 0xfc, 0x30, 0x10, 0x43, 0x64, 0x61, 0x16, 0x6e, 0x18, 0x74, 0xcb, 0x09,
+ 0x69, 0xa5, 0x9e, 0x21, 0xb3, 0x0c, 0x67, 0xda, 0xe0, 0xfe, 0x86, 0x03, 0x90, 0xb6, 0x1e, 0x7d,
+ 0xce, 0x81, 0x31, 0x4f, 0x8f, 0x19, 0x15, 0x63, 0xb4, 0x66, 0xcf, 0x7f, 0xcb, 0xc8, 0x72, 0x5b,
+ 0x86, 0x01, 0xc2, 0x26, 0x63, 0xf7, 0x3d, 0x50, 0x64, 0xab, 0x83, 0x1d, 0x7a, 0x84, 0xed, 0x3b,
+ 0x6b, 0xec, 0x92, 0x36, 0x71, 0xac, 0x30, 0xdc, 0x97, 0x60, 0xfc, 0xf2, 0x2d, 0x52, 0x69, 0x27,
+ 0x61, 0xc4, 0x2d, 0xff, 0x5d, 0xee, 0x08, 0x39, 0x87, 0xba, 0x23, 0xf4, 0x5d, 0x07, 0x46, 0xb4,
+ 0x00, 0x42, 0xba, 0x53, 0xd7, 0xe6, 0xca, 0xdc, 0xc0, 0x21, 0x86, 0x6a, 0xd9, 0x4a, 0x88, 0x22,
+ 0x27, 0x99, 0x6e, 0x23, 0x0a, 0x84, 0x53, 0x86, 0x77, 0x09, 0xf0, 0x73, 0x7f, 0xdf, 0x81, 0x33,
+ 0xb9, 0xd1, 0x8e, 0xf7, 0xb9, 0xd9, 0x86, 0x93, 0xbd, 0xd0, 0x83, 0x93, 0xfd, 0xb7, 0x1d, 0x48,
+ 0x29, 0x51, 0x51, 0xb4, 0x99, 0xb6, 0x5c, 0x13, 0x45, 0x82, 0x93, 0x28, 0x45, 0xaf, 0xc3, 0x39,
+ 0xf3, 0x0b, 0x1e, 0xd2, 0xdf, 0xc2, 0x0f, 0xa7, 0xf9, 0x94, 0x70, 0x37, 0x16, 0xee, 0xd7, 0x1d,
+ 0x28, 0x2e, 0x7a, 0xed, 0x1a, 0xe9, 0xc9, 0x5c, 0x46, 0xe5, 0x58, 0x44, 0xbc, 0x46, 0x22, 0x8f,
+ 0x0e, 0x42, 0x8e, 0x61, 0x01, 0xc3, 0xaa, 0x14, 0xcd, 0xc0, 0x70, 0xd8, 0x22, 0x86, 0x8f, 0xf0,
+ 0x51, 0x39, 0x7a, 0x6b, 0xb2, 0x80, 0x6e, 0x3b, 0x8c, 0xbb, 0x82, 0xe0, 0xb4, 0x96, 0xfb, 0x8d,
+ 0x01, 0x18, 0xd1, 0xee, 0xc5, 0x50, 0x5d, 0x20, 0x22, 0xad, 0x30, 0xab, 0x2f, 0xd3, 0x09, 0x83,
+ 0x59, 0x09, 0x5d, 0x83, 0x11, 0xd9, 0xf1, 0x63, 0x2e, 0xb6, 0x8c, 0x35, 0x88, 0x05, 0x1c, 0x2b,
+ 0x0c, 0x34, 0x05, 0xc5, 0x2a, 0x69, 0x25, 0x75, 0xd6, 0xbc, 0x7e, 0x1e, 0x1c, 0x38, 0x4f, 0x01,
+ 0x98, 0xc3, 0x29, 0xc2, 0x16, 0x49, 0x2a, 0x75, 0x66, 0x19, 0x16, 0xd1, 0x83, 0x0b, 0x14, 0x80,
+ 0x39, 0x3c, 0xc7, 0x8b, 0x59, 0x3c, 0x7a, 0x2f, 0xe6, 0x80, 0x65, 0x2f, 0x26, 0x6a, 0xc1, 0xa9,
+ 0x38, 0xae, 0xaf, 0x47, 0xfe, 0x8e, 0x97, 0x90, 0x74, 0xf6, 0x0d, 0x1e, 0x84, 0xcf, 0x39, 0x76,
+ 0x53, 0xbd, 0x7c, 0x25, 0x4b, 0x05, 0xe7, 0x91, 0x46, 0x65, 0x38, 0xe3, 0x07, 0x31, 0xa9, 0xb4,
+ 0x23, 0xb2, 0x54, 0x0b, 0xc2, 0x88, 0x5c, 0x09, 0x63, 0x4a, 0x4e, 0xdc, 0xb3, 0x55, 0xf1, 0xb4,
+ 0x4b, 0x79, 0x48, 0x38, 0xbf, 0x2e, 0x5a, 0x84, 0x93, 0x55, 0x3f, 0xf6, 0x36, 0x1b, 0xa4, 0xdc,
+ 0xde, 0x6c, 0x86, 0xfc, 0x68, 0x3e, 0xcc, 0x08, 0x3e, 0x28, 0xed, 0x48, 0xf3, 0x59, 0x04, 0xdc,
+ 0x59, 0x07, 0x3d, 0x0b, 0xa3, 0xb1, 0x1f, 0xd4, 0x1a, 0x64, 0x36, 0xf2, 0x82, 0x4a, 0x5d, 0x5c,
+ 0xd0, 0x55, 0xf6, 0xf6, 0xb2, 0x56, 0x86, 0x0d, 0x4c, 0xb6, 0xe6, 0x79, 0x9d, 0x8c, 0x36, 0x28,
+ 0xb0, 0x45, 0x29, 0x9a, 0x81, 0x13, 0xb2, 0x0f, 0xe5, 0x6d, 0xbf, 0xb5, 0xb1, 0x52, 0x66, 0x5a,
+ 0xe1, 0x50, 0x1a, 0x2d, 0xb4, 0x64, 0x16, 0xe3, 0x2c, 0xbe, 0xfb, 0x43, 0x07, 0x46, 0xf5, 0x70,
+ 0x78, 0xaa, 0xac, 0x43, 0x7d, 0x7e, 0xa1, 0xcc, 0xb7, 0x13, 0x7b, 0x4a, 0xc3, 0x15, 0x45, 0x33,
+ 0x3d, 0x6f, 0xa7, 0x30, 0xac, 0xf1, 0xec, 0xe1, 0x72, 0xfb, 0xa3, 0x50, 0xdc, 0x0a, 0xa9, 0x4e,
+ 0xd3, 0x67, 0xda, 0xfa, 0x17, 0x28, 0x10, 0xf3, 0x32, 0xf7, 0xbf, 0x39, 0x70, 0x36, 0x3f, 0xd2,
+ 0xff, 0x67, 0xa1, 0x93, 0x97, 0x00, 0x68, 0x57, 0x8c, 0x7d, 0x41, 0x4b, 0x6f, 0x21, 0x4b, 0xb0,
+ 0x86, 0xd5, 0x5b, 0xb7, 0xff, 0x65, 0x01, 0x34, 0x9e, 0xe8, 0x0b, 0x0e, 0x8c, 0x51, 0xb6, 0xcb,
+ 0xd1, 0xa6, 0xd1, 0xdb, 0x35, 0x3b, 0xbd, 0x55, 0x64, 0x53, 0x97, 0x86, 0x01, 0xc6, 0x26, 0x73,
+ 0xf4, 0x4e, 0x18, 0xf6, 0xaa, 0xd5, 0x88, 0xc4, 0xb1, 0x72, 0x0e, 0x32, 0x83, 0xd7, 0x8c, 0x04,
+ 0xe2, 0xb4, 0x9c, 0xca, 0xe1, 0x7a, 0x75, 0x2b, 0xa6, 0xa2, 0x4d, 0xc8, 0x7e, 0x25, 0x87, 0x29,
+ 0x13, 0x0a, 0xc7, 0x0a, 0x03, 0x5d, 0x87, 0xb3, 0x55, 0x2f, 0xf1, 0xb8, 0x0a, 0x48, 0xa2, 0xf5,
+ 0x28, 0x4c, 0x48, 0x85, 0xed, 0x1b, 0x3c, 0x88, 0xf5, 0x82, 0xa8, 0x7b, 0x76, 0x3e, 0x17, 0x0b,
+ 0x77, 0xa9, 0xed, 0xfe, 0x4a, 0x3f, 0x98, 0x7d, 0x42, 0x55, 0x38, 0xb1, 0x1d, 0x6d, 0xce, 0xb1,
+ 0x98, 0x8d, 0xc3, 0xc4, 0x4e, 0xb0, 0x98, 0x86, 0x65, 0x93, 0x02, 0xce, 0x92, 0x14, 0x5c, 0x96,
+ 0xc9, 0x6e, 0xe2, 0x6d, 0x1e, 0x3a, 0x72, 0x62, 0xd9, 0xa4, 0x80, 0xb3, 0x24, 0xd1, 0x7b, 0x60,
+ 0x64, 0x3b, 0xda, 0x94, 0xbb, 0x47, 0x36, 0x0c, 0x67, 0x39, 0x2d, 0xc2, 0x3a, 0x1e, 0xfd, 0x34,
+ 0xdb, 0xd1, 0x26, 0xdd, 0xb0, 0x65, 0x12, 0x09, 0xf5, 0x69, 0x96, 0x05, 0x1c, 0x2b, 0x0c, 0xd4,
+ 0x02, 0xb4, 0x2d, 0x47, 0x4f, 0x45, 0xa8, 0x88, 0x4d, 0xae, 0xf7, 0x00, 0x17, 0x76, 0x35, 0x60,
+ 0xb9, 0x83, 0x0e, 0xce, 0xa1, 0x8d, 0x5e, 0x80, 0x73, 0xdb, 0xd1, 0xa6, 0xd0, 0x63, 0xd6, 0x23,
+ 0x3f, 0xa8, 0xf8, 0x2d, 0x23, 0x61, 0xc4, 0x94, 0x68, 0xee, 0xb9, 0xe5, 0x7c, 0x34, 0xdc, 0xad,
+ 0xbe, 0xfb, 0x3b, 0xfd, 0xc0, 0xae, 0xba, 0x52, 0x31, 0xdd, 0x24, 0x49, 0x3d, 0xac, 0x66, 0x55,
+ 0xb3, 0x55, 0x06, 0xc5, 0xa2, 0x54, 0x06, 0xc0, 0x16, 0xba, 0x04, 0xc0, 0xde, 0x84, 0xc1, 0x3a,
+ 0xf1, 0xaa, 0x24, 0x92, 0xc6, 0xcd, 0x15, 0x3b, 0x97, 0x73, 0xaf, 0x30, 0xa2, 0xa9, 0x85, 0x80,
+ 0xff, 0x8e, 0xb1, 0xe4, 0x86, 0xde, 0x0b, 0xe3, 0x54, 0xc7, 0x0a, 0xdb, 0x89, 0xf4, 0x4f, 0x70,
+ 0xe3, 0x26, 0xdb, 0xec, 0x37, 0x8c, 0x12, 0x9c, 0xc1, 0x44, 0xf3, 0x30, 0x21, 0x7c, 0x09, 0xca,
+ 0x68, 0x2a, 0x06, 0x56, 0x65, 0xf2, 0x28, 0x67, 0xca, 0x71, 0x47, 0x0d, 0x16, 0xc0, 0x18, 0x56,
+ 0xb9, 0x3b, 0x59, 0x0f, 0x60, 0x0c, 0xab, 0xbb, 0x98, 0x95, 0xa0, 0x57, 0x61, 0x88, 0xfe, 0x5d,
+ 0x88, 0xc2, 0xa6, 0x30, 0x1b, 0xad, 0xdb, 0x19, 0x1d, 0xca, 0x43, 0x1c, 0x62, 0x99, 0xee, 0x39,
+ 0x2b, 0xb8, 0x60, 0xc5, 0x8f, 0x1e, 0xa5, 0xf4, 0xed, 0xf2, 0x3a, 0x89, 0xfc, 0xad, 0x5d, 0xa6,
+ 0xcf, 0x0c, 0xa5, 0x47, 0xa9, 0xa5, 0x0e, 0x0c, 0x9c, 0x53, 0xcb, 0xfd, 0x42, 0x01, 0x46, 0xf5,
+ 0x1b, 0xd3, 0x77, 0x8b, 0x8a, 0x8e, 0xd3, 0x49, 0xc1, 0x0f, 0xce, 0x57, 0x2c, 0x74, 0xfb, 0x6e,
+ 0x13, 0xa2, 0x0e, 0xfd, 0x5e, 0x5b, 0x28, 0xb2, 0x56, 0xec, 0x73, 0xac, 0xc7, 0xed, 0xa4, 0xce,
+ 0xaf, 0xd6, 0xb1, 0x78, 0x65, 0xc6, 0xc1, 0xfd, 0x74, 0x1f, 0x0c, 0xc9, 0x42, 0xf4, 0x29, 0x07,
+ 0x20, 0x8d, 0x1b, 0x13, 0xa2, 0x74, 0xdd, 0x46, 0x50, 0x91, 0x1e, 0xf2, 0xa6, 0x99, 0xf9, 0x15,
+ 0x1c, 0x6b, 0x7c, 0x51, 0x02, 0x03, 0x21, 0x6d, 0xdc, 0x25, 0x7b, 0xb7, 0xfe, 0xd7, 0x28, 0xe3,
+ 0x4b, 0x8c, 0x7b, 0x6a, 0xd1, 0x63, 0x30, 0x2c, 0x78, 0xd1, 0xc3, 0xe9, 0xa6, 0x0c, 0x67, 0xb4,
+ 0x67, 0xfd, 0x56, 0x11, 0x92, 0xe9, 0x59, 0x53, 0x81, 0x70, 0xca, 0xd0, 0x7d, 0x1a, 0xc6, 0xcd,
+ 0xc5, 0x40, 0x0f, 0x2b, 0x9b, 0xbb, 0x09, 0xe1, 0xa6, 0x90, 0x51, 0x7e, 0x58, 0x99, 0xa5, 0x00,
+ 0xcc, 0xe1, 0xee, 0x0f, 0x1c, 0x80, 0x54, 0xbc, 0xf4, 0xe0, 0x7d, 0x78, 0x54, 0xb7, 0xe3, 0x75,
+ 0x3b, 0x11, 0x7e, 0x1c, 0x86, 0xd9, 0x3f, 0x6c, 0xa1, 0xf7, 0xd9, 0x0a, 0x3e, 0x48, 0xdb, 0x29,
+ 0x96, 0x3a, 0xd3, 0x35, 0xae, 0x4b, 0x46, 0x38, 0xe5, 0xe9, 0x86, 0x30, 0x91, 0xc5, 0x46, 0x1f,
+ 0x82, 0xd1, 0x58, 0x6e, 0xab, 0xe9, 0xfd, 0xbf, 0x1e, 0xb7, 0x5f, 0xee, 0xfa, 0xd3, 0xaa, 0x63,
+ 0x83, 0x98, 0xbb, 0x06, 0x03, 0x56, 0x87, 0xd0, 0xfd, 0x8e, 0x03, 0xc3, 0xcc, 0xfb, 0x5a, 0x8b,
+ 0xbc, 0x66, 0x5a, 0xa5, 0x6f, 0x9f, 0x51, 0x8f, 0x61, 0x90, 0x9b, 0x0f, 0x64, 0xd4, 0x92, 0x05,
+ 0x29, 0xc3, 0x93, 0xf5, 0xa5, 0x52, 0x86, 0xdb, 0x29, 0x62, 0x2c, 0x39, 0xb9, 0x9f, 0x29, 0xc0,
+ 0xc0, 0x52, 0xd0, 0x6a, 0xff, 0xa5, 0x4f, 0x18, 0xb7, 0x0a, 0xfd, 0x4b, 0x09, 0x69, 0x9a, 0x79,
+ 0x0d, 0x47, 0x67, 0x1f, 0xd3, 0x73, 0x1a, 0x96, 0xcc, 0x9c, 0x86, 0xd8, 0xbb, 0x29, 0x83, 0xfa,
+ 0x84, 0xf9, 0x3a, 0xbd, 0x03, 0xf9, 0x14, 0x0c, 0xaf, 0x78, 0x9b, 0xa4, 0xb1, 0x4c, 0x76, 0xd9,
+ 0x8d, 0x45, 0x1e, 0x60, 0xe2, 0xa4, 0x36, 0x07, 0x23, 0x18, 0x64, 0x1e, 0xc6, 0x19, 0xb6, 0x5a,
+ 0x0c, 0xf4, 0x44, 0x42, 0xd2, 0xa4, 0x50, 0x8e, 0x79, 0x22, 0xd1, 0x12, 0x42, 0x69, 0x58, 0xee,
+ 0x34, 0x8c, 0xa4, 0x54, 0x7a, 0xe0, 0xfa, 0xd3, 0x02, 0x8c, 0x19, 0x56, 0x78, 0xc3, 0x37, 0xe9,
+ 0xdc, 0xd5, 0x37, 0x69, 0xf8, 0x0a, 0x0b, 0xf7, 0xdb, 0x57, 0xd8, 0x77, 0xfc, 0xbe, 0x42, 0xf3,
+ 0x23, 0xf5, 0xf7, 0xf4, 0x91, 0x1a, 0xd0, 0xbf, 0xe2, 0x07, 0xdb, 0xbd, 0xc9, 0x99, 0xb8, 0x12,
+ 0xb6, 0x3a, 0xe4, 0x4c, 0x99, 0x02, 0x31, 0x2f, 0x93, 0x9a, 0x4b, 0x5f, 0xbe, 0xe6, 0xe2, 0x7e,
+ 0xca, 0x81, 0xd1, 0x55, 0x2f, 0xf0, 0xb7, 0x48, 0x9c, 0xb0, 0x79, 0x95, 0x1c, 0xe9, 0xcd, 0xb5,
+ 0xd1, 0x2e, 0x39, 0x18, 0xde, 0x74, 0xe0, 0xe4, 0x2a, 0x69, 0x86, 0xfe, 0xab, 0x5e, 0x1a, 0x33,
+ 0x4b, 0xdb, 0x5e, 0xf7, 0x13, 0x11, 0x22, 0xa8, 0xda, 0x7e, 0xc5, 0x4f, 0x30, 0x85, 0xdf, 0xc5,
+ 0xc4, 0xcc, 0xee, 0x84, 0xd0, 0x03, 0x9a, 0x76, 0x9b, 0x32, 0x8d, 0x86, 0x95, 0x05, 0x38, 0xc5,
+ 0x71, 0x7f, 0xd7, 0x81, 0x41, 0xde, 0x08, 0x15, 0x66, 0xec, 0x74, 0xa1, 0x5d, 0x87, 0x22, 0xab,
+ 0x27, 0x66, 0xf5, 0xa2, 0x05, 0xf5, 0x87, 0x92, 0xe3, 0x6b, 0x90, 0xfd, 0x8b, 0x39, 0x03, 0x76,
+ 0x6c, 0xf1, 0x6e, 0xcd, 0xa8, 0x70, 0xe1, 0xf4, 0xd8, 0xc2, 0xa0, 0x58, 0x94, 0xba, 0xdf, 0xe8,
+ 0x83, 0x21, 0x95, 0x7a, 0x8c, 0x25, 0x86, 0x08, 0x82, 0x30, 0xf1, 0x78, 0x18, 0x06, 0x97, 0xd5,
+ 0x1f, 0xb2, 0x97, 0xfa, 0x6c, 0x7a, 0x26, 0xa5, 0xce, 0x5d, 0x8b, 0xea, 0x10, 0xaa, 0x95, 0x60,
+ 0xbd, 0x11, 0xe8, 0x63, 0x30, 0xd0, 0xa0, 0xd2, 0x47, 0x8a, 0xee, 0xeb, 0x16, 0x9b, 0xc3, 0xc4,
+ 0x9a, 0x68, 0x89, 0x1a, 0x21, 0x0e, 0xc4, 0x82, 0xeb, 0xe4, 0xfb, 0x61, 0x22, 0xdb, 0xea, 0xbb,
+ 0x5d, 0xf6, 0x1c, 0xd6, 0xaf, 0x8a, 0xfe, 0x55, 0x21, 0x3d, 0x0f, 0x5e, 0xd5, 0x7d, 0x1e, 0x46,
+ 0x56, 0x49, 0x12, 0xf9, 0x15, 0x46, 0xe0, 0x6e, 0x93, 0xab, 0x27, 0xfd, 0xe1, 0xb3, 0x6c, 0xb2,
+ 0x52, 0x9a, 0x31, 0x7a, 0x1d, 0xa0, 0x15, 0x85, 0xf4, 0xfc, 0x4a, 0xda, 0xf2, 0x63, 0x5b, 0xd0,
+ 0x87, 0xd7, 0x15, 0x4d, 0xee, 0x0d, 0x4f, 0x7f, 0x63, 0x8d, 0x9f, 0xfb, 0x22, 0x14, 0x57, 0xdb,
+ 0x09, 0xb9, 0xd5, 0x83, 0xc4, 0x3a, 0x68, 0xf6, 0x03, 0xf7, 0x43, 0x30, 0xca, 0x68, 0x5f, 0x09,
+ 0x1b, 0x74, 0x5b, 0xa5, 0x43, 0xd3, 0xa4, 0xbf, 0xb3, 0xfe, 0x0a, 0x86, 0x84, 0x79, 0x19, 0x5d,
+ 0x32, 0xf5, 0xb0, 0x51, 0x55, 0x37, 0xc1, 0xd4, 0x84, 0xb8, 0xc2, 0xa0, 0x58, 0x94, 0xba, 0x9f,
+ 0x2c, 0xc0, 0x08, 0xab, 0x28, 0xc4, 0xcd, 0x2e, 0x0c, 0xd6, 0x39, 0x1f, 0x31, 0x86, 0x16, 0xe2,
+ 0xcb, 0xf4, 0xd6, 0x6b, 0x67, 0x39, 0x0e, 0xc0, 0x92, 0x1f, 0x65, 0x7d, 0xd3, 0xf3, 0x13, 0xca,
+ 0xba, 0x70, 0xb4, 0xac, 0x6f, 0x70, 0x36, 0x58, 0xf2, 0x73, 0x7f, 0x09, 0xd8, 0x0d, 0xeb, 0x85,
+ 0x86, 0x57, 0xe3, 0x23, 0x17, 0x6e, 0x93, 0xaa, 0x90, 0xb9, 0xda, 0xc8, 0x51, 0x28, 0x16, 0xa5,
+ 0xfc, 0xd6, 0x6a, 0x12, 0xf9, 0x2a, 0x32, 0x5b, 0xbb, 0xb5, 0xca, 0xc0, 0x32, 0x0e, 0xbf, 0xea,
+ 0x7e, 0xa5, 0x00, 0xc0, 0x12, 0xd5, 0xf1, 0x8b, 0xd1, 0xbf, 0x20, 0x83, 0xa8, 0x4c, 0x1f, 0xa7,
+ 0x0a, 0xa2, 0x62, 0x57, 0xbf, 0xf5, 0xe0, 0x29, 0xfd, 0xc2, 0x44, 0x61, 0xff, 0x0b, 0x13, 0xa8,
+ 0x05, 0x83, 0x61, 0x3b, 0xa1, 0xba, 0xaa, 0xd8, 0xec, 0x2d, 0xb8, 0xf8, 0xd7, 0x38, 0x41, 0x7e,
+ 0xcb, 0x40, 0xfc, 0xc0, 0x92, 0x0d, 0x7a, 0x16, 0x86, 0x5a, 0x51, 0x58, 0xa3, 0x7b, 0xb7, 0xd8,
+ 0xde, 0x1f, 0x92, 0xfa, 0xd0, 0xba, 0x80, 0xdf, 0xd1, 0xfe, 0xc7, 0x0a, 0xdb, 0xfd, 0xe3, 0x09,
+ 0x3e, 0x2e, 0x62, 0xee, 0x4d, 0x42, 0xc1, 0x97, 0x96, 0x29, 0x10, 0x24, 0x0a, 0x4b, 0xf3, 0xb8,
+ 0xe0, 0x57, 0xd5, 0xba, 0x2a, 0x74, 0x5d, 0x57, 0xef, 0x81, 0x91, 0xaa, 0x1f, 0xb7, 0x1a, 0xde,
+ 0xee, 0xd5, 0x1c, 0xb3, 0xe0, 0x7c, 0x5a, 0x84, 0x75, 0x3c, 0xf4, 0x94, 0xb8, 0x1e, 0xd3, 0x6f,
+ 0x98, 0x82, 0xe4, 0xf5, 0x98, 0xf4, 0xe2, 0x3d, 0xbf, 0x19, 0x93, 0x4d, 0x50, 0x50, 0xec, 0x39,
+ 0x41, 0x41, 0x56, 0x13, 0x1b, 0x38, 0x7e, 0x4d, 0xec, 0x7d, 0x30, 0x26, 0x7f, 0x32, 0xf5, 0xa8,
+ 0x74, 0x9a, 0xb5, 0x5e, 0x99, 0xc1, 0x37, 0xf4, 0x42, 0x6c, 0xe2, 0xa6, 0x93, 0x76, 0xb0, 0xd7,
+ 0x49, 0x7b, 0x09, 0x60, 0x33, 0x6c, 0x07, 0x55, 0x2f, 0xda, 0x5d, 0x9a, 0x17, 0xc1, 0xb4, 0x4a,
+ 0xf1, 0x9b, 0x55, 0x25, 0x58, 0xc3, 0xd2, 0x27, 0xfa, 0xf0, 0x5d, 0x26, 0xfa, 0x87, 0x60, 0x98,
+ 0x05, 0x1e, 0x93, 0xea, 0x4c, 0x22, 0xa2, 0x9f, 0x0e, 0x12, 0xcd, 0x99, 0xc6, 0x43, 0x4a, 0x22,
+ 0x38, 0xa5, 0x87, 0x3e, 0x0c, 0xb0, 0xe5, 0x07, 0x7e, 0x5c, 0x67, 0xd4, 0x47, 0x0e, 0x4c, 0x5d,
+ 0xf5, 0x73, 0x41, 0x51, 0xc1, 0x1a, 0x45, 0xf4, 0x12, 0x9c, 0x24, 0x71, 0xe2, 0x37, 0xbd, 0x84,
+ 0x54, 0xd5, 0x85, 0xd2, 0x12, 0xb3, 0x65, 0xaa, 0xd0, 0xef, 0xcb, 0x59, 0x84, 0x3b, 0x79, 0x40,
+ 0xdc, 0x49, 0xc8, 0x58, 0x91, 0x93, 0x07, 0x59, 0x91, 0xe8, 0x7f, 0x3a, 0x70, 0x32, 0x22, 0x3c,
+ 0x24, 0x26, 0x56, 0x0d, 0x3b, 0xc3, 0xc4, 0x71, 0xc5, 0x46, 0x0e, 0x78, 0x95, 0xec, 0x05, 0x67,
+ 0xb9, 0x70, 0xc5, 0x85, 0xc8, 0xde, 0x77, 0x94, 0xdf, 0xc9, 0x03, 0xbe, 0xf9, 0xf6, 0xd4, 0x54,
+ 0xe7, 0x5b, 0x04, 0x8a, 0x38, 0x5d, 0x79, 0x7f, 0xf3, 0xed, 0xa9, 0x09, 0xf9, 0x3b, 0x1d, 0xb4,
+ 0x8e, 0x4e, 0xd2, 0x6d, 0xb5, 0x15, 0x56, 0x97, 0xd6, 0x45, 0x98, 0x9a, 0xda, 0x56, 0xd7, 0x29,
+ 0x10, 0xf3, 0x32, 0xf4, 0x04, 0x0c, 0x55, 0x3d, 0xd2, 0x0c, 0x03, 0x95, 0xcd, 0x97, 0x69, 0xf3,
+ 0xf3, 0x02, 0x86, 0x55, 0x29, 0x3d, 0x43, 0x04, 0x62, 0x4b, 0x29, 0x9d, 0xb7, 0x75, 0x86, 0x90,
+ 0x9b, 0x14, 0xe7, 0x2a, 0x7f, 0x61, 0xc5, 0x09, 0x35, 0x60, 0xc0, 0x67, 0x86, 0x0a, 0x11, 0x09,
+ 0x6b, 0xc1, 0x3a, 0xc2, 0x0d, 0x1f, 0x32, 0x0e, 0x96, 0x89, 0x7e, 0xc1, 0x43, 0xdf, 0x6b, 0x4e,
+ 0x1c, 0xcf, 0x5e, 0xf3, 0x04, 0x0c, 0x55, 0xea, 0x7e, 0xa3, 0x1a, 0x91, 0xa0, 0x34, 0xc1, 0x4e,
+ 0xec, 0x6c, 0x24, 0xe6, 0x04, 0x0c, 0xab, 0x52, 0xf4, 0x57, 0x60, 0x2c, 0x6c, 0x27, 0x4c, 0xb4,
+ 0xd0, 0x71, 0x8a, 0x4b, 0x27, 0x19, 0x3a, 0x8b, 0x6b, 0x5a, 0xd3, 0x0b, 0xb0, 0x89, 0x47, 0x45,
+ 0x7c, 0x3d, 0x8c, 0x59, 0x5e, 0x22, 0x26, 0xe2, 0xcf, 0x9a, 0x22, 0xfe, 0x8a, 0x56, 0x86, 0x0d,
+ 0x4c, 0xf4, 0x35, 0x07, 0x4e, 0x36, 0xb3, 0x07, 0xb8, 0xd2, 0x39, 0x36, 0x32, 0x65, 0x1b, 0x8a,
+ 0x7e, 0x86, 0x34, 0x8f, 0x48, 0xef, 0x00, 0xe3, 0xce, 0x46, 0xb0, 0x0c, 0x61, 0xf1, 0x6e, 0x50,
+ 0xa9, 0x47, 0x61, 0x60, 0x36, 0xef, 0x41, 0x5b, 0xf7, 0xe2, 0xd8, 0xda, 0xce, 0x63, 0x31, 0xfb,
+ 0xe0, 0xed, 0xbd, 0xa9, 0x33, 0xb9, 0x45, 0x38, 0xbf, 0x51, 0x93, 0xf3, 0x70, 0x36, 0x5f, 0x3e,
+ 0xdc, 0xed, 0xc4, 0xd1, 0xa7, 0x9f, 0x38, 0x16, 0xe0, 0xc1, 0xae, 0x8d, 0xa2, 0x3b, 0x8d, 0xd4,
+ 0x36, 0x1d, 0x73, 0xa7, 0xe9, 0xd0, 0x0e, 0xc7, 0x61, 0x54, 0x7f, 0xbc, 0xc2, 0xfd, 0x3f, 0x7d,
+ 0x00, 0xa9, 0x9d, 0x1c, 0x79, 0x30, 0xce, 0x6d, 0xf2, 0x4b, 0xf3, 0x87, 0xbe, 0xd1, 0x3f, 0x67,
+ 0x10, 0xc0, 0x19, 0x82, 0xa8, 0x09, 0x88, 0x43, 0xf8, 0xef, 0xc3, 0xf8, 0x56, 0x99, 0x2b, 0x72,
+ 0xae, 0x83, 0x08, 0xce, 0x21, 0x4c, 0x7b, 0x94, 0x84, 0xdb, 0x24, 0xb8, 0x86, 0x57, 0x0e, 0x93,
+ 0x16, 0x82, 0x7b, 0xe3, 0x0c, 0x02, 0x38, 0x43, 0x10, 0xb9, 0x30, 0xc0, 0x6c, 0x33, 0x32, 0x76,
+ 0x9c, 0x89, 0x17, 0xa6, 0x69, 0xc4, 0x58, 0x94, 0xa0, 0xaf, 0x38, 0x30, 0x2e, 0xb3, 0x5b, 0x30,
+ 0x6b, 0xa8, 0x8c, 0x1a, 0xbf, 0x66, 0xcb, 0xcf, 0x71, 0x59, 0xa7, 0x9e, 0xc6, 0x64, 0x1a, 0xe0,
+ 0x18, 0x67, 0x1a, 0xe1, 0xbe, 0x00, 0xa7, 0x72, 0xaa, 0x5b, 0x39, 0xd1, 0x7e, 0xd7, 0x81, 0x11,
+ 0x2d, 0xe9, 0x22, 0x7a, 0x1d, 0x86, 0xc3, 0xb2, 0xf5, 0x40, 0xc0, 0xb5, 0x72, 0x47, 0x20, 0xa0,
+ 0x02, 0xe1, 0x94, 0x61, 0x2f, 0xf1, 0x8b, 0xb9, 0x19, 0x22, 0xef, 0x73, 0xb3, 0x0f, 0x1c, 0xbf,
+ 0xf8, 0x2b, 0x45, 0x48, 0x29, 0x1d, 0x30, 0xeb, 0x4a, 0x1a, 0xed, 0x58, 0xd8, 0x37, 0xda, 0xb1,
+ 0x0a, 0x27, 0x3c, 0xe6, 0x4b, 0x3e, 0x64, 0xae, 0x15, 0x9e, 0x73, 0xd7, 0xa4, 0x80, 0xb3, 0x24,
+ 0x29, 0x97, 0x38, 0xad, 0xca, 0xb8, 0xf4, 0x1f, 0x98, 0x4b, 0xd9, 0xa4, 0x80, 0xb3, 0x24, 0xd1,
+ 0x4b, 0x50, 0xaa, 0xb0, 0xbb, 0xc3, 0xbc, 0x8f, 0x4b, 0x5b, 0x57, 0xc3, 0x64, 0x3d, 0x22, 0x31,
+ 0x09, 0x12, 0x91, 0x55, 0xed, 0x11, 0x31, 0x0a, 0xa5, 0xb9, 0x2e, 0x78, 0xb8, 0x2b, 0x05, 0x7a,
+ 0x4c, 0x61, 0xce, 0x68, 0x3f, 0xd9, 0x65, 0x42, 0x44, 0x78, 0xe9, 0xd5, 0x31, 0xa5, 0xac, 0x17,
+ 0x62, 0x13, 0x17, 0xfd, 0xb2, 0x03, 0x63, 0x0d, 0x69, 0xae, 0xc7, 0xed, 0x86, 0x4c, 0x11, 0x8a,
+ 0xad, 0x4c, 0xbf, 0x15, 0x9d, 0x32, 0xd7, 0x25, 0x0c, 0x10, 0x36, 0x79, 0x67, 0x13, 0xdf, 0x0c,
+ 0xf5, 0x98, 0xf8, 0xe6, 0x07, 0x0e, 0x4c, 0x64, 0xb9, 0xa1, 0x6d, 0x78, 0xb8, 0xe9, 0x45, 0xdb,
+ 0x4b, 0xc1, 0x56, 0xc4, 0xee, 0x88, 0x24, 0x7c, 0x32, 0xcc, 0x6c, 0x25, 0x24, 0x9a, 0xf7, 0x76,
+ 0xb9, 0xfb, 0xb3, 0xa8, 0xde, 0x98, 0x7a, 0x78, 0x75, 0x3f, 0x64, 0xbc, 0x3f, 0x2d, 0x54, 0x86,
+ 0x33, 0x14, 0x81, 0xe5, 0xc5, 0xf3, 0xc3, 0x20, 0x65, 0x52, 0x60, 0x4c, 0x54, 0x9c, 0xe2, 0x6a,
+ 0x1e, 0x12, 0xce, 0xaf, 0xeb, 0x5e, 0x86, 0x01, 0x7e, 0x65, 0xef, 0x9e, 0xfc, 0x47, 0xee, 0xbf,
+ 0x29, 0x80, 0x54, 0x0c, 0xff, 0x72, 0xbb, 0xe3, 0xe8, 0x26, 0x1a, 0x31, 0x93, 0x92, 0xb0, 0x76,
+ 0xb0, 0x4d, 0x54, 0x64, 0xa0, 0x14, 0x25, 0x54, 0x63, 0x26, 0xb7, 0xfc, 0x64, 0x2e, 0xac, 0x4a,
+ 0x1b, 0x07, 0xd3, 0x98, 0x2f, 0x0b, 0x18, 0x56, 0xa5, 0xee, 0xa7, 0x1c, 0x18, 0xa3, 0xbd, 0x6c,
+ 0x34, 0x48, 0xa3, 0x9c, 0x90, 0x56, 0x8c, 0x62, 0x28, 0xc6, 0xf4, 0x1f, 0x7b, 0xa6, 0xc0, 0xf4,
+ 0x9a, 0x27, 0x69, 0x69, 0xce, 0x1a, 0xca, 0x04, 0x73, 0x5e, 0xee, 0x5b, 0x7d, 0x30, 0xac, 0x06,
+ 0xbb, 0x07, 0x7b, 0xea, 0xa5, 0x34, 0x39, 0x2c, 0x97, 0xc0, 0x25, 0x2d, 0x31, 0xec, 0x1d, 0x3a,
+ 0x74, 0xc1, 0x2e, 0xcf, 0x92, 0x91, 0x66, 0x89, 0x7d, 0xca, 0x74, 0x35, 0x9f, 0xd5, 0xe7, 0x9f,
+ 0x86, 0x2f, 0x7c, 0xce, 0xb7, 0x74, 0x4f, 0x7f, 0xbf, 0xad, 0xdd, 0x4c, 0xb9, 0x31, 0xbb, 0xbb,
+ 0xf8, 0x33, 0xef, 0x06, 0x15, 0x7b, 0x7a, 0x37, 0xe8, 0x49, 0xe8, 0x27, 0x41, 0xbb, 0xc9, 0x54,
+ 0xa5, 0x61, 0x76, 0x44, 0xe8, 0xbf, 0x1c, 0xb4, 0x9b, 0x66, 0xcf, 0x18, 0x0a, 0x7a, 0x3f, 0x8c,
+ 0x54, 0x49, 0x5c, 0x89, 0x7c, 0x96, 0xfa, 0x41, 0x58, 0x76, 0x1e, 0x62, 0xe6, 0xb2, 0x14, 0x6c,
+ 0x56, 0xd4, 0x2b, 0xb8, 0xaf, 0xc2, 0xc0, 0x7a, 0xa3, 0x5d, 0xf3, 0x03, 0xd4, 0x82, 0x01, 0x9e,
+ 0x08, 0x42, 0xec, 0xf6, 0x16, 0xce, 0x9d, 0x5c, 0x54, 0x68, 0x51, 0x28, 0xfc, 0xb6, 0xaf, 0xe0,
+ 0xe3, 0x7e, 0xb2, 0x00, 0xf4, 0x68, 0xbe, 0x38, 0x87, 0xfe, 0x7a, 0xc7, 0x33, 0x39, 0x3f, 0x97,
+ 0xf3, 0x4c, 0xce, 0x18, 0x43, 0xce, 0x79, 0x21, 0xa7, 0x01, 0x63, 0xcc, 0x39, 0x22, 0xf7, 0x40,
+ 0xa1, 0x56, 0x3f, 0xd3, 0x63, 0xee, 0x04, 0xbd, 0xaa, 0xd8, 0x11, 0x74, 0x10, 0x36, 0x89, 0xa3,
+ 0x55, 0x38, 0xc5, 0x73, 0x8c, 0xce, 0x93, 0x86, 0xb7, 0x9b, 0xc9, 0x25, 0x76, 0x5e, 0xbe, 0x7c,
+ 0x36, 0xdf, 0x89, 0x82, 0xf3, 0xea, 0xb9, 0xbf, 0xd7, 0x0f, 0x9a, 0x4b, 0xa2, 0x87, 0xd5, 0xf2,
+ 0x4a, 0xc6, 0x01, 0xb5, 0x6a, 0xc5, 0x01, 0x25, 0xbd, 0x3a, 0x5c, 0x02, 0x99, 0x3e, 0x27, 0xda,
+ 0xa8, 0x3a, 0x69, 0xb4, 0x44, 0x1f, 0x55, 0xa3, 0xae, 0x90, 0x46, 0x0b, 0xb3, 0x12, 0x75, 0xd7,
+ 0xb1, 0xbf, 0xeb, 0x5d, 0xc7, 0x3a, 0x14, 0x6b, 0x5e, 0xbb, 0x46, 0x44, 0x04, 0xa6, 0x05, 0x5f,
+ 0x23, 0xbb, 0x7d, 0xc1, 0x7d, 0x8d, 0xec, 0x5f, 0xcc, 0x19, 0xd0, 0xc5, 0x5e, 0x97, 0x21, 0x29,
+ 0xc2, 0x48, 0x6b, 0x61, 0xb1, 0xab, 0x28, 0x17, 0xbe, 0xd8, 0xd5, 0x4f, 0x9c, 0x32, 0x43, 0x2d,
+ 0x18, 0xac, 0xf0, 0x0c, 0x2e, 0x42, 0x67, 0x59, 0xb2, 0x71, 0x99, 0x93, 0x11, 0xe4, 0xd6, 0x14,
+ 0xf1, 0x03, 0x4b, 0x36, 0xee, 0x45, 0x18, 0xd1, 0x5e, 0xeb, 0xa0, 0x9f, 0x41, 0x25, 0x0f, 0xd1,
+ 0x3e, 0xc3, 0xbc, 0x97, 0x78, 0x98, 0x95, 0xb8, 0xdf, 0xea, 0x07, 0x65, 0x4b, 0xd3, 0xaf, 0x1e,
+ 0x7a, 0x15, 0x2d, 0xd5, 0x91, 0x71, 0x0d, 0x3f, 0x0c, 0xb0, 0x28, 0xa5, 0x7a, 0x5d, 0x93, 0x44,
+ 0x35, 0x75, 0x8e, 0x16, 0xe2, 0x5a, 0xe9, 0x75, 0xab, 0x7a, 0x21, 0x36, 0x71, 0xa9, 0x52, 0xde,
+ 0x14, 0x2e, 0xfa, 0x6c, 0x60, 0xb5, 0x74, 0xdd, 0x63, 0x85, 0xc1, 0x72, 0x25, 0x34, 0x35, 0x8f,
+ 0xbe, 0x08, 0xc4, 0xb4, 0xe1, 0x50, 0xd2, 0xa8, 0xf2, 0x80, 0x29, 0x1d, 0x82, 0x0d, 0xae, 0x68,
+ 0x11, 0x4e, 0xc6, 0x24, 0x59, 0xbb, 0x19, 0x90, 0x48, 0x65, 0x29, 0x10, 0xc9, 0x38, 0xd4, 0xc5,
+ 0x8c, 0x72, 0x16, 0x01, 0x77, 0xd6, 0xc9, 0x8d, 0x5d, 0x2d, 0x1e, 0x38, 0x76, 0x75, 0x1e, 0x26,
+ 0xb6, 0x3c, 0xbf, 0xd1, 0x8e, 0x48, 0xd7, 0x08, 0xd8, 0x85, 0x4c, 0x39, 0xee, 0xa8, 0xc1, 0xee,
+ 0x06, 0x35, 0xbc, 0x5a, 0x5c, 0x1a, 0xd4, 0xee, 0x06, 0x51, 0x00, 0xe6, 0x70, 0xf7, 0x37, 0x1d,
+ 0xe0, 0x59, 0x90, 0x66, 0xb6, 0xb6, 0xfc, 0xc0, 0x4f, 0x76, 0xd1, 0xd7, 0x1d, 0x98, 0x08, 0xc2,
+ 0x2a, 0x99, 0x09, 0x12, 0x5f, 0x02, 0xed, 0xa5, 0xa6, 0x67, 0xbc, 0xae, 0x66, 0xc8, 0xf3, 0x94,
+ 0x1a, 0x59, 0x28, 0xee, 0x68, 0x86, 0x7b, 0x0e, 0xce, 0xe4, 0x12, 0x70, 0x7f, 0xd0, 0x07, 0x66,
+ 0x32, 0x27, 0xf4, 0x3c, 0x14, 0x1b, 0x2c, 0xbd, 0x88, 0x73, 0xc8, 0x2c, 0x5d, 0x6c, 0xac, 0x78,
+ 0xfe, 0x11, 0x4e, 0x09, 0xcd, 0xc3, 0x08, 0xcb, 0x10, 0x25, 0x92, 0xbf, 0x14, 0x8c, 0xac, 0x0a,
+ 0x23, 0x38, 0x2d, 0xba, 0x63, 0xfe, 0xc4, 0x7a, 0x35, 0xf4, 0x1a, 0x0c, 0x6e, 0xf2, 0x3c, 0x99,
+ 0xf6, 0x7c, 0x7e, 0x22, 0xf1, 0x26, 0xd3, 0x8d, 0x64, 0x16, 0xce, 0x3b, 0xe9, 0xbf, 0x58, 0x72,
+ 0x44, 0xbb, 0x30, 0xe4, 0xc9, 0x6f, 0xda, 0x6f, 0xeb, 0xa2, 0x86, 0x31, 0x7f, 0x44, 0xc4, 0x8c,
+ 0xfc, 0x86, 0x8a, 0x5d, 0x26, 0xb4, 0xa8, 0xd8, 0x53, 0x68, 0xd1, 0x77, 0x1c, 0x80, 0xf4, 0x51,
+ 0x11, 0x74, 0x0b, 0x86, 0xe2, 0x67, 0x0c, 0x43, 0x85, 0x8d, 0x4b, 0xfe, 0x82, 0xa2, 0x76, 0x11,
+ 0x56, 0x40, 0xb0, 0xe2, 0x76, 0x37, 0xe3, 0xca, 0x4f, 0x1d, 0x38, 0x9d, 0xf7, 0xf8, 0xc9, 0x7d,
+ 0x6c, 0xf1, 0x41, 0xed, 0x2a, 0xa2, 0xc2, 0x7a, 0x44, 0xb6, 0xfc, 0x5b, 0x39, 0xd9, 0x9a, 0x79,
+ 0x01, 0x4e, 0x71, 0xdc, 0x3f, 0x1d, 0x04, 0xc5, 0xf8, 0x88, 0xec, 0x30, 0x8f, 0xd3, 0x33, 0x53,
+ 0x2d, 0xd5, 0xb9, 0x14, 0x1e, 0x66, 0x50, 0x2c, 0x4a, 0xe9, 0xb9, 0x49, 0x06, 0xc5, 0x0b, 0x91,
+ 0xcd, 0x66, 0xa1, 0x0c, 0x9e, 0xc7, 0xaa, 0x34, 0xcf, 0xb2, 0x53, 0x3c, 0x16, 0xcb, 0xce, 0x80,
+ 0x7d, 0xcb, 0x4e, 0x13, 0x50, 0xcc, 0x17, 0x0a, 0x33, 0xa7, 0x08, 0x46, 0xa3, 0x07, 0x36, 0x34,
+ 0x97, 0x3b, 0x88, 0xe0, 0x1c, 0xc2, 0x2c, 0x86, 0x22, 0x6c, 0x90, 0x19, 0x7c, 0x55, 0x1c, 0x3e,
+ 0xd2, 0x18, 0x0a, 0x0e, 0xc6, 0xb2, 0xfc, 0x90, 0xa6, 0x14, 0xf4, 0xdb, 0xce, 0x3e, 0xb6, 0xaa,
+ 0x61, 0x5b, 0x5b, 0x50, 0x6e, 0x26, 0x3d, 0x76, 0x92, 0x3a, 0x8c, 0x01, 0xec, 0x1b, 0x0e, 0x9c,
+ 0x24, 0x41, 0x25, 0xda, 0x65, 0x74, 0x04, 0x35, 0xe1, 0xe2, 0xbe, 0x66, 0x63, 0xad, 0x5f, 0xce,
+ 0x12, 0xe7, 0x9e, 0xa4, 0x0e, 0x30, 0xee, 0x6c, 0x06, 0x5a, 0x83, 0xa1, 0x8a, 0x27, 0xe6, 0xc5,
+ 0xc8, 0x41, 0xe6, 0x05, 0x77, 0xd4, 0xcd, 0x88, 0xd9, 0xa0, 0x88, 0xb8, 0x3f, 0x2e, 0xc0, 0xa9,
+ 0x9c, 0x26, 0xb1, 0xfb, 0x5a, 0x4d, 0xba, 0x00, 0x96, 0xaa, 0xd9, 0xe5, 0xbf, 0x2c, 0xe0, 0x58,
+ 0x61, 0xa0, 0x75, 0x38, 0xbd, 0xdd, 0x8c, 0x53, 0x2a, 0x73, 0x61, 0x90, 0x90, 0x5b, 0x52, 0x18,
+ 0x48, 0xf7, 0xf7, 0xe9, 0xe5, 0x1c, 0x1c, 0x9c, 0x5b, 0x93, 0x6a, 0x4b, 0x24, 0xf0, 0x36, 0x1b,
+ 0x24, 0x2d, 0x12, 0xb7, 0x18, 0x95, 0xb6, 0x74, 0x39, 0x53, 0x8e, 0x3b, 0x6a, 0xa0, 0xcf, 0x39,
+ 0x70, 0x3e, 0x26, 0xd1, 0x0e, 0x89, 0xca, 0x7e, 0x95, 0xcc, 0xb5, 0xe3, 0x24, 0x6c, 0x92, 0xe8,
+ 0x90, 0xd6, 0xd9, 0xa9, 0xdb, 0x7b, 0x53, 0xe7, 0xcb, 0xdd, 0xa9, 0xe1, 0xfd, 0x58, 0xb9, 0x9f,
+ 0x73, 0x60, 0xbc, 0xcc, 0xce, 0xee, 0x4a, 0x75, 0xb7, 0x9d, 0x4b, 0xf5, 0x71, 0x95, 0xba, 0x23,
+ 0x23, 0x84, 0xcd, 0x64, 0x1b, 0xee, 0xcb, 0x30, 0x51, 0x26, 0x4d, 0xaf, 0x55, 0x67, 0xb7, 0x98,
+ 0x79, 0xf8, 0xd7, 0x45, 0x18, 0x8e, 0x25, 0x2c, 0xfb, 0x7c, 0x92, 0x42, 0xc6, 0x29, 0x0e, 0x7a,
+ 0x8c, 0x87, 0xaa, 0xc9, 0x0b, 0x47, 0xc3, 0xfc, 0x90, 0xc3, 0xe3, 0xdb, 0x62, 0x2c, 0xcb, 0xdc,
+ 0xb7, 0x1c, 0x18, 0x4d, 0xeb, 0x93, 0x2d, 0x54, 0x83, 0x13, 0x15, 0xed, 0xb2, 0x5e, 0x7a, 0x4d,
+ 0xa2, 0xf7, 0x7b, 0x7d, 0x3c, 0xc5, 0xb3, 0x49, 0x04, 0x67, 0xa9, 0x1e, 0x3c, 0xd2, 0xef, 0x8b,
+ 0x05, 0x38, 0xa1, 0x9a, 0x2a, 0xfc, 0x94, 0x6f, 0x64, 0x03, 0xf2, 0xb0, 0x8d, 0x24, 0x44, 0xe6,
+ 0xd8, 0xef, 0x13, 0x94, 0xf7, 0x46, 0x36, 0x28, 0xef, 0x48, 0xd9, 0x77, 0xb8, 0x5e, 0xbf, 0x53,
+ 0x80, 0x21, 0x95, 0x12, 0xe9, 0x79, 0x28, 0xb2, 0x93, 0xeb, 0xbd, 0xe9, 0xdf, 0xec, 0x14, 0x8c,
+ 0x39, 0x25, 0x4a, 0x92, 0x05, 0xfd, 0x1c, 0x3a, 0xf1, 0xee, 0x30, 0xb7, 0x5f, 0x7a, 0x51, 0x82,
+ 0x39, 0x25, 0xb4, 0x0c, 0x7d, 0x24, 0xa8, 0x0a, 0x45, 0xfc, 0xe0, 0x04, 0xd9, 0x43, 0x67, 0x97,
+ 0x83, 0x2a, 0xa6, 0x54, 0x58, 0x5e, 0x36, 0xae, 0x6f, 0x65, 0x9e, 0xb5, 0x11, 0xca, 0x96, 0x28,
+ 0x75, 0x67, 0xc1, 0xc8, 0xd9, 0x77, 0xa8, 0x9b, 0x11, 0xbf, 0xdc, 0x07, 0x03, 0xe5, 0xf6, 0x26,
+ 0x3d, 0x96, 0x7c, 0xdb, 0x81, 0x53, 0x37, 0x33, 0x99, 0xad, 0xd3, 0x75, 0x72, 0xcd, 0x9e, 0x1d,
+ 0x58, 0x0f, 0x5e, 0x53, 0xd6, 0xaf, 0x9c, 0x42, 0x9c, 0xd7, 0x1c, 0x23, 0xb9, 0x6c, 0xdf, 0x91,
+ 0x24, 0x97, 0xbd, 0x75, 0xc4, 0xb7, 0x37, 0xc6, 0xba, 0xdd, 0xdc, 0x70, 0x7f, 0xaf, 0x08, 0xc0,
+ 0xbf, 0xc6, 0x5a, 0x2b, 0xe9, 0xc5, 0xb2, 0xf7, 0x2c, 0x8c, 0xd6, 0x48, 0x40, 0x22, 0x19, 0x9a,
+ 0x98, 0x79, 0x75, 0x69, 0x51, 0x2b, 0xc3, 0x06, 0x26, 0x9b, 0x2c, 0x41, 0x12, 0xed, 0x72, 0x55,
+ 0x3b, 0x7b, 0x43, 0x43, 0x95, 0x60, 0x0d, 0x0b, 0x4d, 0x1b, 0x8e, 0x17, 0xee, 0xc3, 0x1f, 0xdf,
+ 0xc7, 0x4f, 0xf2, 0x7e, 0x18, 0x37, 0x33, 0xb1, 0x08, 0x85, 0x4f, 0xf9, 0xdc, 0xcd, 0x04, 0x2e,
+ 0x38, 0x83, 0x4d, 0x17, 0x42, 0x35, 0xda, 0xc5, 0xed, 0x40, 0x68, 0x7e, 0x6a, 0x21, 0xcc, 0x33,
+ 0x28, 0x16, 0xa5, 0x2c, 0x85, 0x05, 0xdb, 0x03, 0x39, 0x5c, 0xa4, 0xc1, 0x48, 0x53, 0x58, 0x68,
+ 0x65, 0xd8, 0xc0, 0xa4, 0x1c, 0x84, 0x65, 0x14, 0xcc, 0xa5, 0x96, 0x31, 0x67, 0xb6, 0x60, 0x3c,
+ 0x34, 0x2d, 0x3a, 0x5c, 0x0d, 0x7a, 0x77, 0x8f, 0x53, 0xcf, 0xa8, 0xcb, 0x63, 0x25, 0x32, 0x06,
+ 0xa0, 0x0c, 0x7d, 0xaa, 0xfa, 0xea, 0x17, 0x19, 0x46, 0xcd, 0xc8, 0xd6, 0xae, 0x77, 0x0d, 0xd6,
+ 0xe1, 0x74, 0x2b, 0xac, 0xae, 0x47, 0x7e, 0x18, 0xf9, 0xc9, 0xee, 0x5c, 0xc3, 0x8b, 0x63, 0x36,
+ 0x31, 0xc6, 0x4c, 0x95, 0x68, 0x3d, 0x07, 0x07, 0xe7, 0xd6, 0xa4, 0x67, 0xa2, 0x96, 0x00, 0xb2,
+ 0xf8, 0xb2, 0x22, 0x57, 0xea, 0x24, 0x22, 0x56, 0xa5, 0xee, 0x29, 0x38, 0x59, 0x6e, 0xb7, 0x5a,
+ 0x0d, 0x9f, 0x54, 0x95, 0x63, 0xc3, 0xfd, 0x00, 0x9c, 0x10, 0xa9, 0x67, 0x95, 0x02, 0x72, 0xa0,
+ 0x44, 0xe9, 0xee, 0x7f, 0xec, 0x83, 0x13, 0x99, 0x68, 0x1e, 0xf4, 0x5a, 0x56, 0x6d, 0xb0, 0x93,
+ 0x12, 0x55, 0x53, 0x18, 0x44, 0x7e, 0xd3, 0x3c, 0x15, 0xa4, 0x2e, 0x43, 0xf1, 0xad, 0x5d, 0x81,
+ 0x61, 0x01, 0xeb, 0x7c, 0x57, 0x31, 0xe2, 0xf9, 0x3f, 0x06, 0xa0, 0xd8, 0xca, 0x5b, 0xf7, 0xb6,
+ 0xfb, 0xc9, 0xd6, 0xaf, 0x82, 0xc4, 0x58, 0xe3, 0x88, 0x02, 0x18, 0x64, 0x0d, 0x21, 0xf2, 0xde,
+ 0xa5, 0xb5, 0xbe, 0x32, 0xad, 0x6d, 0x95, 0xd3, 0xc6, 0x92, 0x89, 0xfb, 0xd9, 0x02, 0xe4, 0x87,
+ 0x8c, 0xa1, 0x8f, 0x75, 0x7e, 0xf0, 0xe7, 0x2d, 0x0e, 0x84, 0x88, 0x59, 0xeb, 0xfe, 0xcd, 0x03,
+ 0xf3, 0x9b, 0xaf, 0x5a, 0x1a, 0x07, 0xc1, 0xb7, 0xe3, 0xcb, 0xbb, 0xff, 0xc3, 0x81, 0x91, 0x8d,
+ 0x8d, 0x15, 0xb5, 0xb5, 0x63, 0x38, 0x1b, 0xf3, 0x94, 0x06, 0xcc, 0xb3, 0x3e, 0x17, 0x36, 0x5b,
+ 0xdc, 0xd1, 0x2e, 0x02, 0x00, 0x58, 0xd6, 0xe3, 0x72, 0x2e, 0x06, 0xee, 0x52, 0x13, 0x2d, 0xc1,
+ 0x29, 0xbd, 0xa4, 0xac, 0x3d, 0x32, 0x59, 0x14, 0x19, 0x8e, 0x3a, 0x8b, 0x71, 0x5e, 0x9d, 0x2c,
+ 0x29, 0x61, 0x50, 0x66, 0xdb, 0x73, 0x0e, 0x29, 0x51, 0x8c, 0xf3, 0xea, 0xb8, 0x6b, 0x30, 0xb2,
+ 0xe1, 0x45, 0xaa, 0xe3, 0x1f, 0x84, 0x89, 0x4a, 0xd8, 0x94, 0xea, 0xca, 0x0a, 0xd9, 0x21, 0x0d,
+ 0xd1, 0x65, 0xfe, 0xb2, 0x4b, 0xa6, 0x0c, 0x77, 0x60, 0xbb, 0xff, 0xf5, 0x02, 0xa8, 0x2b, 0x9a,
+ 0x3d, 0xec, 0xa8, 0x2d, 0x15, 0x4c, 0x5b, 0xb4, 0x1c, 0x4c, 0xab, 0xf6, 0x96, 0x4c, 0x40, 0x6d,
+ 0x92, 0x06, 0xd4, 0x0e, 0xd8, 0x0e, 0xa8, 0x55, 0x4a, 0x76, 0x47, 0x50, 0xed, 0x57, 0x1d, 0x18,
+ 0x0d, 0xc2, 0x2a, 0x51, 0x1e, 0xd0, 0x41, 0xb6, 0xc2, 0x5f, 0xb2, 0x77, 0x37, 0x81, 0x07, 0x87,
+ 0x0a, 0xf2, 0x3c, 0xd0, 0x5b, 0x6d, 0xc9, 0x7a, 0x11, 0x36, 0xda, 0x81, 0x16, 0x34, 0xd3, 0x32,
+ 0xf7, 0xe0, 0x3c, 0x94, 0x77, 0x44, 0xbb, 0xab, 0x9d, 0xf8, 0x96, 0xa6, 0x27, 0x0e, 0xdb, 0x32,
+ 0x99, 0xca, 0x7b, 0x77, 0x9a, 0x23, 0x4a, 0x26, 0xee, 0x4e, 0xf5, 0x47, 0x17, 0x06, 0x78, 0x44,
+ 0xb8, 0xc8, 0xa5, 0xc5, 0xfc, 0xa3, 0x3c, 0x5a, 0x1c, 0x8b, 0x12, 0x94, 0xc8, 0x28, 0x8b, 0x11,
+ 0x5b, 0xcf, 0x70, 0x18, 0x51, 0x1c, 0xf9, 0x61, 0x16, 0xe8, 0x39, 0xfd, 0xe8, 0x3f, 0xda, 0xcb,
+ 0xd1, 0x7f, 0xac, 0xeb, 0xb1, 0xff, 0x0b, 0x0e, 0x8c, 0x56, 0xb4, 0x67, 0x31, 0x4a, 0x4f, 0xd8,
+ 0x7a, 0xfe, 0x3b, 0xef, 0xf5, 0x12, 0xee, 0x76, 0x33, 0x9e, 0xe1, 0x30, 0xb8, 0xb3, 0x04, 0xa2,
+ 0xcc, 0xce, 0xc1, 0x54, 0x1d, 0x2b, 0x89, 0x39, 0x4c, 0xbb, 0x89, 0x8c, 0x56, 0xa5, 0x30, 0x2c,
+ 0x78, 0xa1, 0xd7, 0x61, 0x48, 0x5e, 0x2a, 0x10, 0xc1, 0xf7, 0xd8, 0x86, 0x1f, 0xc4, 0x74, 0xb6,
+ 0xca, 0xac, 0x83, 0x1c, 0x8a, 0x15, 0x47, 0x54, 0x87, 0xbe, 0xaa, 0x57, 0x13, 0x61, 0xf8, 0xab,
+ 0x76, 0xb2, 0xba, 0x4a, 0x9e, 0xec, 0x48, 0x3a, 0x3f, 0xb3, 0x88, 0x29, 0x0b, 0x74, 0x2b, 0x7d,
+ 0x57, 0x60, 0xc2, 0xda, 0xee, 0x6b, 0xaa, 0x85, 0x5c, 0x27, 0xe8, 0x78, 0xa6, 0xa0, 0x2a, 0xfc,
+ 0xd3, 0xff, 0x1f, 0x63, 0xbb, 0x60, 0x27, 0x2d, 0x2c, 0x4f, 0xf4, 0x92, 0xfa, 0xb8, 0x29, 0x97,
+ 0x7a, 0x92, 0xb4, 0x4a, 0x3f, 0x6f, 0x8b, 0x0b, 0x4b, 0x57, 0xc2, 0x5f, 0x6a, 0xdf, 0xd8, 0x58,
+ 0xc7, 0x8c, 0x3a, 0x6a, 0xc0, 0x40, 0x8b, 0x85, 0xce, 0x94, 0xde, 0x69, 0x6b, 0x6f, 0xe1, 0xa1,
+ 0x38, 0x7c, 0x6e, 0xf2, 0xff, 0xb1, 0xe0, 0x81, 0x2e, 0xc3, 0x20, 0x7f, 0x1e, 0x87, 0x5f, 0x83,
+ 0x18, 0xb9, 0x34, 0xd9, 0xfd, 0x91, 0x9d, 0x74, 0xa3, 0xe0, 0xbf, 0x63, 0x2c, 0xeb, 0xa2, 0x2f,
+ 0x3a, 0x30, 0x4e, 0x25, 0x6a, 0xfa, 0x9e, 0x4f, 0x09, 0xd9, 0x92, 0x59, 0xd7, 0x62, 0xaa, 0x91,
+ 0x48, 0x59, 0xa3, 0x8e, 0x85, 0x4b, 0x06, 0x3b, 0x9c, 0x61, 0x8f, 0xde, 0x80, 0xa1, 0xd8, 0xaf,
+ 0x92, 0x8a, 0x17, 0xc5, 0xa5, 0x53, 0x47, 0xd3, 0x94, 0xd4, 0x23, 0x26, 0x18, 0x61, 0xc5, 0x12,
+ 0xfd, 0x1a, 0x7b, 0x50, 0xb5, 0x52, 0xf7, 0x77, 0xc8, 0x4a, 0x58, 0xe1, 0xc7, 0x98, 0xd3, 0xb6,
+ 0xd6, 0xbe, 0xf4, 0xfd, 0x49, 0xca, 0xc2, 0x51, 0x64, 0xb2, 0xc3, 0x59, 0xfe, 0xe8, 0x6f, 0x38,
+ 0x70, 0x86, 0x3f, 0x7c, 0x90, 0x7d, 0xcb, 0xe3, 0xcc, 0x21, 0x4d, 0x52, 0xec, 0xfe, 0xc6, 0x4c,
+ 0x1e, 0x49, 0x9c, 0xcf, 0x89, 0xa5, 0x29, 0x36, 0x9f, 0x5f, 0x3a, 0x6b, 0xd5, 0x33, 0xdc, 0xfb,
+ 0x93, 0x4b, 0xe8, 0x69, 0x18, 0x69, 0x89, 0xed, 0xd0, 0x8f, 0x9b, 0xec, 0x36, 0x4e, 0x1f, 0xbf,
+ 0x27, 0xb9, 0x9e, 0x82, 0xb1, 0x8e, 0x63, 0xe4, 0xac, 0x7e, 0x72, 0xbf, 0x9c, 0xd5, 0xe8, 0x1a,
+ 0x8c, 0x24, 0x61, 0x43, 0xa4, 0x6d, 0x8d, 0x4b, 0x25, 0x36, 0x03, 0x2f, 0xe4, 0xad, 0xad, 0x0d,
+ 0x85, 0x96, 0x9e, 0xdc, 0x53, 0x58, 0x8c, 0x75, 0x3a, 0x2c, 0x02, 0x5a, 0x3c, 0x28, 0x11, 0xb1,
+ 0x23, 0xfb, 0x83, 0x99, 0x08, 0x68, 0xbd, 0x10, 0x9b, 0xb8, 0x68, 0x11, 0x4e, 0xb6, 0x3a, 0xce,
+ 0xfc, 0xfc, 0x16, 0xa0, 0x0a, 0x3a, 0xe9, 0x3c, 0xf0, 0x77, 0xd6, 0x31, 0x4e, 0xfb, 0xe7, 0xf7,
+ 0x3b, 0xed, 0x77, 0xc9, 0xe0, 0xfc, 0xd0, 0x61, 0x32, 0x38, 0xa3, 0x2a, 0x3c, 0xe4, 0xb5, 0x93,
+ 0x90, 0xa5, 0xe4, 0x31, 0xab, 0xf0, 0x60, 0xf0, 0x47, 0x78, 0x7c, 0xf9, 0xed, 0xbd, 0xa9, 0x87,
+ 0x66, 0xf6, 0xc1, 0xc3, 0xfb, 0x52, 0x41, 0xaf, 0xc2, 0x10, 0x11, 0x59, 0xa8, 0x4b, 0x3f, 0x67,
+ 0x4b, 0x49, 0x30, 0xf3, 0x5a, 0xcb, 0x38, 0x5b, 0x0e, 0xc3, 0x8a, 0x1f, 0xda, 0x80, 0x91, 0x7a,
+ 0x18, 0x27, 0x33, 0x0d, 0xdf, 0x8b, 0x49, 0x5c, 0x7a, 0x98, 0x4d, 0x9a, 0x5c, 0xdd, 0xeb, 0x8a,
+ 0x44, 0x4b, 0xe7, 0xcc, 0x95, 0xb4, 0x26, 0xd6, 0xc9, 0x20, 0xc2, 0xfc, 0xc3, 0x2c, 0x12, 0x5e,
+ 0xfa, 0xbe, 0x2e, 0xb0, 0x8e, 0x3d, 0x9e, 0x47, 0x79, 0x3d, 0xac, 0x96, 0x4d, 0x6c, 0xe5, 0x20,
+ 0xd6, 0x81, 0x38, 0x4b, 0x13, 0x3d, 0x0b, 0xa3, 0xad, 0xb0, 0x5a, 0x6e, 0x91, 0xca, 0xba, 0x97,
+ 0x54, 0xea, 0xa5, 0x29, 0xd3, 0xca, 0xb8, 0xae, 0x95, 0x61, 0x03, 0x13, 0xb5, 0x60, 0xb0, 0xc9,
+ 0x73, 0x35, 0x94, 0x1e, 0xb5, 0x75, 0xb6, 0x11, 0xc9, 0x1f, 0x84, 0x0d, 0x81, 0xff, 0xc0, 0x92,
+ 0x0d, 0xfa, 0xfb, 0x0e, 0x9c, 0xc8, 0xdc, 0x2f, 0x2b, 0xbd, 0xc3, 0x9a, 0xca, 0x62, 0x12, 0x9e,
+ 0x7d, 0x9c, 0x0d, 0x9f, 0x09, 0xbc, 0xd3, 0x09, 0xc2, 0xd9, 0x16, 0xf1, 0x71, 0x61, 0x09, 0x57,
+ 0x4a, 0x8f, 0xd9, 0x1b, 0x17, 0x46, 0x50, 0x8e, 0x0b, 0xfb, 0x81, 0x25, 0x1b, 0xf4, 0x24, 0x0c,
+ 0x8a, 0xdc, 0x88, 0xa5, 0xc7, 0x4d, 0xaf, 0xbb, 0x48, 0xa1, 0x88, 0x65, 0xf9, 0xe4, 0x07, 0xe0,
+ 0x64, 0xc7, 0xd1, 0xed, 0x40, 0x59, 0x3f, 0x7e, 0xc3, 0x01, 0xfd, 0x42, 0xba, 0xf5, 0xa7, 0x5f,
+ 0x9e, 0x85, 0xd1, 0x0a, 0x7f, 0x89, 0x93, 0x5f, 0x69, 0xef, 0x37, 0xed, 0xbd, 0x73, 0x5a, 0x19,
+ 0x36, 0x30, 0xdd, 0x2b, 0x80, 0x3a, 0xf3, 0xf2, 0x1f, 0xca, 0x71, 0xf2, 0x0f, 0x1d, 0x18, 0x33,
+ 0x74, 0x06, 0xeb, 0x7e, 0xd5, 0x05, 0x40, 0x4d, 0x3f, 0x8a, 0xc2, 0x48, 0x7f, 0xf2, 0x50, 0xa4,
+ 0x9d, 0x60, 0xf1, 0x16, 0xab, 0x1d, 0xa5, 0x38, 0xa7, 0x86, 0xfb, 0x8f, 0xfb, 0x21, 0x0d, 0x34,
+ 0x57, 0x59, 0x8b, 0x9d, 0xae, 0x59, 0x8b, 0x9f, 0x82, 0xa1, 0x97, 0xe3, 0x30, 0x58, 0x4f, 0x73,
+ 0x1b, 0xab, 0x6f, 0xf1, 0x5c, 0x79, 0xed, 0x2a, 0xc3, 0x54, 0x18, 0x0c, 0xfb, 0x95, 0x05, 0xbf,
+ 0x91, 0x74, 0x26, 0xbf, 0x7d, 0xee, 0x79, 0x0e, 0xc7, 0x0a, 0x83, 0xbd, 0x7e, 0xb8, 0x43, 0x94,
+ 0x23, 0x20, 0x7d, 0xfd, 0x90, 0x3f, 0xb9, 0xc1, 0xca, 0xd0, 0x45, 0x18, 0x56, 0x4e, 0x04, 0xe1,
+ 0x99, 0x50, 0x23, 0xa5, 0x3c, 0x0d, 0x38, 0xc5, 0x61, 0x0a, 0xa1, 0x30, 0x3c, 0x0b, 0x13, 0x4a,
+ 0xd9, 0xc6, 0xf1, 0x24, 0x63, 0xca, 0xe6, 0xb2, 0x5d, 0x82, 0xb1, 0x62, 0x99, 0xe7, 0x5b, 0x1e,
+ 0x3e, 0x12, 0xdf, 0xb2, 0x76, 0xeb, 0xa1, 0xd8, 0xeb, 0xad, 0x07, 0x73, 0x6e, 0x0f, 0xf5, 0x34,
+ 0xb7, 0x3f, 0xdd, 0x07, 0x83, 0xd7, 0x49, 0xc4, 0xd2, 0xc6, 0x3f, 0x09, 0x83, 0x3b, 0xfc, 0xdf,
+ 0xec, 0x95, 0x59, 0x81, 0x81, 0x65, 0x39, 0xfd, 0x6e, 0x9b, 0x6d, 0xbf, 0x51, 0x9d, 0x4f, 0x57,
+ 0x71, 0x9a, 0xd6, 0x51, 0x16, 0xe0, 0x14, 0x87, 0x56, 0xa8, 0x51, 0xcd, 0xbe, 0xd9, 0xf4, 0x3b,
+ 0x1e, 0xf6, 0x5f, 0x94, 0x05, 0x38, 0xc5, 0x41, 0x8f, 0xc3, 0x40, 0xcd, 0x4f, 0x36, 0xbc, 0x5a,
+ 0xd6, 0x33, 0xba, 0xc8, 0xa0, 0x58, 0x94, 0x32, 0xb7, 0x98, 0x9f, 0x6c, 0x44, 0x84, 0x59, 0x76,
+ 0x3b, 0x32, 0x76, 0x2c, 0x6a, 0x65, 0xd8, 0xc0, 0x64, 0x4d, 0x0a, 0x45, 0xcf, 0x44, 0x9c, 0x6c,
+ 0xda, 0x24, 0x59, 0x80, 0x53, 0x1c, 0x3a, 0xff, 0x2b, 0x61, 0xb3, 0xe5, 0x37, 0x44, 0x04, 0xb7,
+ 0x36, 0xff, 0xe7, 0x04, 0x1c, 0x2b, 0x0c, 0x8a, 0x4d, 0x45, 0x18, 0x15, 0x3f, 0xd9, 0x97, 0xe6,
+ 0xd6, 0x05, 0x1c, 0x2b, 0x0c, 0xf7, 0x3a, 0x8c, 0xf1, 0x95, 0x3c, 0xd7, 0xf0, 0xfc, 0xe6, 0xe2,
+ 0x1c, 0xba, 0xdc, 0x71, 0xeb, 0xe1, 0xc9, 0x9c, 0x5b, 0x0f, 0x67, 0x8c, 0x4a, 0x9d, 0xb7, 0x1f,
+ 0xdc, 0x1f, 0x16, 0x60, 0xe8, 0x18, 0x1f, 0xeb, 0x3c, 0xf6, 0x77, 0xa7, 0xd1, 0xad, 0xcc, 0x43,
+ 0x9d, 0xeb, 0x36, 0x2f, 0x31, 0xed, 0xfb, 0x48, 0xe7, 0x7f, 0x2a, 0xc0, 0x59, 0x89, 0x2a, 0xcf,
+ 0x72, 0x8b, 0x73, 0xec, 0x01, 0xb4, 0xa3, 0x1f, 0xe8, 0xc8, 0x18, 0xe8, 0x75, 0x7b, 0xa7, 0xd1,
+ 0xc5, 0xb9, 0xae, 0x43, 0xfd, 0x6a, 0x66, 0xa8, 0xb1, 0x55, 0xae, 0xfb, 0x0f, 0xf6, 0x9f, 0x3b,
+ 0x30, 0x99, 0x3f, 0xd8, 0xc7, 0xf0, 0x36, 0xea, 0x1b, 0xe6, 0xdb, 0xa8, 0xbf, 0x68, 0x6f, 0x8a,
+ 0x99, 0x5d, 0xe9, 0xf2, 0x4a, 0xea, 0x7f, 0x77, 0xe0, 0xb4, 0xac, 0xc0, 0x76, 0xcf, 0x59, 0x3f,
+ 0x60, 0xc1, 0x3b, 0x47, 0x3f, 0xcd, 0x5e, 0x37, 0xa6, 0xd9, 0x8b, 0xf6, 0x3a, 0xae, 0xf7, 0xa3,
+ 0xeb, 0x9b, 0xf2, 0x7f, 0xe6, 0x40, 0x29, 0xaf, 0xc2, 0x31, 0x7c, 0xf2, 0xd7, 0xcc, 0x4f, 0x7e,
+ 0xfd, 0x68, 0x7a, 0xde, 0xfd, 0x83, 0x97, 0xba, 0x0d, 0x14, 0x6a, 0x48, 0xbd, 0xca, 0xb1, 0xe5,
+ 0x93, 0xe6, 0x2c, 0xf2, 0x15, 0xb4, 0x06, 0x0c, 0xc4, 0x2c, 0x4a, 0x45, 0x4c, 0x81, 0x2b, 0x36,
+ 0xb4, 0x2d, 0x4a, 0x4f, 0xd8, 0xd8, 0xd9, 0xff, 0x58, 0xf0, 0x70, 0x7f, 0xb3, 0x00, 0xe7, 0xd4,
+ 0x9b, 0xc7, 0x64, 0x87, 0x34, 0xd2, 0xf5, 0xc1, 0x5e, 0xc8, 0xf0, 0xd4, 0x4f, 0x7b, 0x2f, 0x64,
+ 0xa4, 0x2c, 0xd2, 0xb5, 0x90, 0xc2, 0xb0, 0xc6, 0x13, 0x95, 0xe1, 0x0c, 0x7b, 0xd1, 0x62, 0xc1,
+ 0x0f, 0xbc, 0x86, 0xff, 0x2a, 0x89, 0x30, 0x69, 0x86, 0x3b, 0x5e, 0x43, 0x68, 0xea, 0xea, 0xd6,
+ 0xf4, 0x42, 0x1e, 0x12, 0xce, 0xaf, 0xdb, 0x71, 0xe2, 0xee, 0xeb, 0xf5, 0xc4, 0xed, 0xfe, 0x89,
+ 0x03, 0xa3, 0xc7, 0xf8, 0x42, 0x74, 0x68, 0x2e, 0x89, 0xe7, 0xec, 0x2d, 0x89, 0x2e, 0xcb, 0x60,
+ 0xaf, 0x08, 0x1d, 0x8f, 0xe6, 0xa2, 0xcf, 0x38, 0x2a, 0x8e, 0x87, 0xc7, 0x4b, 0x7e, 0xd8, 0x5e,
+ 0x3b, 0x0e, 0x92, 0x6a, 0x13, 0x7d, 0x23, 0x93, 0x7f, 0xb4, 0x60, 0x2b, 0x89, 0x56, 0x47, 0x6b,
+ 0x0e, 0x91, 0x87, 0xf4, 0xab, 0x0e, 0x00, 0x6f, 0xa7, 0x48, 0x5f, 0x4e, 0xdb, 0xb6, 0x79, 0x64,
+ 0x23, 0x45, 0x99, 0xf0, 0xa6, 0xa9, 0x25, 0x94, 0x16, 0x60, 0xad, 0x25, 0xf7, 0x90, 0x60, 0xf4,
+ 0x9e, 0x73, 0x9b, 0x7e, 0xd1, 0x81, 0x13, 0x99, 0xe6, 0xe6, 0xd4, 0xdf, 0x32, 0xdf, 0x78, 0xb4,
+ 0xa0, 0x59, 0x99, 0x49, 0xad, 0x75, 0xe3, 0xc9, 0x7f, 0x71, 0xc1, 0x78, 0x6d, 0x1c, 0xbd, 0x06,
+ 0xc3, 0xd2, 0xf2, 0x21, 0xa7, 0xb7, 0xcd, 0xb7, 0x6e, 0xd5, 0xf1, 0x46, 0x42, 0x62, 0x9c, 0xf2,
+ 0xcb, 0x84, 0x09, 0x16, 0x7a, 0x0a, 0x13, 0xbc, 0xbf, 0x2f, 0xe5, 0xe6, 0xdb, 0xa5, 0xfb, 0x8f,
+ 0xc4, 0x2e, 0xfd, 0x90, 0x75, 0xbb, 0xf4, 0xc3, 0xc7, 0x6c, 0x97, 0xd6, 0x9c, 0x84, 0xc5, 0x7b,
+ 0x70, 0x12, 0xbe, 0x06, 0xa7, 0x77, 0xd2, 0x43, 0xa7, 0x9a, 0x49, 0x22, 0x75, 0xd3, 0x93, 0xb9,
+ 0xd6, 0x68, 0x7a, 0x80, 0x8e, 0x13, 0x12, 0x24, 0xda, 0x71, 0x35, 0x8d, 0x50, 0xbc, 0x9e, 0x43,
+ 0x0e, 0xe7, 0x32, 0xc9, 0x7a, 0x7b, 0x06, 0x7b, 0xf0, 0xf6, 0xbc, 0xe5, 0xc0, 0x19, 0xaf, 0xe3,
+ 0x9a, 0x1d, 0x26, 0x5b, 0x22, 0xe4, 0xe4, 0x86, 0x3d, 0x15, 0xc2, 0x20, 0x2f, 0xdc, 0x6a, 0x79,
+ 0x45, 0x38, 0xbf, 0x41, 0xe8, 0xb1, 0xd4, 0xf5, 0xce, 0xe3, 0x5a, 0xf3, 0xfd, 0xe4, 0xdf, 0xc8,
+ 0xc6, 0xf3, 0x00, 0x1b, 0xfa, 0x8f, 0xda, 0x3d, 0x6d, 0x5b, 0x88, 0xe9, 0x19, 0xb9, 0x87, 0x98,
+ 0x9e, 0x8c, 0xeb, 0x6d, 0xd4, 0x92, 0xeb, 0x2d, 0x80, 0x09, 0xbf, 0xe9, 0xd5, 0xc8, 0x7a, 0xbb,
+ 0xd1, 0xe0, 0xf7, 0x66, 0xe4, 0x6b, 0xc4, 0xb9, 0x16, 0xbc, 0x95, 0xb0, 0xe2, 0x35, 0xb2, 0xef,
+ 0xd0, 0xab, 0xfb, 0x41, 0x4b, 0x19, 0x4a, 0xb8, 0x83, 0x36, 0x9d, 0xb0, 0x2c, 0x87, 0x20, 0x49,
+ 0xe8, 0x68, 0xb3, 0xc0, 0x91, 0x21, 0x3e, 0x61, 0xaf, 0xa4, 0x60, 0xac, 0xe3, 0xa0, 0x65, 0x18,
+ 0xae, 0x06, 0xb1, 0xb8, 0x31, 0x7c, 0x82, 0x09, 0xb3, 0x77, 0x51, 0x11, 0x38, 0x7f, 0xb5, 0xac,
+ 0xee, 0x0a, 0x3f, 0x94, 0x93, 0x14, 0x53, 0x95, 0xe3, 0xb4, 0x3e, 0x5a, 0x65, 0xc4, 0xc4, 0x3b,
+ 0x6b, 0x3c, 0x9e, 0xe3, 0x91, 0x2e, 0x0e, 0xa3, 0xf9, 0xab, 0xf2, 0xa5, 0xb8, 0x31, 0xc1, 0x4e,
+ 0x3c, 0x98, 0x96, 0x52, 0xd0, 0x5e, 0x85, 0x3e, 0xb9, 0xef, 0xab, 0xd0, 0x2c, 0x1b, 0x6e, 0xd2,
+ 0x50, 0xee, 0xe1, 0x0b, 0xd6, 0xb2, 0xe1, 0xa6, 0x91, 0x92, 0x22, 0x1b, 0x6e, 0x0a, 0xc0, 0x3a,
+ 0x4b, 0xb4, 0xd6, 0xcd, 0x4d, 0x7e, 0x8a, 0x09, 0x8d, 0x83, 0x3b, 0xbd, 0x75, 0x7f, 0xe9, 0xe9,
+ 0x7d, 0xfd, 0xa5, 0x1d, 0xfe, 0xdd, 0x33, 0x07, 0xf0, 0xef, 0xd6, 0x59, 0x9e, 0xd2, 0xc5, 0x39,
+ 0xe1, 0x52, 0xb7, 0x70, 0xbe, 0x63, 0x99, 0x51, 0x78, 0xe4, 0x29, 0xfb, 0x17, 0x73, 0x06, 0x5d,
+ 0x03, 0xc8, 0xcf, 0x1d, 0x3a, 0x80, 0x9c, 0x8a, 0xe7, 0x14, 0xce, 0x12, 0xde, 0x16, 0x85, 0x78,
+ 0x4e, 0xc1, 0x58, 0xc7, 0xc9, 0x7a, 0x4b, 0x1f, 0x3c, 0x32, 0x6f, 0xe9, 0xe4, 0x31, 0x78, 0x4b,
+ 0xcf, 0xf7, 0xec, 0x2d, 0xbd, 0x05, 0xa7, 0x5a, 0x61, 0x75, 0xde, 0x8f, 0xa3, 0x36, 0xbb, 0x48,
+ 0x38, 0xdb, 0xae, 0xd6, 0x48, 0xc2, 0xdc, 0xad, 0x23, 0x97, 0xde, 0xa5, 0x37, 0xb2, 0xc5, 0x16,
+ 0xb2, 0x5c, 0xa3, 0x99, 0x0a, 0xcc, 0x74, 0xc2, 0xa2, 0x6e, 0x73, 0x0a, 0x71, 0x1e, 0x0b, 0xdd,
+ 0x4f, 0xfb, 0xc8, 0xf1, 0xf8, 0x69, 0x3f, 0x08, 0x43, 0x71, 0xbd, 0x9d, 0x54, 0xc3, 0x9b, 0x01,
+ 0x73, 0xc6, 0x0f, 0xcf, 0xbe, 0x43, 0x99, 0xb2, 0x05, 0xfc, 0xce, 0xde, 0xd4, 0x84, 0xfc, 0x5f,
+ 0xb3, 0x62, 0x0b, 0x08, 0xfa, 0x66, 0x97, 0xfb, 0x4a, 0xee, 0x51, 0xde, 0x57, 0x3a, 0x77, 0xa0,
+ 0xbb, 0x4a, 0x79, 0xce, 0xe8, 0x47, 0x7f, 0xe6, 0x9c, 0xd1, 0x5f, 0x77, 0x60, 0x6c, 0x47, 0x77,
+ 0x19, 0x08, 0x87, 0xb9, 0x85, 0xc0, 0x1d, 0xc3, 0x13, 0x31, 0xeb, 0x52, 0x39, 0x67, 0x80, 0xee,
+ 0x64, 0x01, 0xd8, 0x6c, 0x49, 0x4e, 0x50, 0xd1, 0x63, 0xf7, 0x2b, 0xa8, 0xe8, 0x0d, 0x26, 0xc7,
+ 0xe4, 0x21, 0x97, 0x79, 0xd1, 0xed, 0xc6, 0x14, 0x4b, 0x99, 0xa8, 0x42, 0x8a, 0x75, 0x7e, 0xe8,
+ 0x0b, 0x0e, 0x4c, 0xc8, 0x73, 0x99, 0x70, 0xf9, 0xc5, 0x22, 0x2a, 0xd2, 0xe6, 0x71, 0x90, 0x85,
+ 0xd5, 0x6f, 0x64, 0xf8, 0xe0, 0x0e, 0xce, 0x54, 0xaa, 0xab, 0x20, 0xb4, 0x5a, 0xcc, 0x82, 0x7f,
+ 0x85, 0x0e, 0x33, 0x93, 0x82, 0xb1, 0x8e, 0x83, 0xbe, 0xe5, 0x40, 0xb1, 0x1e, 0x86, 0xdb, 0x71,
+ 0xe9, 0x49, 0x26, 0xd0, 0x5f, 0xb0, 0xac, 0x9b, 0x5e, 0xa1, 0xb4, 0xb9, 0x52, 0xfa, 0xb4, 0xb4,
+ 0x1d, 0x31, 0xd8, 0x9d, 0xbd, 0xa9, 0x71, 0xe3, 0x39, 0xa7, 0xf8, 0xcd, 0xb7, 0x35, 0x88, 0xb0,
+ 0x6d, 0xb2, 0xa6, 0xa1, 0x2f, 0x3b, 0x30, 0x71, 0x33, 0x63, 0xd0, 0x10, 0x61, 0xa1, 0xd8, 0xbe,
+ 0xa9, 0x84, 0x0f, 0x77, 0x16, 0x8a, 0x3b, 0x5a, 0x80, 0x3e, 0x6f, 0x1a, 0x3a, 0x79, 0xfc, 0xa8,
+ 0xc5, 0x01, 0xcc, 0x18, 0x56, 0xf9, 0xb5, 0xa0, 0x7c, 0x8b, 0xe7, 0x3d, 0xc7, 0x87, 0x4c, 0xd2,
+ 0xce, 0xa4, 0x1f, 0x2b, 0xa7, 0x2a, 0x31, 0xed, 0x2d, 0x16, 0x16, 0xbb, 0xf1, 0xf9, 0x75, 0x73,
+ 0xcb, 0x97, 0xcf, 0xc2, 0xb8, 0xe9, 0xdb, 0x43, 0xef, 0x36, 0x9f, 0xea, 0xb8, 0x90, 0x7d, 0xf5,
+ 0x60, 0x4c, 0xe2, 0x1b, 0x2f, 0x1f, 0x18, 0x4f, 0x13, 0x14, 0x8e, 0xf4, 0x69, 0x82, 0xbe, 0xe3,
+ 0x79, 0x9a, 0x60, 0xe2, 0x28, 0x9e, 0x26, 0x38, 0x79, 0xa0, 0xa7, 0x09, 0xb4, 0xa7, 0x21, 0xfa,
+ 0xef, 0xf2, 0x34, 0xc4, 0x0c, 0x9c, 0x90, 0x77, 0x7f, 0x88, 0xc8, 0xfe, 0xce, 0xdd, 0xfe, 0xea,
+ 0x95, 0xf1, 0x39, 0xb3, 0x18, 0x67, 0xf1, 0xe9, 0x22, 0x2b, 0x06, 0xac, 0xe6, 0x80, 0xad, 0x77,
+ 0xa3, 0xcc, 0xa9, 0xc5, 0x8e, 0xcf, 0x42, 0x44, 0xc9, 0x68, 0xe7, 0x22, 0x83, 0xdd, 0x91, 0xff,
+ 0x60, 0xde, 0x02, 0xf4, 0x12, 0x94, 0xc2, 0xad, 0xad, 0x46, 0xe8, 0x55, 0xd3, 0xf7, 0x13, 0x64,
+ 0x5c, 0x02, 0xbf, 0xab, 0xaa, 0xd2, 0xed, 0xae, 0x75, 0xc1, 0xc3, 0x5d, 0x29, 0xa0, 0xb7, 0xa8,
+ 0x62, 0x92, 0x84, 0x11, 0xa9, 0xa6, 0xb6, 0x9a, 0x61, 0xd6, 0x67, 0x62, 0xbd, 0xcf, 0x65, 0x93,
+ 0x0f, 0xef, 0xbd, 0xfa, 0x28, 0x99, 0x52, 0x9c, 0x6d, 0x16, 0x8a, 0xe0, 0x6c, 0x2b, 0xcf, 0x54,
+ 0x14, 0x8b, 0x1b, 0x4b, 0xfb, 0x19, 0xac, 0xd4, 0x5b, 0xda, 0xb9, 0xc6, 0xa6, 0x18, 0x77, 0xa1,
+ 0xac, 0xbf, 0x71, 0x30, 0x74, 0x3c, 0x6f, 0x1c, 0x7c, 0x1c, 0xa0, 0x22, 0xb3, 0xad, 0x49, 0xe3,
+ 0xc3, 0xb2, 0x95, 0xab, 0x34, 0x9c, 0xa6, 0xf6, 0xac, 0xac, 0x62, 0x83, 0x35, 0x96, 0xe8, 0x7f,
+ 0xe7, 0x3e, 0x02, 0xc2, 0x2d, 0x2c, 0x35, 0xeb, 0x73, 0xe2, 0x67, 0xee, 0x21, 0x90, 0x7f, 0xe0,
+ 0xc0, 0x24, 0x9f, 0x79, 0x59, 0xe5, 0x9e, 0xaa, 0x16, 0xe2, 0x6e, 0x8f, 0xed, 0xd0, 0x15, 0x9e,
+ 0x35, 0xc9, 0xe0, 0xca, 0x1c, 0xdd, 0xfb, 0xb4, 0x04, 0x7d, 0x35, 0xe7, 0x48, 0x71, 0xc2, 0x96,
+ 0xcd, 0x32, 0xff, 0x29, 0x87, 0x53, 0xb7, 0x7b, 0x39, 0x45, 0xfc, 0xa3, 0xae, 0x26, 0x55, 0xc4,
+ 0x9a, 0xf7, 0x4b, 0x47, 0x64, 0x52, 0xd5, 0xdf, 0x9b, 0x38, 0x90, 0x61, 0xf5, 0x8b, 0x0e, 0x4c,
+ 0x78, 0x99, 0x50, 0x13, 0x66, 0x07, 0xb2, 0x62, 0x93, 0x9a, 0x89, 0xd2, 0xf8, 0x15, 0xa6, 0xe4,
+ 0x65, 0xa3, 0x5a, 0x70, 0x07, 0x73, 0xf4, 0x43, 0x07, 0xce, 0x27, 0x5e, 0xbc, 0xcd, 0xb3, 0x39,
+ 0xc7, 0xe9, 0x5d, 0x5d, 0xd1, 0xb8, 0xd3, 0x6c, 0x35, 0xbe, 0x62, 0x7d, 0x35, 0x6e, 0x74, 0xe7,
+ 0xc9, 0xd7, 0xe5, 0xa3, 0x62, 0x5d, 0x9e, 0xdf, 0x07, 0x13, 0xef, 0xd7, 0xf4, 0xc9, 0xcf, 0x38,
+ 0xfc, 0xd5, 0xaf, 0xae, 0x2a, 0xdf, 0xa6, 0xa9, 0xf2, 0xad, 0xd8, 0x7c, 0x77, 0x48, 0xd7, 0x3d,
+ 0x7f, 0xd5, 0x81, 0xd3, 0x79, 0x3b, 0x52, 0x4e, 0x93, 0x3e, 0x6a, 0x36, 0xc9, 0xe2, 0x29, 0x4b,
+ 0x6f, 0x90, 0x95, 0x67, 0x4f, 0x26, 0xaf, 0xc2, 0x23, 0x77, 0xfb, 0x8a, 0x77, 0xa3, 0x37, 0xa4,
+ 0xab, 0xc5, 0x7f, 0x36, 0xac, 0x79, 0x21, 0x13, 0xd2, 0xb2, 0x1e, 0xc3, 0x1d, 0xc0, 0x80, 0x1f,
+ 0x34, 0xfc, 0x80, 0x88, 0xfb, 0x9a, 0x36, 0xcf, 0xb0, 0xe2, 0xd9, 0x22, 0x4a, 0x1d, 0x0b, 0x2e,
+ 0xf7, 0xd9, 0x29, 0x99, 0x7d, 0x08, 0xae, 0xff, 0xf8, 0x1f, 0x82, 0xbb, 0x09, 0xc3, 0x37, 0xfd,
+ 0xa4, 0xce, 0x82, 0x29, 0x84, 0xaf, 0xcf, 0xc2, 0x3d, 0x47, 0x4a, 0x2e, 0xed, 0xfb, 0x0d, 0xc9,
+ 0x00, 0xa7, 0xbc, 0xd0, 0x45, 0xce, 0x98, 0x45, 0x6e, 0x67, 0x43, 0x6a, 0x6f, 0xc8, 0x02, 0x9c,
+ 0xe2, 0xd0, 0xc1, 0x1a, 0xa5, 0xbf, 0x64, 0x0e, 0x28, 0x91, 0x19, 0xd9, 0x46, 0xc6, 0x4b, 0x41,
+ 0x91, 0xdf, 0x26, 0xbe, 0xa1, 0xf1, 0xc0, 0x06, 0x47, 0x95, 0x9c, 0x7a, 0xa8, 0x6b, 0x72, 0xea,
+ 0xd7, 0x99, 0xc2, 0x96, 0xf8, 0x41, 0x9b, 0xac, 0x05, 0x22, 0xde, 0x7b, 0xc5, 0xce, 0xdd, 0x67,
+ 0x4e, 0x93, 0x1f, 0xc1, 0xd3, 0xdf, 0x58, 0xe3, 0xa7, 0xb9, 0x5c, 0x46, 0xf6, 0x75, 0xb9, 0xa4,
+ 0x26, 0x97, 0x51, 0xeb, 0x26, 0x97, 0x84, 0xb4, 0xac, 0x98, 0x5c, 0x7e, 0xa6, 0xcc, 0x01, 0x7f,
+ 0xee, 0x00, 0x52, 0x7a, 0x97, 0x12, 0xa8, 0xc7, 0x10, 0x54, 0xf9, 0x09, 0x07, 0x20, 0x50, 0xcf,
+ 0x85, 0xda, 0xdd, 0x05, 0x39, 0xcd, 0xb4, 0x01, 0x29, 0x0c, 0x6b, 0x3c, 0xdd, 0x3f, 0x75, 0xd2,
+ 0xd8, 0xe5, 0xb4, 0xef, 0xc7, 0x10, 0x44, 0xb6, 0x6b, 0x06, 0x91, 0x6d, 0x58, 0x34, 0xdd, 0xab,
+ 0x6e, 0x74, 0x09, 0x27, 0xfb, 0x49, 0x01, 0x4e, 0xe8, 0xc8, 0x65, 0x72, 0x1c, 0x1f, 0xfb, 0xa6,
+ 0x11, 0x41, 0x7b, 0xcd, 0x6e, 0x7f, 0xcb, 0xc2, 0x03, 0x94, 0x17, 0xad, 0xfd, 0xf1, 0x4c, 0xb4,
+ 0xf6, 0x0d, 0xfb, 0xac, 0xf7, 0x0f, 0xd9, 0xfe, 0xcf, 0x0e, 0x9c, 0xca, 0xd4, 0x38, 0x86, 0x09,
+ 0xb6, 0x63, 0x4e, 0xb0, 0xe7, 0xad, 0xf7, 0xba, 0xcb, 0xec, 0xfa, 0x76, 0xa1, 0xa3, 0xb7, 0xec,
+ 0x10, 0xf7, 0x69, 0x07, 0x8a, 0x54, 0x5b, 0x96, 0xf1, 0x5c, 0x1f, 0x3d, 0x92, 0x19, 0xc0, 0xf4,
+ 0x7a, 0x21, 0x9d, 0x55, 0xfb, 0x18, 0x0c, 0x73, 0xee, 0x93, 0x9f, 0x72, 0x00, 0x52, 0xa4, 0xfb,
+ 0xa5, 0x02, 0xbb, 0xdf, 0x2d, 0xc0, 0x99, 0xdc, 0x69, 0x84, 0x3e, 0xab, 0x2c, 0x72, 0x8e, 0xed,
+ 0x68, 0x45, 0x83, 0x91, 0x6e, 0x98, 0x1b, 0x33, 0x0c, 0x73, 0xc2, 0x1e, 0x77, 0xbf, 0x0e, 0x30,
+ 0x42, 0x4c, 0x6b, 0x83, 0xf5, 0x63, 0x27, 0x0d, 0x80, 0x55, 0x79, 0x8d, 0xfe, 0x02, 0x5e, 0xe2,
+ 0x71, 0x7f, 0xa2, 0xdd, 0x70, 0x90, 0x1d, 0x3d, 0x06, 0x59, 0x71, 0xd3, 0x94, 0x15, 0xd8, 0xbe,
+ 0x1f, 0xb9, 0x8b, 0xb0, 0x78, 0x05, 0xf2, 0x1c, 0xcb, 0xbd, 0x25, 0x81, 0x34, 0xae, 0xc3, 0x16,
+ 0x7a, 0xbe, 0x0e, 0x3b, 0x06, 0x23, 0x2f, 0xfa, 0x2a, 0x81, 0xe8, 0xec, 0xf4, 0xf7, 0x7e, 0x74,
+ 0xe1, 0x81, 0xef, 0xff, 0xe8, 0xc2, 0x03, 0x3f, 0xfc, 0xd1, 0x85, 0x07, 0x3e, 0x71, 0xfb, 0x82,
+ 0xf3, 0xbd, 0xdb, 0x17, 0x9c, 0xef, 0xdf, 0xbe, 0xe0, 0xfc, 0xf0, 0xf6, 0x05, 0xe7, 0xdf, 0xde,
+ 0xbe, 0xe0, 0xfc, 0xad, 0x7f, 0x77, 0xe1, 0x81, 0x17, 0x87, 0x64, 0xc7, 0xfe, 0x5f, 0x00, 0x00,
+ 0x00, 0xff, 0xff, 0xc9, 0x42, 0x1f, 0x61, 0xd5, 0xd8, 0x00, 0x00,
}
func (m *Amount) Marshal() (dAtA []byte, err error) {
@@ -7261,6 +7266,11 @@ func (m *CronWorkflowSpec) MarshalToSizedBuffer(dAtA []byte) (int, error) {
_ = i
var l int
_ = l
+ i -= len(m.When)
+ copy(dAtA[i:], m.When)
+ i = encodeVarintGenerated(dAtA, i, uint64(len(m.When)))
+ i--
+ dAtA[i] = 0x62
if len(m.Schedules) > 0 {
for iNdEx := len(m.Schedules) - 1; iNdEx >= 0; iNdEx-- {
i -= len(m.Schedules[iNdEx])
@@ -7951,6 +7961,14 @@ func (m *GitArtifact) MarshalToSizedBuffer(dAtA []byte) (int, error) {
_ = i
var l int
_ = l
+ i--
+ if m.InsecureSkipTLS {
+ dAtA[i] = 1
+ } else {
+ dAtA[i] = 0
+ }
+ i--
+ dAtA[i] = 0x60
i -= len(m.Branch)
copy(dAtA[i:], m.Branch)
i = encodeVarintGenerated(dAtA, i, uint64(len(m.Branch)))
@@ -10684,6 +10702,18 @@ func (m *S3Bucket) MarshalToSizedBuffer(dAtA []byte) (int, error) {
_ = i
var l int
_ = l
+ if m.SessionTokenSecret != nil {
+ {
+ size, err := m.SessionTokenSecret.MarshalToSizedBuffer(dAtA[:i])
+ if err != nil {
+ return 0, err
+ }
+ i -= size
+ i = encodeVarintGenerated(dAtA, i, uint64(size))
+ }
+ i--
+ dAtA[i] = 0x62
+ }
if m.CASecret != nil {
{
size, err := m.CASecret.MarshalToSizedBuffer(dAtA[:i])
@@ -11088,9 +11118,9 @@ func (m *StopStrategy) MarshalToSizedBuffer(dAtA []byte) (int, error) {
_ = i
var l int
_ = l
- i -= len(m.Condition)
- copy(dAtA[i:], m.Condition)
- i = encodeVarintGenerated(dAtA, i, uint64(len(m.Condition)))
+ i -= len(m.Expression)
+ copy(dAtA[i:], m.Expression)
+ i = encodeVarintGenerated(dAtA, i, uint64(len(m.Expression)))
i--
dAtA[i] = 0xa
return len(dAtA) - i, nil
@@ -11322,6 +11352,34 @@ func (m *Synchronization) MarshalToSizedBuffer(dAtA []byte) (int, error) {
_ = i
var l int
_ = l
+ if len(m.Mutexes) > 0 {
+ for iNdEx := len(m.Mutexes) - 1; iNdEx >= 0; iNdEx-- {
+ {
+ size, err := m.Mutexes[iNdEx].MarshalToSizedBuffer(dAtA[:i])
+ if err != nil {
+ return 0, err
+ }
+ i -= size
+ i = encodeVarintGenerated(dAtA, i, uint64(size))
+ }
+ i--
+ dAtA[i] = 0x22
+ }
+ }
+ if len(m.Semaphores) > 0 {
+ for iNdEx := len(m.Semaphores) - 1; iNdEx >= 0; iNdEx-- {
+ {
+ size, err := m.Semaphores[iNdEx].MarshalToSizedBuffer(dAtA[:i])
+ if err != nil {
+ return 0, err
+ }
+ i -= size
+ i = encodeVarintGenerated(dAtA, i, uint64(size))
+ }
+ i--
+ dAtA[i] = 0x1a
+ }
+ }
if m.Mutex != nil {
{
size, err := m.Mutex.MarshalToSizedBuffer(dAtA[:i])
@@ -14910,6 +14968,8 @@ func (m *CronWorkflowSpec) Size() (n int) {
n += 1 + l + sovGenerated(uint64(l))
}
}
+ l = len(m.When)
+ n += 1 + l + sovGenerated(uint64(l))
return n
}
@@ -15167,6 +15227,7 @@ func (m *GitArtifact) Size() (n int) {
n += 2
l = len(m.Branch)
n += 1 + l + sovGenerated(uint64(l))
+ n += 2
return n
}
@@ -16193,6 +16254,10 @@ func (m *S3Bucket) Size() (n int) {
l = m.CASecret.Size()
n += 1 + l + sovGenerated(uint64(l))
}
+ if m.SessionTokenSecret != nil {
+ l = m.SessionTokenSecret.Size()
+ n += 1 + l + sovGenerated(uint64(l))
+ }
return n
}
@@ -16309,7 +16374,7 @@ func (m *StopStrategy) Size() (n int) {
}
var l int
_ = l
- l = len(m.Condition)
+ l = len(m.Expression)
n += 1 + l + sovGenerated(uint64(l))
return n
}
@@ -16403,6 +16468,18 @@ func (m *Synchronization) Size() (n int) {
l = m.Mutex.Size()
n += 1 + l + sovGenerated(uint64(l))
}
+ if len(m.Semaphores) > 0 {
+ for _, e := range m.Semaphores {
+ l = e.Size()
+ n += 1 + l + sovGenerated(uint64(l))
+ }
+ }
+ if len(m.Mutexes) > 0 {
+ for _, e := range m.Mutexes {
+ l = e.Size()
+ n += 1 + l + sovGenerated(uint64(l))
+ }
+ }
return n
}
@@ -17923,6 +18000,7 @@ func (this *CronWorkflowSpec) String() string {
`WorkflowMetadata:` + strings.Replace(fmt.Sprintf("%v", this.WorkflowMetadata), "ObjectMeta", "v11.ObjectMeta", 1) + `,`,
`StopStrategy:` + strings.Replace(this.StopStrategy.String(), "StopStrategy", "StopStrategy", 1) + `,`,
`Schedules:` + fmt.Sprintf("%v", this.Schedules) + `,`,
+ `When:` + fmt.Sprintf("%v", this.When) + `,`,
`}`,
}, "")
return s
@@ -18114,6 +18192,7 @@ func (this *GitArtifact) String() string {
`DisableSubmodules:` + fmt.Sprintf("%v", this.DisableSubmodules) + `,`,
`SingleBranch:` + fmt.Sprintf("%v", this.SingleBranch) + `,`,
`Branch:` + fmt.Sprintf("%v", this.Branch) + `,`,
+ `InsecureSkipTLS:` + fmt.Sprintf("%v", this.InsecureSkipTLS) + `,`,
`}`,
}, "")
return s
@@ -18863,6 +18942,7 @@ func (this *S3Bucket) String() string {
`CreateBucketIfNotPresent:` + strings.Replace(this.CreateBucketIfNotPresent.String(), "CreateS3BucketOptions", "CreateS3BucketOptions", 1) + `,`,
`EncryptionOptions:` + strings.Replace(this.EncryptionOptions.String(), "S3EncryptionOptions", "S3EncryptionOptions", 1) + `,`,
`CASecret:` + strings.Replace(fmt.Sprintf("%v", this.CASecret), "SecretKeySelector", "v1.SecretKeySelector", 1) + `,`,
+ `SessionTokenSecret:` + strings.Replace(fmt.Sprintf("%v", this.SessionTokenSecret), "SecretKeySelector", "v1.SecretKeySelector", 1) + `,`,
`}`,
}, "")
return s
@@ -18952,7 +19032,7 @@ func (this *StopStrategy) String() string {
return "nil"
}
s := strings.Join([]string{`&StopStrategy{`,
- `Condition:` + fmt.Sprintf("%v", this.Condition) + `,`,
+ `Expression:` + fmt.Sprintf("%v", this.Expression) + `,`,
`}`,
}, "")
return s
@@ -19013,9 +19093,21 @@ func (this *Synchronization) String() string {
if this == nil {
return "nil"
}
+ repeatedStringForSemaphores := "[]*SemaphoreRef{"
+ for _, f := range this.Semaphores {
+ repeatedStringForSemaphores += strings.Replace(f.String(), "SemaphoreRef", "SemaphoreRef", 1) + ","
+ }
+ repeatedStringForSemaphores += "}"
+ repeatedStringForMutexes := "[]*Mutex{"
+ for _, f := range this.Mutexes {
+ repeatedStringForMutexes += strings.Replace(f.String(), "Mutex", "Mutex", 1) + ","
+ }
+ repeatedStringForMutexes += "}"
s := strings.Join([]string{`&Synchronization{`,
`Semaphore:` + strings.Replace(this.Semaphore.String(), "SemaphoreRef", "SemaphoreRef", 1) + `,`,
`Mutex:` + strings.Replace(this.Mutex.String(), "Mutex", "Mutex", 1) + `,`,
+ `Semaphores:` + repeatedStringForSemaphores + `,`,
+ `Mutexes:` + repeatedStringForMutexes + `,`,
`}`,
}, "")
return s
@@ -26442,6 +26534,38 @@ func (m *CronWorkflowSpec) Unmarshal(dAtA []byte) error {
}
m.Schedules = append(m.Schedules, string(dAtA[iNdEx:postIndex]))
iNdEx = postIndex
+ case 12:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field When", wireType)
+ }
+ var stringLen uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ stringLen |= uint64(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ intStringLen := int(stringLen)
+ if intStringLen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + intStringLen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.When = string(dAtA[iNdEx:postIndex])
+ iNdEx = postIndex
default:
iNdEx = preIndex
skippy, err := skipGenerated(dAtA[iNdEx:])
@@ -28633,6 +28757,26 @@ func (m *GitArtifact) Unmarshal(dAtA []byte) error {
}
m.Branch = string(dAtA[iNdEx:postIndex])
iNdEx = postIndex
+ case 12:
+ if wireType != 0 {
+ return fmt.Errorf("proto: wrong wireType = %d for field InsecureSkipTLS", wireType)
+ }
+ var v int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ v |= int(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ m.InsecureSkipTLS = bool(v != 0)
default:
iNdEx = preIndex
skippy, err := skipGenerated(dAtA[iNdEx:])
@@ -37310,6 +37454,42 @@ func (m *S3Bucket) Unmarshal(dAtA []byte) error {
return err
}
iNdEx = postIndex
+ case 12:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field SessionTokenSecret", wireType)
+ }
+ var msglen int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ msglen |= int(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ if msglen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + msglen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ if m.SessionTokenSecret == nil {
+ m.SessionTokenSecret = &v1.SecretKeySelector{}
+ }
+ if err := m.SessionTokenSecret.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ return err
+ }
+ iNdEx = postIndex
default:
iNdEx = preIndex
skippy, err := skipGenerated(dAtA[iNdEx:])
@@ -38187,7 +38367,7 @@ func (m *StopStrategy) Unmarshal(dAtA []byte) error {
switch fieldNum {
case 1:
if wireType != 2 {
- return fmt.Errorf("proto: wrong wireType = %d for field Condition", wireType)
+ return fmt.Errorf("proto: wrong wireType = %d for field Expression", wireType)
}
var stringLen uint64
for shift := uint(0); ; shift += 7 {
@@ -38215,7 +38395,7 @@ func (m *StopStrategy) Unmarshal(dAtA []byte) error {
if postIndex > l {
return io.ErrUnexpectedEOF
}
- m.Condition = string(dAtA[iNdEx:postIndex])
+ m.Expression = string(dAtA[iNdEx:postIndex])
iNdEx = postIndex
default:
iNdEx = preIndex
@@ -39025,6 +39205,74 @@ func (m *Synchronization) Unmarshal(dAtA []byte) error {
return err
}
iNdEx = postIndex
+ case 3:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Semaphores", wireType)
+ }
+ var msglen int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ msglen |= int(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ if msglen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + msglen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.Semaphores = append(m.Semaphores, &SemaphoreRef{})
+ if err := m.Semaphores[len(m.Semaphores)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ return err
+ }
+ iNdEx = postIndex
+ case 4:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Mutexes", wireType)
+ }
+ var msglen int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowGenerated
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ msglen |= int(b&0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ if msglen < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ postIndex := iNdEx + msglen
+ if postIndex < 0 {
+ return ErrInvalidLengthGenerated
+ }
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.Mutexes = append(m.Mutexes, &Mutex{})
+ if err := m.Mutexes[len(m.Mutexes)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ return err
+ }
+ iNdEx = postIndex
default:
iNdEx = preIndex
skippy, err := skipGenerated(dAtA[iNdEx:])
diff --git a/pkg/apis/workflow/v1alpha1/generated.proto b/pkg/apis/workflow/v1alpha1/generated.proto
index d51eeba01ca7..95eddbdf358b 100644
--- a/pkg/apis/workflow/v1alpha1/generated.proto
+++ b/pkg/apis/workflow/v1alpha1/generated.proto
@@ -477,7 +477,7 @@ message CronWorkflowSpec {
// WorkflowSpec is the spec of the workflow to be run
optional WorkflowSpec workflowSpec = 1;
- // Schedule is a schedule to run the Workflow in Cron format
+ // Schedule is a schedule to run the Workflow in Cron format. Deprecated, use Schedules
optional string schedule = 2;
// ConcurrencyPolicy is the K8s-style concurrency policy that will be used
@@ -505,8 +505,11 @@ message CronWorkflowSpec {
// v3.6 and after: StopStrategy defines if the CronWorkflow should stop scheduling based on a condition
optional StopStrategy stopStrategy = 10;
- // Schedules is a list of schedules to run the Workflow in Cron format
+ // v3.6 and after: Schedules is a list of schedules to run the Workflow in Cron format
repeated string schedules = 11;
+
+ // v3.6 and after: When is an expression that determines if a run should be scheduled.
+ optional string when = 12;
}
// CronWorkflowStatus is the status of a CronWorkflow
@@ -700,6 +703,9 @@ message GitArtifact {
// Branch is the branch to fetch when `SingleBranch` is enabled
optional string branch = 11;
+
+ // InsecureSkipTLS disables server certificate verification resulting in insecure HTTPS connections
+ optional bool insecureSkipTLS = 12;
}
// HDFSArtifact is the location of an HDFS artifact
@@ -1405,6 +1411,9 @@ message S3Bucket {
// SecretKeySecret is the secret selector to the bucket's secret key
optional k8s.io.api.core.v1.SecretKeySelector secretKeySecret = 6;
+ // SessionTokenSecret is used for ephemeral credentials like an IAM assume role or S3 access grant
+ optional k8s.io.api.core.v1.SecretKeySelector sessionTokenSecret = 12;
+
// RoleARN is the Amazon Resource Name (ARN) of the role to assume.
optional string roleARN = 7;
@@ -1484,11 +1493,11 @@ message Sequence {
optional string format = 4;
}
-// v3.6 and after: StopStrategy defines if the CronWorkflow should stop scheduling based on a condition
+// StopStrategy defines if the CronWorkflow should stop scheduling based on an expression. v3.6 and after
message StopStrategy {
- // v3.6 and after: Condition is an expression that stops scheduling workflows when true. Use the
- // variables `failed` or `succeeded` to access the number of failed or successful child workflows.
- optional string condition = 1;
+ // v3.6 and after: Expression is an expression that stops scheduling workflows when true. Use the variables
+ // `cronworkflow`.`failed` or `cronworkflow`.`succeeded` to access the number of failed or successful child workflows.
+ optional string expression = 1;
}
message Submit {
@@ -1555,11 +1564,17 @@ message SuspendTemplate {
// Synchronization holds synchronization lock configuration
message Synchronization {
- // Semaphore holds the Semaphore configuration
+ // Semaphore holds the Semaphore configuration - deprecated, use semaphores instead
optional SemaphoreRef semaphore = 1;
- // Mutex holds the Mutex lock details
+ // Mutex holds the Mutex lock details - deprecated, use mutexes instead
optional Mutex mutex = 2;
+
+ // v3.6 and after: Semaphores holds the list of Semaphores configuration
+ repeated SemaphoreRef semaphores = 3;
+
+ // v3.6 and after: Mutexes holds the list of Mutex lock details
+ repeated Mutex mutexes = 4;
}
// SynchronizationStatus stores the status of semaphore and mutex.
diff --git a/pkg/apis/workflow/v1alpha1/openapi_generated.go b/pkg/apis/workflow/v1alpha1/openapi_generated.go
index 3a8d7e11edc4..c8215312264c 100644
--- a/pkg/apis/workflow/v1alpha1/openapi_generated.go
+++ b/pkg/apis/workflow/v1alpha1/openapi_generated.go
@@ -1689,6 +1689,11 @@ func schema_pkg_apis_workflow_v1alpha1_ContainerNode(ref common.ReferenceCallbac
},
},
"command": {
+ VendorExtensible: spec.VendorExtensible{
+ Extensions: spec.Extensions{
+ "x-kubernetes-list-type": "atomic",
+ },
+ },
SchemaProps: spec.SchemaProps{
Description: "Entrypoint array. Not executed within a shell. The container image's ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell",
Type: []string{"array"},
@@ -1704,6 +1709,11 @@ func schema_pkg_apis_workflow_v1alpha1_ContainerNode(ref common.ReferenceCallbac
},
},
"args": {
+ VendorExtensible: spec.VendorExtensible{
+ Extensions: spec.Extensions{
+ "x-kubernetes-list-type": "atomic",
+ },
+ },
SchemaProps: spec.SchemaProps{
Description: "Arguments to the entrypoint. The container image's CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell",
Type: []string{"array"},
@@ -1751,6 +1761,11 @@ func schema_pkg_apis_workflow_v1alpha1_ContainerNode(ref common.ReferenceCallbac
},
},
"envFrom": {
+ VendorExtensible: spec.VendorExtensible{
+ Extensions: spec.Extensions{
+ "x-kubernetes-list-type": "atomic",
+ },
+ },
SchemaProps: spec.SchemaProps{
Description: "List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated.",
Type: []string{"array"},
@@ -1767,6 +1782,10 @@ func schema_pkg_apis_workflow_v1alpha1_ContainerNode(ref common.ReferenceCallbac
"env": {
VendorExtensible: spec.VendorExtensible{
Extensions: spec.Extensions{
+ "x-kubernetes-list-map-keys": []interface{}{
+ "name",
+ },
+ "x-kubernetes-list-type": "map",
"x-kubernetes-patch-merge-key": "name",
"x-kubernetes-patch-strategy": "merge",
},
@@ -1791,9 +1810,39 @@ func schema_pkg_apis_workflow_v1alpha1_ContainerNode(ref common.ReferenceCallbac
Ref: ref("k8s.io/api/core/v1.ResourceRequirements"),
},
},
+ "resizePolicy": {
+ VendorExtensible: spec.VendorExtensible{
+ Extensions: spec.Extensions{
+ "x-kubernetes-list-type": "atomic",
+ },
+ },
+ SchemaProps: spec.SchemaProps{
+ Description: "Resources resize policy for the container.",
+ Type: []string{"array"},
+ Items: &spec.SchemaOrArray{
+ Schema: &spec.Schema{
+ SchemaProps: spec.SchemaProps{
+ Default: map[string]interface{}{},
+ Ref: ref("k8s.io/api/core/v1.ContainerResizePolicy"),
+ },
+ },
+ },
+ },
+ },
+ "restartPolicy": {
+ SchemaProps: spec.SchemaProps{
+ Description: "RestartPolicy defines the restart behavior of individual containers in a pod. This field may only be set for init containers, and the only allowed value is \"Always\". For non-init containers or when this field is not specified, the restart behavior is defined by the Pod's restart policy and the container type. Setting the RestartPolicy as \"Always\" for the init container will have the following effect: this init container will be continually restarted on exit until all regular containers have terminated. Once all regular containers have completed, all init containers with restartPolicy \"Always\" will be shut down. This lifecycle differs from normal init containers and is often referred to as a \"sidecar\" container. Although this init container still starts in the init container sequence, it does not wait for the container to complete before proceeding to the next init container. Instead, the next init container starts immediately after this init container is started, or after any startupProbe has successfully completed.",
+ Type: []string{"string"},
+ Format: "",
+ },
+ },
"volumeMounts": {
VendorExtensible: spec.VendorExtensible{
Extensions: spec.Extensions{
+ "x-kubernetes-list-map-keys": []interface{}{
+ "mountPath",
+ },
+ "x-kubernetes-list-type": "map",
"x-kubernetes-patch-merge-key": "mountPath",
"x-kubernetes-patch-strategy": "merge",
},
@@ -1814,6 +1863,10 @@ func schema_pkg_apis_workflow_v1alpha1_ContainerNode(ref common.ReferenceCallbac
"volumeDevices": {
VendorExtensible: spec.VendorExtensible{
Extensions: spec.Extensions{
+ "x-kubernetes-list-map-keys": []interface{}{
+ "devicePath",
+ },
+ "x-kubernetes-list-type": "map",
"x-kubernetes-patch-merge-key": "devicePath",
"x-kubernetes-patch-strategy": "merge",
},
@@ -1922,7 +1975,7 @@ func schema_pkg_apis_workflow_v1alpha1_ContainerNode(ref common.ReferenceCallbac
},
},
Dependencies: []string{
- "k8s.io/api/core/v1.ContainerPort", "k8s.io/api/core/v1.EnvFromSource", "k8s.io/api/core/v1.EnvVar", "k8s.io/api/core/v1.Lifecycle", "k8s.io/api/core/v1.Probe", "k8s.io/api/core/v1.ResourceRequirements", "k8s.io/api/core/v1.SecurityContext", "k8s.io/api/core/v1.VolumeDevice", "k8s.io/api/core/v1.VolumeMount"},
+ "k8s.io/api/core/v1.ContainerPort", "k8s.io/api/core/v1.ContainerResizePolicy", "k8s.io/api/core/v1.EnvFromSource", "k8s.io/api/core/v1.EnvVar", "k8s.io/api/core/v1.Lifecycle", "k8s.io/api/core/v1.Probe", "k8s.io/api/core/v1.ResourceRequirements", "k8s.io/api/core/v1.SecurityContext", "k8s.io/api/core/v1.VolumeDevice", "k8s.io/api/core/v1.VolumeMount"},
}
}
@@ -2182,8 +2235,7 @@ func schema_pkg_apis_workflow_v1alpha1_CronWorkflowSpec(ref common.ReferenceCall
},
"schedule": {
SchemaProps: spec.SchemaProps{
- Description: "Schedule is a schedule to run the Workflow in Cron format",
- Default: "",
+ Description: "Schedule is a schedule to run the Workflow in Cron format. Deprecated, use Schedules",
Type: []string{"string"},
Format: "",
},
@@ -2244,7 +2296,7 @@ func schema_pkg_apis_workflow_v1alpha1_CronWorkflowSpec(ref common.ReferenceCall
},
"schedules": {
SchemaProps: spec.SchemaProps{
- Description: "Schedules is a list of schedules to run the Workflow in Cron format",
+ Description: "v3.6 and after: Schedules is a list of schedules to run the Workflow in Cron format",
Type: []string{"array"},
Items: &spec.SchemaOrArray{
Schema: &spec.Schema{
@@ -2257,8 +2309,15 @@ func schema_pkg_apis_workflow_v1alpha1_CronWorkflowSpec(ref common.ReferenceCall
},
},
},
+ "when": {
+ SchemaProps: spec.SchemaProps{
+ Description: "v3.6 and after: When is an expression that determines if a run should be scheduled.",
+ Type: []string{"string"},
+ Format: "",
+ },
+ },
},
- Required: []string{"workflowSpec", "schedule"},
+ Required: []string{"workflowSpec"},
},
},
Dependencies: []string{
@@ -2849,6 +2908,13 @@ func schema_pkg_apis_workflow_v1alpha1_GitArtifact(ref common.ReferenceCallback)
Format: "",
},
},
+ "insecureSkipTLS": {
+ SchemaProps: spec.SchemaProps{
+ Description: "InsecureSkipTLS disables server certificate verification resulting in insecure HTTPS connections",
+ Type: []string{"boolean"},
+ Format: "",
+ },
+ },
},
Required: []string{"repo"},
},
@@ -5161,6 +5227,12 @@ func schema_pkg_apis_workflow_v1alpha1_S3Artifact(ref common.ReferenceCallback)
Ref: ref("k8s.io/api/core/v1.SecretKeySelector"),
},
},
+ "sessionTokenSecret": {
+ SchemaProps: spec.SchemaProps{
+ Description: "SessionTokenSecret is used for ephemeral credentials like an IAM assume role or S3 access grant",
+ Ref: ref("k8s.io/api/core/v1.SecretKeySelector"),
+ },
+ },
"roleARN": {
SchemaProps: spec.SchemaProps{
Description: "RoleARN is the Amazon Resource Name (ARN) of the role to assume.",
@@ -5254,6 +5326,12 @@ func schema_pkg_apis_workflow_v1alpha1_S3ArtifactRepository(ref common.Reference
Ref: ref("k8s.io/api/core/v1.SecretKeySelector"),
},
},
+ "sessionTokenSecret": {
+ SchemaProps: spec.SchemaProps{
+ Description: "SessionTokenSecret is used for ephemeral credentials like an IAM assume role or S3 access grant",
+ Ref: ref("k8s.io/api/core/v1.SecretKeySelector"),
+ },
+ },
"roleARN": {
SchemaProps: spec.SchemaProps{
Description: "RoleARN is the Amazon Resource Name (ARN) of the role to assume.",
@@ -5354,6 +5432,12 @@ func schema_pkg_apis_workflow_v1alpha1_S3Bucket(ref common.ReferenceCallback) co
Ref: ref("k8s.io/api/core/v1.SecretKeySelector"),
},
},
+ "sessionTokenSecret": {
+ SchemaProps: spec.SchemaProps{
+ Description: "SessionTokenSecret is used for ephemeral credentials like an IAM assume role or S3 access grant",
+ Ref: ref("k8s.io/api/core/v1.SecretKeySelector"),
+ },
+ },
"roleARN": {
SchemaProps: spec.SchemaProps{
Description: "RoleARN is the Amazon Resource Name (ARN) of the role to assume.",
@@ -5458,6 +5542,11 @@ func schema_pkg_apis_workflow_v1alpha1_ScriptTemplate(ref common.ReferenceCallba
},
},
"command": {
+ VendorExtensible: spec.VendorExtensible{
+ Extensions: spec.Extensions{
+ "x-kubernetes-list-type": "atomic",
+ },
+ },
SchemaProps: spec.SchemaProps{
Description: "Entrypoint array. Not executed within a shell. The container image's ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell",
Type: []string{"array"},
@@ -5473,6 +5562,11 @@ func schema_pkg_apis_workflow_v1alpha1_ScriptTemplate(ref common.ReferenceCallba
},
},
"args": {
+ VendorExtensible: spec.VendorExtensible{
+ Extensions: spec.Extensions{
+ "x-kubernetes-list-type": "atomic",
+ },
+ },
SchemaProps: spec.SchemaProps{
Description: "Arguments to the entrypoint. The container image's CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell",
Type: []string{"array"},
@@ -5520,6 +5614,11 @@ func schema_pkg_apis_workflow_v1alpha1_ScriptTemplate(ref common.ReferenceCallba
},
},
"envFrom": {
+ VendorExtensible: spec.VendorExtensible{
+ Extensions: spec.Extensions{
+ "x-kubernetes-list-type": "atomic",
+ },
+ },
SchemaProps: spec.SchemaProps{
Description: "List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated.",
Type: []string{"array"},
@@ -5536,6 +5635,10 @@ func schema_pkg_apis_workflow_v1alpha1_ScriptTemplate(ref common.ReferenceCallba
"env": {
VendorExtensible: spec.VendorExtensible{
Extensions: spec.Extensions{
+ "x-kubernetes-list-map-keys": []interface{}{
+ "name",
+ },
+ "x-kubernetes-list-type": "map",
"x-kubernetes-patch-merge-key": "name",
"x-kubernetes-patch-strategy": "merge",
},
@@ -5560,9 +5663,39 @@ func schema_pkg_apis_workflow_v1alpha1_ScriptTemplate(ref common.ReferenceCallba
Ref: ref("k8s.io/api/core/v1.ResourceRequirements"),
},
},
+ "resizePolicy": {
+ VendorExtensible: spec.VendorExtensible{
+ Extensions: spec.Extensions{
+ "x-kubernetes-list-type": "atomic",
+ },
+ },
+ SchemaProps: spec.SchemaProps{
+ Description: "Resources resize policy for the container.",
+ Type: []string{"array"},
+ Items: &spec.SchemaOrArray{
+ Schema: &spec.Schema{
+ SchemaProps: spec.SchemaProps{
+ Default: map[string]interface{}{},
+ Ref: ref("k8s.io/api/core/v1.ContainerResizePolicy"),
+ },
+ },
+ },
+ },
+ },
+ "restartPolicy": {
+ SchemaProps: spec.SchemaProps{
+ Description: "RestartPolicy defines the restart behavior of individual containers in a pod. This field may only be set for init containers, and the only allowed value is \"Always\". For non-init containers or when this field is not specified, the restart behavior is defined by the Pod's restart policy and the container type. Setting the RestartPolicy as \"Always\" for the init container will have the following effect: this init container will be continually restarted on exit until all regular containers have terminated. Once all regular containers have completed, all init containers with restartPolicy \"Always\" will be shut down. This lifecycle differs from normal init containers and is often referred to as a \"sidecar\" container. Although this init container still starts in the init container sequence, it does not wait for the container to complete before proceeding to the next init container. Instead, the next init container starts immediately after this init container is started, or after any startupProbe has successfully completed.",
+ Type: []string{"string"},
+ Format: "",
+ },
+ },
"volumeMounts": {
VendorExtensible: spec.VendorExtensible{
Extensions: spec.Extensions{
+ "x-kubernetes-list-map-keys": []interface{}{
+ "mountPath",
+ },
+ "x-kubernetes-list-type": "map",
"x-kubernetes-patch-merge-key": "mountPath",
"x-kubernetes-patch-strategy": "merge",
},
@@ -5583,6 +5716,10 @@ func schema_pkg_apis_workflow_v1alpha1_ScriptTemplate(ref common.ReferenceCallba
"volumeDevices": {
VendorExtensible: spec.VendorExtensible{
Extensions: spec.Extensions{
+ "x-kubernetes-list-map-keys": []interface{}{
+ "devicePath",
+ },
+ "x-kubernetes-list-type": "map",
"x-kubernetes-patch-merge-key": "devicePath",
"x-kubernetes-patch-strategy": "merge",
},
@@ -5685,7 +5822,7 @@ func schema_pkg_apis_workflow_v1alpha1_ScriptTemplate(ref common.ReferenceCallba
},
},
Dependencies: []string{
- "k8s.io/api/core/v1.ContainerPort", "k8s.io/api/core/v1.EnvFromSource", "k8s.io/api/core/v1.EnvVar", "k8s.io/api/core/v1.Lifecycle", "k8s.io/api/core/v1.Probe", "k8s.io/api/core/v1.ResourceRequirements", "k8s.io/api/core/v1.SecurityContext", "k8s.io/api/core/v1.VolumeDevice", "k8s.io/api/core/v1.VolumeMount"},
+ "k8s.io/api/core/v1.ContainerPort", "k8s.io/api/core/v1.ContainerResizePolicy", "k8s.io/api/core/v1.EnvFromSource", "k8s.io/api/core/v1.EnvVar", "k8s.io/api/core/v1.Lifecycle", "k8s.io/api/core/v1.Probe", "k8s.io/api/core/v1.ResourceRequirements", "k8s.io/api/core/v1.SecurityContext", "k8s.io/api/core/v1.VolumeDevice", "k8s.io/api/core/v1.VolumeMount"},
}
}
@@ -5842,19 +5979,19 @@ func schema_pkg_apis_workflow_v1alpha1_StopStrategy(ref common.ReferenceCallback
return common.OpenAPIDefinition{
Schema: spec.Schema{
SchemaProps: spec.SchemaProps{
- Description: "v3.6 and after: StopStrategy defines if the CronWorkflow should stop scheduling based on a condition",
+ Description: "StopStrategy defines if the CronWorkflow should stop scheduling based on an expression. v3.6 and after",
Type: []string{"object"},
Properties: map[string]spec.Schema{
- "condition": {
+ "expression": {
SchemaProps: spec.SchemaProps{
- Description: "v3.6 and after: Condition is an expression that stops scheduling workflows when true. Use the variables `failed` or `succeeded` to access the number of failed or successful child workflows.",
+ Description: "v3.6 and after: Expression is an expression that stops scheduling workflows when true. Use the variables `cronworkflow`.`failed` or `cronworkflow`.`succeeded` to access the number of failed or successful child workflows.",
Default: "",
Type: []string{"string"},
Format: "",
},
},
},
- Required: []string{"condition"},
+ Required: []string{"expression"},
},
},
}
@@ -6041,16 +6178,42 @@ func schema_pkg_apis_workflow_v1alpha1_Synchronization(ref common.ReferenceCallb
Properties: map[string]spec.Schema{
"semaphore": {
SchemaProps: spec.SchemaProps{
- Description: "Semaphore holds the Semaphore configuration",
+ Description: "Semaphore holds the Semaphore configuration - deprecated, use semaphores instead",
Ref: ref("github.com/argoproj/argo-workflows/v3/pkg/apis/workflow/v1alpha1.SemaphoreRef"),
},
},
"mutex": {
SchemaProps: spec.SchemaProps{
- Description: "Mutex holds the Mutex lock details",
+ Description: "Mutex holds the Mutex lock details - deprecated, use mutexes instead",
Ref: ref("github.com/argoproj/argo-workflows/v3/pkg/apis/workflow/v1alpha1.Mutex"),
},
},
+ "semaphores": {
+ SchemaProps: spec.SchemaProps{
+ Description: "v3.6 and after: Semaphores holds the list of Semaphores configuration",
+ Type: []string{"array"},
+ Items: &spec.SchemaOrArray{
+ Schema: &spec.Schema{
+ SchemaProps: spec.SchemaProps{
+ Ref: ref("github.com/argoproj/argo-workflows/v3/pkg/apis/workflow/v1alpha1.SemaphoreRef"),
+ },
+ },
+ },
+ },
+ },
+ "mutexes": {
+ SchemaProps: spec.SchemaProps{
+ Description: "v3.6 and after: Mutexes holds the list of Mutex lock details",
+ Type: []string{"array"},
+ Items: &spec.SchemaOrArray{
+ Schema: &spec.Schema{
+ SchemaProps: spec.SchemaProps{
+ Ref: ref("github.com/argoproj/argo-workflows/v3/pkg/apis/workflow/v1alpha1.Mutex"),
+ },
+ },
+ },
+ },
+ },
},
},
},
@@ -6569,6 +6732,11 @@ func schema_pkg_apis_workflow_v1alpha1_UserContainer(ref common.ReferenceCallbac
},
},
"command": {
+ VendorExtensible: spec.VendorExtensible{
+ Extensions: spec.Extensions{
+ "x-kubernetes-list-type": "atomic",
+ },
+ },
SchemaProps: spec.SchemaProps{
Description: "Entrypoint array. Not executed within a shell. The container image's ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell",
Type: []string{"array"},
@@ -6584,6 +6752,11 @@ func schema_pkg_apis_workflow_v1alpha1_UserContainer(ref common.ReferenceCallbac
},
},
"args": {
+ VendorExtensible: spec.VendorExtensible{
+ Extensions: spec.Extensions{
+ "x-kubernetes-list-type": "atomic",
+ },
+ },
SchemaProps: spec.SchemaProps{
Description: "Arguments to the entrypoint. The container image's CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell",
Type: []string{"array"},
@@ -6631,6 +6804,11 @@ func schema_pkg_apis_workflow_v1alpha1_UserContainer(ref common.ReferenceCallbac
},
},
"envFrom": {
+ VendorExtensible: spec.VendorExtensible{
+ Extensions: spec.Extensions{
+ "x-kubernetes-list-type": "atomic",
+ },
+ },
SchemaProps: spec.SchemaProps{
Description: "List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated.",
Type: []string{"array"},
@@ -6647,6 +6825,10 @@ func schema_pkg_apis_workflow_v1alpha1_UserContainer(ref common.ReferenceCallbac
"env": {
VendorExtensible: spec.VendorExtensible{
Extensions: spec.Extensions{
+ "x-kubernetes-list-map-keys": []interface{}{
+ "name",
+ },
+ "x-kubernetes-list-type": "map",
"x-kubernetes-patch-merge-key": "name",
"x-kubernetes-patch-strategy": "merge",
},
@@ -6671,9 +6853,39 @@ func schema_pkg_apis_workflow_v1alpha1_UserContainer(ref common.ReferenceCallbac
Ref: ref("k8s.io/api/core/v1.ResourceRequirements"),
},
},
+ "resizePolicy": {
+ VendorExtensible: spec.VendorExtensible{
+ Extensions: spec.Extensions{
+ "x-kubernetes-list-type": "atomic",
+ },
+ },
+ SchemaProps: spec.SchemaProps{
+ Description: "Resources resize policy for the container.",
+ Type: []string{"array"},
+ Items: &spec.SchemaOrArray{
+ Schema: &spec.Schema{
+ SchemaProps: spec.SchemaProps{
+ Default: map[string]interface{}{},
+ Ref: ref("k8s.io/api/core/v1.ContainerResizePolicy"),
+ },
+ },
+ },
+ },
+ },
+ "restartPolicy": {
+ SchemaProps: spec.SchemaProps{
+ Description: "RestartPolicy defines the restart behavior of individual containers in a pod. This field may only be set for init containers, and the only allowed value is \"Always\". For non-init containers or when this field is not specified, the restart behavior is defined by the Pod's restart policy and the container type. Setting the RestartPolicy as \"Always\" for the init container will have the following effect: this init container will be continually restarted on exit until all regular containers have terminated. Once all regular containers have completed, all init containers with restartPolicy \"Always\" will be shut down. This lifecycle differs from normal init containers and is often referred to as a \"sidecar\" container. Although this init container still starts in the init container sequence, it does not wait for the container to complete before proceeding to the next init container. Instead, the next init container starts immediately after this init container is started, or after any startupProbe has successfully completed.",
+ Type: []string{"string"},
+ Format: "",
+ },
+ },
"volumeMounts": {
VendorExtensible: spec.VendorExtensible{
Extensions: spec.Extensions{
+ "x-kubernetes-list-map-keys": []interface{}{
+ "mountPath",
+ },
+ "x-kubernetes-list-type": "map",
"x-kubernetes-patch-merge-key": "mountPath",
"x-kubernetes-patch-strategy": "merge",
},
@@ -6694,6 +6906,10 @@ func schema_pkg_apis_workflow_v1alpha1_UserContainer(ref common.ReferenceCallbac
"volumeDevices": {
VendorExtensible: spec.VendorExtensible{
Extensions: spec.Extensions{
+ "x-kubernetes-list-map-keys": []interface{}{
+ "devicePath",
+ },
+ "x-kubernetes-list-type": "map",
"x-kubernetes-patch-merge-key": "devicePath",
"x-kubernetes-patch-strategy": "merge",
},
@@ -6795,7 +7011,7 @@ func schema_pkg_apis_workflow_v1alpha1_UserContainer(ref common.ReferenceCallbac
},
},
Dependencies: []string{
- "k8s.io/api/core/v1.ContainerPort", "k8s.io/api/core/v1.EnvFromSource", "k8s.io/api/core/v1.EnvVar", "k8s.io/api/core/v1.Lifecycle", "k8s.io/api/core/v1.Probe", "k8s.io/api/core/v1.ResourceRequirements", "k8s.io/api/core/v1.SecurityContext", "k8s.io/api/core/v1.VolumeDevice", "k8s.io/api/core/v1.VolumeMount"},
+ "k8s.io/api/core/v1.ContainerPort", "k8s.io/api/core/v1.ContainerResizePolicy", "k8s.io/api/core/v1.EnvFromSource", "k8s.io/api/core/v1.EnvVar", "k8s.io/api/core/v1.Lifecycle", "k8s.io/api/core/v1.Probe", "k8s.io/api/core/v1.ResourceRequirements", "k8s.io/api/core/v1.SecurityContext", "k8s.io/api/core/v1.VolumeDevice", "k8s.io/api/core/v1.VolumeMount"},
}
}
diff --git a/pkg/apis/workflow/v1alpha1/workflow_types.go b/pkg/apis/workflow/v1alpha1/workflow_types.go
index 878f82dfa0c2..c90ebd76dd38 100644
--- a/pkg/apis/workflow/v1alpha1/workflow_types.go
+++ b/pkg/apis/workflow/v1alpha1/workflow_types.go
@@ -10,6 +10,8 @@ import (
"path/filepath"
"reflect"
"regexp"
+ "runtime"
+ "slices"
"sort"
"strings"
"time"
@@ -25,7 +27,6 @@ import (
log "github.com/sirupsen/logrus"
argoerrs "github.com/argoproj/argo-workflows/v3/errors"
- "github.com/argoproj/argo-workflows/v3/util/slice"
)
// TemplateType is the type of a template
@@ -133,6 +134,13 @@ const (
VolumeClaimGCOnSuccess VolumeClaimGCStrategy = "OnWorkflowSuccess"
)
+type HoldingNameVersion int
+
+const (
+ HoldingNameV1 HoldingNameVersion = 1
+ HoldingNameV2 HoldingNameVersion = 2
+)
+
// Workflow is the definition of a workflow resource
// +genclient
// +genclient:noStatus
@@ -996,6 +1004,11 @@ func (a *Artifact) CleanPath() error {
// Any resolved path should always be within the /tmp/safe/ directory.
safeDir := ""
slashDotDotRe := regexp.MustCompile(fmt.Sprintf(`%c..$`, os.PathSeparator))
+ if runtime.GOOS == "windows" {
+ // windows PathSeparator is \ and needs escaping
+ slashDotDotRe = regexp.MustCompile(fmt.Sprintf(`\%c..$`, os.PathSeparator))
+ }
+
slashDotDotSlash := fmt.Sprintf(`%c..%c`, os.PathSeparator, os.PathSeparator)
if strings.Contains(path, slashDotDotSlash) {
safeDir = path[:strings.Index(path, slashDotDotSlash)]
@@ -1635,10 +1648,14 @@ type TemplateRef struct {
// Synchronization holds synchronization lock configuration
type Synchronization struct {
- // Semaphore holds the Semaphore configuration
+ // Semaphore holds the Semaphore configuration - deprecated, use semaphores instead
Semaphore *SemaphoreRef `json:"semaphore,omitempty" protobuf:"bytes,1,opt,name=semaphore"`
- // Mutex holds the Mutex lock details
+ // Mutex holds the Mutex lock details - deprecated, use mutexes instead
Mutex *Mutex `json:"mutex,omitempty" protobuf:"bytes,2,opt,name=mutex"`
+ // v3.6 and after: Semaphores holds the list of Semaphores configuration
+ Semaphores []*SemaphoreRef `json:"semaphores,omitempty" protobuf:"bytes,3,opt,name=semaphores"`
+ // v3.6 and after: Mutexes holds the list of Mutex lock details
+ Mutexes []*Mutex `json:"mutexes,omitempty" protobuf:"bytes,4,opt,name=mutexes"`
}
func (s *Synchronization) getSemaphoreConfigMapRef() *apiv1.ConfigMapKeySelector {
@@ -1648,23 +1665,6 @@ func (s *Synchronization) getSemaphoreConfigMapRef() *apiv1.ConfigMapKeySelector
return nil
}
-type SynchronizationType string
-
-const (
- SynchronizationTypeSemaphore SynchronizationType = "Semaphore"
- SynchronizationTypeMutex SynchronizationType = "Mutex"
- SynchronizationTypeUnknown SynchronizationType = "Unknown"
-)
-
-func (s *Synchronization) GetType() SynchronizationType {
- if s.Semaphore != nil {
- return SynchronizationTypeSemaphore
- } else if s.Mutex != nil {
- return SynchronizationTypeMutex
- }
- return SynchronizationTypeUnknown
-}
-
// SemaphoreRef is a reference of Semaphore
type SemaphoreRef struct {
// ConfigMapKeyRef is configmap selector for Semaphore configuration
@@ -2409,11 +2409,6 @@ func (n NodeStatus) IsExitNode() bool {
return strings.HasSuffix(n.DisplayName, ".onExit")
}
-// IsPodDeleted returns whether node is error with pod deleted.
-func (n NodeStatus) IsPodDeleted() bool {
- return n.Phase == NodeError && n.Message == "pod deleted"
-}
-
func (n NodeStatus) Succeeded() bool {
return n.Phase == NodeSucceeded
}
@@ -2521,6 +2516,9 @@ type S3Bucket struct {
// SecretKeySecret is the secret selector to the bucket's secret key
SecretKeySecret *apiv1.SecretKeySelector `json:"secretKeySecret,omitempty" protobuf:"bytes,6,opt,name=secretKeySecret"`
+ // SessionTokenSecret is used for ephemeral credentials like an IAM assume role or S3 access grant
+ SessionTokenSecret *apiv1.SecretKeySelector `json:"sessionTokenSecret,omitempty" protobuf:"bytes,12,opt,name=sessionTokenSecret"`
+
// RoleARN is the Amazon Resource Name (ARN) of the role to assume.
RoleARN string `json:"roleARN,omitempty" protobuf:"bytes,7,opt,name=roleARN"`
@@ -2613,6 +2611,9 @@ type GitArtifact struct {
// Branch is the branch to fetch when `SingleBranch` is enabled
Branch string `json:"branch,omitempty" protobuf:"bytes,11,opt,name=branch"`
+
+ // InsecureSkipTLS disables server certificate verification resulting in insecure HTTPS connections
+ InsecureSkipTLS bool `json:"insecureSkipTLS,omitempty" protobuf:"varint,12,opt,name=insecureSkipTLS"`
}
func (g *GitArtifact) HasLocation() bool {
@@ -3779,15 +3780,11 @@ func (ss *SemaphoreStatus) LockWaiting(holderKey, lockKey string, currentHolders
func (ss *SemaphoreStatus) LockAcquired(holderKey, lockKey string, currentHolders []string) bool {
i, semaphoreHolding := ss.GetHolding(lockKey)
- items := strings.Split(holderKey, "/")
- if len(items) == 0 {
- return false
- }
- holdingName := items[len(items)-1]
+ holdingName := holderKey
if i < 0 {
ss.Holding = append(ss.Holding, SemaphoreHolding{Semaphore: lockKey, Holders: []string{holdingName}})
return true
- } else if !slice.ContainsString(semaphoreHolding.Holders, holdingName) {
+ } else if !slices.Contains(semaphoreHolding.Holders, holdingName) {
semaphoreHolding.Holders = append(semaphoreHolding.Holders, holdingName)
ss.Holding[i] = semaphoreHolding
return true
@@ -3797,13 +3794,11 @@ func (ss *SemaphoreStatus) LockAcquired(holderKey, lockKey string, currentHolder
func (ss *SemaphoreStatus) LockReleased(holderKey, lockKey string) bool {
i, semaphoreHolding := ss.GetHolding(lockKey)
- items := strings.Split(holderKey, "/")
- if len(items) == 0 {
- return false
- }
- holdingName := items[len(items)-1]
+ holdingName := holderKey
+
if i >= 0 {
- semaphoreHolding.Holders = slice.RemoveString(semaphoreHolding.Holders, holdingName)
+ semaphoreHolding.Holders = slices.DeleteFunc(semaphoreHolding.Holders,
+ func(x string) bool { return x == holdingName })
ss.Holding[i] = semaphoreHolding
return true
}
@@ -3872,13 +3867,17 @@ func (ms *MutexStatus) LockWaiting(holderKey, lockKey string, currentHolders []s
return false
}
-func (ms *MutexStatus) LockAcquired(holderKey, lockKey string, currentHolders []string) bool {
- i, mutexHolding := ms.GetHolding(lockKey)
+func CheckHolderKeyVersion(holderKey string) HoldingNameVersion {
items := strings.Split(holderKey, "/")
- if len(items) == 0 {
- return false
+ if len(items) == 2 || len(items) == 3 {
+ return HoldingNameV2
}
- holdingName := items[len(items)-1]
+ return HoldingNameV1
+}
+
+func (ms *MutexStatus) LockAcquired(holderKey, lockKey string, currentHolders []string) bool {
+ i, mutexHolding := ms.GetHolding(lockKey)
+ holdingName := holderKey
if i < 0 {
ms.Holding = append(ms.Holding, MutexHolding{Mutex: lockKey, Holder: holdingName})
return true
@@ -3892,11 +3891,7 @@ func (ms *MutexStatus) LockAcquired(holderKey, lockKey string, currentHolders []
func (ms *MutexStatus) LockReleased(holderKey, lockKey string) bool {
i, holder := ms.GetHolding(lockKey)
- items := strings.Split(holderKey, "/")
- if len(items) == 0 {
- return false
- }
- holdingName := items[len(items)-1]
+ holdingName := holderKey
if i >= 0 && holder.Holder == holdingName {
ms.Holding = append(ms.Holding[:i], ms.Holding[i+1:]...)
return true
@@ -3912,6 +3907,14 @@ type SynchronizationStatus struct {
Mutex *MutexStatus `json:"mutex,omitempty" protobuf:"bytes,2,opt,name=mutex"`
}
+type SynchronizationType string
+
+const (
+ SynchronizationTypeSemaphore SynchronizationType = "Semaphore"
+ SynchronizationTypeMutex SynchronizationType = "Mutex"
+ SynchronizationTypeUnknown SynchronizationType = "Unknown"
+)
+
func (ss *SynchronizationStatus) GetStatus(syncType SynchronizationType) SynchronizationAction {
switch syncType {
case SynchronizationTypeSemaphore:
diff --git a/pkg/apis/workflow/v1alpha1/workflow_types_test.go b/pkg/apis/workflow/v1alpha1/workflow_types_test.go
index fe75ecf7cfe4..c932f97a8684 100644
--- a/pkg/apis/workflow/v1alpha1/workflow_types_test.go
+++ b/pkg/apis/workflow/v1alpha1/workflow_types_test.go
@@ -1,9 +1,9 @@
-//go:build !windows
-
package v1alpha1
import (
"fmt"
+ "os"
+ "path/filepath"
"sort"
"testing"
"time"
@@ -14,7 +14,7 @@ import (
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/labels"
"k8s.io/apimachinery/pkg/util/wait"
- "k8s.io/utils/pointer"
+ "k8s.io/utils/ptr"
)
func TestWorkflows(t *testing.T) {
@@ -255,62 +255,69 @@ func TestArtifact_ValidatePath(t *testing.T) {
a3 := Artifact{Name: "a3", Path: "../.."}
err = a3.CleanPath()
require.NoError(t, err)
- assert.Equal(t, "../..", a3.Path)
+ assert.Equal(t, filepath.Join("..", ".."), a3.Path)
a4 := Artifact{Name: "a4", Path: "../etc/passwd"}
err = a4.CleanPath()
require.NoError(t, err)
- assert.Equal(t, "../etc/passwd", a4.Path)
+ assert.Equal(t, filepath.Join("..", "etc", "passwd"), a4.Path)
})
t.Run("directory traversal ending within safe base dir succeeds", func(t *testing.T) {
a1 := Artifact{Name: "a1", Path: "/tmp/../tmp/abcd"}
err := a1.CleanPath()
require.NoError(t, err)
- assert.Equal(t, "/tmp/abcd", a1.Path)
+ assert.Equal(t, ensureRootPathSeparator(filepath.Join("tmp", "abcd")), a1.Path)
a2 := Artifact{Name: "a2", Path: "/tmp/subdir/../../tmp/subdir/abcd"}
err = a2.CleanPath()
require.NoError(t, err)
- assert.Equal(t, "/tmp/subdir/abcd", a2.Path)
+ assert.Equal(t, ensureRootPathSeparator(filepath.Join("tmp", "subdir", "abcd")), a2.Path)
})
t.Run("artifact path filenames are allowed to contain double dots", func(t *testing.T) {
a1 := Artifact{Name: "a1", Path: "/tmp/..artifact.txt"}
err := a1.CleanPath()
require.NoError(t, err)
- assert.Equal(t, "/tmp/..artifact.txt", a1.Path)
+ assert.Equal(t, ensureRootPathSeparator(filepath.Join("tmp", "..artifact.txt")), a1.Path)
a2 := Artifact{Name: "a2", Path: "/tmp/artif..t.txt"}
err = a2.CleanPath()
require.NoError(t, err)
- assert.Equal(t, "/tmp/artif..t.txt", a2.Path)
+ assert.Equal(t, ensureRootPathSeparator(filepath.Join("tmp", "artif..t.txt")), a2.Path)
})
t.Run("normal artifact path succeeds", func(t *testing.T) {
a1 := Artifact{Name: "a1", Path: "/tmp"}
err := a1.CleanPath()
require.NoError(t, err)
- assert.Equal(t, "/tmp", a1.Path)
+ assert.Equal(t, ensureRootPathSeparator("tmp"), a1.Path)
a2 := Artifact{Name: "a2", Path: "/tmp/"}
err = a2.CleanPath()
require.NoError(t, err)
- assert.Equal(t, "/tmp", a2.Path)
+ assert.Equal(t, ensureRootPathSeparator("tmp"), a2.Path)
a3 := Artifact{Name: "a3", Path: "/tmp/abcd/some-artifact.txt"}
err = a3.CleanPath()
require.NoError(t, err)
- assert.Equal(t, "/tmp/abcd/some-artifact.txt", a3.Path)
+ assert.Equal(t, ensureRootPathSeparator(filepath.Join("tmp", "abcd", "some-artifact.txt")), a3.Path)
})
}
+func ensureRootPathSeparator(p string) string {
+ if p[0] == os.PathSeparator {
+ return p
+ }
+ return string(os.PathSeparator) + p
+}
+
func TestArtifactLocation_IsArchiveLogs(t *testing.T) {
var l *ArtifactLocation
assert.False(t, l.IsArchiveLogs())
assert.False(t, (&ArtifactLocation{}).IsArchiveLogs())
- assert.False(t, (&ArtifactLocation{ArchiveLogs: pointer.Bool(false)}).IsArchiveLogs())
- assert.True(t, (&ArtifactLocation{ArchiveLogs: pointer.Bool(true)}).IsArchiveLogs())
+ assert.False(t, (&ArtifactLocation{ArchiveLogs: ptr.To(false)}).IsArchiveLogs())
+ assert.True(t, (&ArtifactLocation{ArchiveLogs: ptr.To(true)}).IsArchiveLogs())
}
func TestArtifactLocation_HasLocation(t *testing.T) {
@@ -1070,7 +1077,7 @@ func TestWorkflowSpec_GetVolumeGC(t *testing.T) {
}
func TestGetTTLStrategy(t *testing.T) {
- spec := WorkflowSpec{TTLStrategy: &TTLStrategy{SecondsAfterCompletion: pointer.Int32(20)}}
+ spec := WorkflowSpec{TTLStrategy: &TTLStrategy{SecondsAfterCompletion: ptr.To(int32(20))}}
ttl := spec.GetTTLStrategy()
assert.Equal(t, int32(20), *ttl.SecondsAfterCompletion)
}
@@ -1078,11 +1085,11 @@ func TestGetTTLStrategy(t *testing.T) {
func TestWfGetTTLStrategy(t *testing.T) {
wf := Workflow{}
- wf.Status.StoredWorkflowSpec = &WorkflowSpec{TTLStrategy: &TTLStrategy{SecondsAfterCompletion: pointer.Int32(20)}}
+ wf.Status.StoredWorkflowSpec = &WorkflowSpec{TTLStrategy: &TTLStrategy{SecondsAfterCompletion: ptr.To(int32(20))}}
result := wf.GetTTLStrategy()
assert.Equal(t, int32(20), *result.SecondsAfterCompletion)
- wf.Spec.TTLStrategy = &TTLStrategy{SecondsAfterCompletion: pointer.Int32(30)}
+ wf.Spec.TTLStrategy = &TTLStrategy{SecondsAfterCompletion: ptr.To(int32(30))}
result = wf.GetTTLStrategy()
assert.Equal(t, int32(30), *result.SecondsAfterCompletion)
}
@@ -1255,7 +1262,7 @@ func TestTemplate_SaveLogsAsArtifact(t *testing.T) {
assert.False(t, x.SaveLogsAsArtifact())
})
t.Run("IsArchiveLogs", func(t *testing.T) {
- x := &Template{ArchiveLocation: &ArtifactLocation{ArchiveLogs: pointer.Bool(true)}}
+ x := &Template{ArchiveLocation: &ArtifactLocation{ArchiveLogs: ptr.To(true)}}
assert.True(t, x.SaveLogsAsArtifact())
})
}
@@ -1274,7 +1281,7 @@ func TestTemplate_ExcludeTemplateTypes(t *testing.T) {
Steps: []ParallelSteps{steps},
Script: &ScriptTemplate{Source: "test"},
Container: &corev1.Container{Name: "container"},
- DAG: &DAGTemplate{FailFast: pointer.Bool(true)},
+ DAG: &DAGTemplate{FailFast: ptr.To(true)},
Resource: &ResourceTemplate{Action: "Create"},
Data: &Data{Source: DataSource{ArtifactPaths: &ArtifactPaths{}}},
Suspend: &SuspendTemplate{Duration: "10s"},
diff --git a/pkg/apis/workflow/v1alpha1/zz_generated.deepcopy.go b/pkg/apis/workflow/v1alpha1/zz_generated.deepcopy.go
index 149a3951cfae..7592ca05ced8 100644
--- a/pkg/apis/workflow/v1alpha1/zz_generated.deepcopy.go
+++ b/pkg/apis/workflow/v1alpha1/zz_generated.deepcopy.go
@@ -2766,6 +2766,11 @@ func (in *S3Bucket) DeepCopyInto(out *S3Bucket) {
*out = new(v1.SecretKeySelector)
(*in).DeepCopyInto(*out)
}
+ if in.SessionTokenSecret != nil {
+ in, out := &in.SessionTokenSecret, &out.SessionTokenSecret
+ *out = new(v1.SecretKeySelector)
+ (*in).DeepCopyInto(*out)
+ }
if in.CreateBucketIfNotPresent != nil {
in, out := &in.CreateBucketIfNotPresent, &out.CreateBucketIfNotPresent
*out = new(CreateS3BucketOptions)
@@ -3050,6 +3055,28 @@ func (in *Synchronization) DeepCopyInto(out *Synchronization) {
*out = new(Mutex)
**out = **in
}
+ if in.Semaphores != nil {
+ in, out := &in.Semaphores, &out.Semaphores
+ *out = make([]*SemaphoreRef, len(*in))
+ for i := range *in {
+ if (*in)[i] != nil {
+ in, out := &(*in)[i], &(*out)[i]
+ *out = new(SemaphoreRef)
+ (*in).DeepCopyInto(*out)
+ }
+ }
+ }
+ if in.Mutexes != nil {
+ in, out := &in.Mutexes, &out.Mutexes
+ *out = make([]*Mutex, len(*in))
+ for i := range *in {
+ if (*in)[i] != nil {
+ in, out := &(*in)[i], &(*out)[i]
+ *out = new(Mutex)
+ **out = **in
+ }
+ }
+ }
return
}
diff --git a/pkg/plugins/executor/swagger.yml b/pkg/plugins/executor/swagger.yml
index 8efc36b85b49..6830ec022f9f 100644
--- a/pkg/plugins/executor/swagger.yml
+++ b/pkg/plugins/executor/swagger.yml
@@ -60,6 +60,24 @@ definitions:
It will marshall back to string - marshalling is not symmetric.
title: It's JSON type is just string.
type: string
+ AppArmorProfile:
+ description: +union
+ properties:
+ localhostProfile:
+ description: |-
+ localhostProfile indicates a profile loaded on the node that should be used.
+ The profile must be preconfigured on the node to work.
+ Must match the loaded name of the profile.
+ Must be set if and only if type is "Localhost".
+ +optional
+ type: string
+ type:
+ $ref: '#/definitions/AppArmorProfileType'
+ title: AppArmorProfile defines a pod or container's AppArmor settings.
+ type: object
+ AppArmorProfileType:
+ description: +enum
+ type: string
ArchiveStrategy:
description: ArchiveStrategy describes how to archive files/directory when saving artifacts
properties:
@@ -405,6 +423,7 @@ definitions:
description: |-
Added capabilities
+optional
+ +listType=atomic
items:
$ref: '#/definitions/Capability'
type: array
@@ -412,6 +431,7 @@ definitions:
description: |-
Removed capabilities
+optional
+ +listType=atomic
items:
$ref: '#/definitions/Capability'
type: array
@@ -429,6 +449,7 @@ definitions:
description: |-
monitors is Required: Monitors is a collection of Ceph monitors
More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it
+ +listType=atomic
items:
type: string
type: array
@@ -497,6 +518,40 @@ definitions:
clientKeySecret:
$ref: '#/definitions/SecretKeySelector'
type: object
+ ClusterTrustBundleProjection:
+ description: |-
+ ClusterTrustBundleProjection describes how to select a set of
+ ClusterTrustBundle objects and project their contents into the pod
+ filesystem.
+ properties:
+ labelSelector:
+ $ref: '#/definitions/LabelSelector'
+ name:
+ description: |-
+ Select a single ClusterTrustBundle by object name. Mutually-exclusive
+ with signerName and labelSelector.
+ +optional
+ type: string
+ optional:
+ description: |-
+ If true, don't block pod startup if the referenced ClusterTrustBundle(s)
+ aren't available. If using name, then the named ClusterTrustBundle is
+ allowed not to exist. If using signerName, then the combination of
+ signerName and labelSelector is allowed to match zero
+ ClusterTrustBundles.
+ +optional
+ type: boolean
+ path:
+ description: Relative path from the volume root to write the bundle.
+ type: string
+ signerName:
+ description: |-
+ Select all ClusterTrustBundles that match this signer name.
+ Mutually-exclusive with name. The contents of all selected
+ ClusterTrustBundles will be unified and deduplicated.
+ +optional
+ type: string
+ type: object
ConfigMapEnvSource:
description: |-
The contents of the target ConfigMap's Data field will represent the
@@ -505,9 +560,15 @@ definitions:
name:
description: |-
Name of the referent.
- More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ This field is effectively required, but due to backwards compatibility is
+ allowed to be empty. Instances of this type with an empty value here are
+ almost certainly wrong.
TODO: Add other useful fields. apiVersion, kind, uid?
+ More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+optional
+ +default=""
+ +kubebuilder:default=""
+ TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
type: string
optional:
description: |-
@@ -527,9 +588,15 @@ definitions:
name:
description: |-
Name of the referent.
- More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ This field is effectively required, but due to backwards compatibility is
+ allowed to be empty. Instances of this type with an empty value here are
+ almost certainly wrong.
TODO: Add other useful fields. apiVersion, kind, uid?
+ More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+optional
+ +default=""
+ +kubebuilder:default=""
+ TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
type: string
optional:
description: |-
@@ -556,15 +623,22 @@ definitions:
the volume setup will error unless it is marked optional. Paths must be
relative and may not contain the '..' path or start with '..'.
+optional
+ +listType=atomic
items:
$ref: '#/definitions/KeyToPath'
type: array
name:
description: |-
Name of the referent.
- More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ This field is effectively required, but due to backwards compatibility is
+ allowed to be empty. Instances of this type with an empty value here are
+ almost certainly wrong.
TODO: Add other useful fields. apiVersion, kind, uid?
+ More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+optional
+ +default=""
+ +kubebuilder:default=""
+ TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
type: string
optional:
description: |-
@@ -602,15 +676,22 @@ definitions:
the volume setup will error unless it is marked optional. Paths must be
relative and may not contain the '..' path or start with '..'.
+optional
+ +listType=atomic
items:
$ref: '#/definitions/KeyToPath'
type: array
name:
description: |-
Name of the referent.
- More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ This field is effectively required, but due to backwards compatibility is
+ allowed to be empty. Instances of this type with an empty value here are
+ almost certainly wrong.
TODO: Add other useful fields. apiVersion, kind, uid?
+ More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+optional
+ +default=""
+ +kubebuilder:default=""
+ TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
type: string
optional:
description: |-
@@ -632,6 +713,7 @@ definitions:
of whether the variable exists or not. Cannot be updated.
More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell
+optional
+ +listType=atomic
items:
type: string
type: array
@@ -646,6 +728,7 @@ definitions:
of whether the variable exists or not. Cannot be updated.
More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell
+optional
+ +listType=atomic
items:
type: string
type: array
@@ -656,6 +739,8 @@ definitions:
+optional
+patchMergeKey=name
+patchStrategy=merge
+ +listType=map
+ +listMapKey=name
items:
$ref: '#/definitions/EnvVar'
type: array
@@ -668,6 +753,7 @@ definitions:
Values defined by an Env with a duplicate key will take precedence.
Cannot be updated.
+optional
+ +listType=atomic
items:
$ref: '#/definitions/EnvFromSource'
type: array
@@ -711,8 +797,19 @@ definitions:
type: array
readinessProbe:
$ref: '#/definitions/Probe'
+ resizePolicy:
+ description: |-
+ Resources resize policy for the container.
+ +featureGate=InPlacePodVerticalScaling
+ +optional
+ +listType=atomic
+ items:
+ $ref: '#/definitions/ContainerResizePolicy'
+ type: array
resources:
$ref: '#/definitions/ResourceRequirements'
+ restartPolicy:
+ $ref: '#/definitions/ContainerRestartPolicy'
securityContext:
$ref: '#/definitions/SecurityContext'
startupProbe:
@@ -759,6 +856,8 @@ definitions:
volumeDevices is the list of block devices to be used by the container.
+patchMergeKey=devicePath
+patchStrategy=merge
+ +listType=map
+ +listMapKey=devicePath
+optional
items:
$ref: '#/definitions/VolumeDevice'
@@ -770,6 +869,8 @@ definitions:
+optional
+patchMergeKey=mountPath
+patchStrategy=merge
+ +listType=map
+ +listMapKey=mountPath
items:
$ref: '#/definitions/VolumeMount'
type: array
@@ -796,6 +897,7 @@ definitions:
of whether the variable exists or not. Cannot be updated.
More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell
+optional
+ +listType=atomic
items:
type: string
type: array
@@ -810,6 +912,7 @@ definitions:
of whether the variable exists or not. Cannot be updated.
More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell
+optional
+ +listType=atomic
items:
type: string
type: array
@@ -824,6 +927,8 @@ definitions:
+optional
+patchMergeKey=name
+patchStrategy=merge
+ +listType=map
+ +listMapKey=name
items:
$ref: '#/definitions/EnvVar'
type: array
@@ -836,6 +941,7 @@ definitions:
Values defined by an Env with a duplicate key will take precedence.
Cannot be updated.
+optional
+ +listType=atomic
items:
$ref: '#/definitions/EnvFromSource'
type: array
@@ -879,8 +985,19 @@ definitions:
type: array
readinessProbe:
$ref: '#/definitions/Probe'
+ resizePolicy:
+ description: |-
+ Resources resize policy for the container.
+ +featureGate=InPlacePodVerticalScaling
+ +optional
+ +listType=atomic
+ items:
+ $ref: '#/definitions/ContainerResizePolicy'
+ type: array
resources:
$ref: '#/definitions/ResourceRequirements'
+ restartPolicy:
+ $ref: '#/definitions/ContainerRestartPolicy'
securityContext:
$ref: '#/definitions/SecurityContext'
startupProbe:
@@ -927,6 +1044,8 @@ definitions:
volumeDevices is the list of block devices to be used by the container.
+patchMergeKey=devicePath
+patchStrategy=merge
+ +listType=map
+ +listMapKey=devicePath
+optional
items:
$ref: '#/definitions/VolumeDevice'
@@ -938,6 +1057,8 @@ definitions:
+optional
+patchMergeKey=mountPath
+patchStrategy=merge
+ +listType=map
+ +listMapKey=mountPath
items:
$ref: '#/definitions/VolumeMount'
type: array
@@ -983,6 +1104,18 @@ definitions:
$ref: '#/definitions/Protocol'
title: ContainerPort represents a network port in a single container.
type: object
+ ContainerResizePolicy:
+ properties:
+ resourceName:
+ $ref: '#/definitions/ResourceName'
+ restartPolicy:
+ $ref: '#/definitions/ResourceResizeRestartPolicy'
+ title: ContainerResizePolicy represents resource resize policy for the container.
+ type: object
+ ContainerRestartPolicy:
+ description: This may only be set for init containers and only allowed value is "Always".
+ title: ContainerRestartPolicy is the restart policy for a single container.
+ type: string
ContainerSetRetryStrategy:
description: ContainerSetRetryStrategy provides controls on how to retry a container set
properties:
@@ -1129,6 +1262,7 @@ definitions:
description: |-
Items is a list of DownwardAPIVolume file
+optional
+ +listType=atomic
items:
$ref: '#/definitions/DownwardAPIVolumeFile'
type: array
@@ -1176,6 +1310,7 @@ definitions:
description: |-
Items is a list of downward API volume file
+optional
+ +listType=atomic
items:
$ref: '#/definitions/DownwardAPIVolumeFile'
type: array
@@ -1259,6 +1394,7 @@ definitions:
a shell, you need to explicitly call out to that shell.
Exit status of 0 is treated as live/healthy and non-zero is unhealthy.
+optional
+ +listType=atomic
items:
type: string
type: array
@@ -1317,6 +1453,7 @@ definitions:
description: |-
targetWWNs is Optional: FC target worldwide names (WWNs)
+optional
+ +listType=atomic
items:
type: string
type: array
@@ -1325,6 +1462,7 @@ definitions:
wwids Optional: FC volume world wide identifiers (wwids)
Either wwids or combination of targetWWNs and lun must be set, but not both simultaneously.
+optional
+ +listType=atomic
items:
type: string
type: array
@@ -1501,6 +1639,9 @@ definitions:
insecureIgnoreHostKey:
description: InsecureIgnoreHostKey disables SSH strict host key checking during git clone
type: boolean
+ insecureSkipTLS:
+ description: InsecureSkipTLS disables server certificate verification resulting in insecure HTTPS connections
+ type: boolean
passwordSecret:
$ref: '#/definitions/SecretKeySelector'
repo:
@@ -1682,6 +1823,7 @@ definitions:
description: |-
Custom headers to set in the request. HTTP allows repeated headers.
+optional
+ +listType=atomic
items:
$ref: '#/definitions/HTTPHeader'
type: array
@@ -1742,12 +1884,16 @@ definitions:
pod's hosts file.
properties:
hostnames:
- description: Hostnames for the above IP address.
+ description: |-
+ Hostnames for the above IP address.
+ +listType=atomic
items:
type: string
type: array
ip:
- description: IP address of the host file entry.
+ description: |-
+ IP address of the host file entry.
+ +required
type: string
type: object
HostPathType:
@@ -1815,6 +1961,7 @@ definitions:
portals is the iSCSI Target Portal List. The portal is either an IP or ip_addr:port if the port
is other than default (typically TCP ports 860 and 3260).
+optional
+ +listType=atomic
items:
type: string
type: array
@@ -1911,6 +2058,7 @@ definitions:
description: |-
matchExpressions is a list of label selector requirements. The requirements are ANDed.
+optional
+ +listType=atomic
items:
$ref: '#/definitions/LabelSelectorRequirement'
type: array
@@ -1933,10 +2081,7 @@ definitions:
relates the key and values.
properties:
key:
- description: |-
- key is the label key that the selector applies to.
- +patchMergeKey=key
- +patchStrategy=merge
+ description: key is the label key that the selector applies to.
type: string
operator:
$ref: '#/definitions/LabelSelectorOperator'
@@ -1947,6 +2092,7 @@ definitions:
the values array must be empty. This array is replaced during a strategic
merge patch.
+optional
+ +listType=atomic
items:
type: string
type: array
@@ -1971,6 +2117,8 @@ definitions:
$ref: '#/definitions/ExecAction'
httpGet:
$ref: '#/definitions/HTTPGetAction'
+ sleep:
+ $ref: '#/definitions/SleepAction'
tcpSocket:
$ref: '#/definitions/TCPSocketAction'
type: object
@@ -2002,9 +2150,15 @@ definitions:
name:
description: |-
Name of the referent.
- More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ This field is effectively required, but due to backwards compatibility is
+ allowed to be empty. Instances of this type with an empty value here are
+ almost certainly wrong.
TODO: Add other useful fields. apiVersion, kind, uid?
+ More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+optional
+ +default=""
+ +kubebuilder:default=""
+ TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
type: string
type: object
ManagedFieldsEntry:
@@ -2152,6 +2306,7 @@ definitions:
"weight" to the sum if the node matches the corresponding matchExpressions; the
node(s) with the highest sum are the most preferred.
+optional
+ +listType=atomic
items:
$ref: '#/definitions/PreferredSchedulingTerm'
type: array
@@ -2181,7 +2336,9 @@ definitions:
+structType=atomic
properties:
nodeSelectorTerms:
- description: Required. A list of node selector terms. The terms are ORed.
+ description: |-
+ Required. A list of node selector terms. The terms are ORed.
+ +listType=atomic
items:
$ref: '#/definitions/NodeSelectorTerm'
type: array
@@ -2210,6 +2367,7 @@ definitions:
array must have a single element, which will be interpreted as an integer.
This array is replaced during a strategic merge patch.
+optional
+ +listType=atomic
items:
type: string
type: array
@@ -2225,6 +2383,7 @@ definitions:
description: |-
A list of node selector requirements by node's labels.
+optional
+ +listType=atomic
items:
$ref: '#/definitions/NodeSelectorRequirement'
type: array
@@ -2232,6 +2391,7 @@ definitions:
description: |-
A list of node selector requirements by node's fields.
+optional
+ +listType=atomic
items:
$ref: '#/definitions/NodeSelectorRequirement'
type: array
@@ -2387,7 +2547,7 @@ definitions:
name:
description: |-
Name of the referent.
- More info: http://kubernetes.io/docs/user-guide/identifiers#names
+ More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#names
type: string
uid:
$ref: '#/definitions/UID'
@@ -2433,6 +2593,7 @@ definitions:
accessModes contains the desired access modes the volume should have.
More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1
+optional
+ +listType=atomic
items:
$ref: '#/definitions/PersistentVolumeAccessMode'
type: array
@@ -2441,7 +2602,7 @@ definitions:
dataSourceRef:
$ref: '#/definitions/TypedObjectReference'
resources:
- $ref: '#/definitions/ResourceRequirements'
+ $ref: '#/definitions/VolumeResourceRequirements'
selector:
$ref: '#/definitions/LabelSelector'
storageClassName:
@@ -2450,6 +2611,23 @@ definitions:
More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1
+optional
type: string
+ volumeAttributesClassName:
+ description: |-
+ volumeAttributesClassName may be used to set the VolumeAttributesClass used by this claim.
+ If specified, the CSI driver will create or update the volume with the attributes defined
+ in the corresponding VolumeAttributesClass. This has a different purpose than storageClassName,
+ it can be changed after the claim is created. An empty string value means that no VolumeAttributesClass
+ will be applied to the claim but it's not allowed to reset this field to empty string once it is set.
+ If unspecified and the PersistentVolumeClaim is unbound, the default VolumeAttributesClass
+ will be set by the persistentvolume controller if it exists.
+ If the resource referred to by volumeAttributesClass does not exist, this PersistentVolumeClaim will be
+ set to a Pending state, as reflected by the modifyVolumeStatus field, until such as a resource
+ exists.
+ More info: https://kubernetes.io/docs/concepts/storage/volume-attributes-classes/
+ (Alpha) Using this field requires the VolumeAttributesClass feature gate to be enabled.
+ +featureGate=VolumeAttributesClass
+ +optional
+ type: string
volumeMode:
$ref: '#/definitions/PersistentVolumeMode'
volumeName:
@@ -2470,7 +2648,7 @@ definitions:
Annotations is an unstructured key value map stored with a resource that may be
set by external tools to store and retrieve arbitrary metadata. They are not
queryable and should be preserved when modifying objects.
- More info: http://kubernetes.io/docs/user-guide/annotations
+ More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations
+optional
type: object
creationTimestamp:
@@ -2533,6 +2711,7 @@ definitions:
are not vulnerable to ordering changes in the list.
+optional
+patchStrategy=merge
+ +listType=set
items:
type: string
type: array
@@ -2566,7 +2745,7 @@ definitions:
Map of string keys and values that can be used to organize and categorize
(scope and select) objects. May match selectors of replication controllers
and services.
- More info: http://kubernetes.io/docs/user-guide/labels
+ More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels
+optional
type: object
managedFields:
@@ -2580,6 +2759,7 @@ definitions:
workflow used when modifying the object.
+optional
+ +listType=atomic
items:
$ref: '#/definitions/ManagedFieldsEntry'
type: array
@@ -2590,7 +2770,7 @@ definitions:
automatically. Name is primarily intended for creation idempotence and configuration
definition.
Cannot be updated.
- More info: http://kubernetes.io/docs/user-guide/identifiers#names
+ More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#names
+optional
type: string
namespace:
@@ -2602,7 +2782,7 @@ definitions:
Must be a DNS_LABEL.
Cannot be updated.
- More info: http://kubernetes.io/docs/user-guide/namespaces
+ More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces
+optional
type: string
ownerReferences:
@@ -2614,6 +2794,8 @@ definitions:
+optional
+patchMergeKey=uid
+patchStrategy=merge
+ +listType=map
+ +listMapKey=uid
items:
$ref: '#/definitions/OwnerReference'
type: array
@@ -2694,6 +2876,7 @@ definitions:
"weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the
node(s) with the highest sum are the most preferred.
+optional
+ +listType=atomic
items:
$ref: '#/definitions/WeightedPodAffinityTerm'
type: array
@@ -2707,6 +2890,7 @@ definitions:
When there are multiple elements, the lists of nodes corresponding to each
podAffinityTerm are intersected, i.e. all terms must be satisfied.
+optional
+ +listType=atomic
items:
$ref: '#/definitions/PodAffinityTerm'
type: array
@@ -2723,6 +2907,38 @@ definitions:
properties:
labelSelector:
$ref: '#/definitions/LabelSelector'
+ matchLabelKeys:
+ description: |-
+ MatchLabelKeys is a set of pod label keys to select which pods will
+ be taken into consideration. The keys are used to lookup values from the
+ incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)`
+ to select the group of existing pods which pods will be taken into consideration
+ for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
+ pod labels will be ignored. The default value is empty.
+ The same key is forbidden to exist in both matchLabelKeys and labelSelector.
+ Also, matchLabelKeys cannot be set when labelSelector isn't set.
+ This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.
+ +listType=atomic
+ +optional
+ items:
+ type: string
+ type: array
+ mismatchLabelKeys:
+ description: |-
+ MismatchLabelKeys is a set of pod label keys to select which pods will
+ be taken into consideration. The keys are used to lookup values from the
+ incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)`
+ to select the group of existing pods which pods will be taken into consideration
+ for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming
+ pod labels will be ignored. The default value is empty.
+ The same key is forbidden to exist in both mismatchLabelKeys and labelSelector.
+ Also, mismatchLabelKeys cannot be set when labelSelector isn't set.
+ This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.
+ +listType=atomic
+ +optional
+ items:
+ type: string
+ type: array
namespaceSelector:
$ref: '#/definitions/LabelSelector'
namespaces:
@@ -2732,6 +2948,7 @@ definitions:
and the ones selected by namespaceSelector.
null or empty namespaces list and null namespaceSelector means "this pod's namespace".
+optional
+ +listType=atomic
items:
type: string
type: array
@@ -2758,6 +2975,7 @@ definitions:
"weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the
node(s) with the highest sum are the most preferred.
+optional
+ +listType=atomic
items:
$ref: '#/definitions/WeightedPodAffinityTerm'
type: array
@@ -2771,6 +2989,7 @@ definitions:
When there are multiple elements, the lists of nodes corresponding to each
podAffinityTerm are intersected, i.e. all terms must be satisfied.
+optional
+ +listType=atomic
items:
$ref: '#/definitions/PodAffinityTerm'
type: array
@@ -2787,6 +3006,8 @@ definitions:
Some fields are also present in container.securityContext. Field values of
container.securityContext take precedence over field values of PodSecurityContext.
properties:
+ appArmorProfile:
+ $ref: '#/definitions/AppArmorProfile'
fsGroup:
description: |-
A special supplemental group that applies to all containers in a pod.
@@ -2850,6 +3071,7 @@ definitions:
even if they are not included in this list.
Note that this field cannot be set when spec.os.name is windows.
+optional
+ +listType=atomic
items:
format: int64
type: integer
@@ -2860,6 +3082,7 @@ definitions:
sysctls (by the container runtime) might fail to launch.
Note that this field cannot be set when spec.os.name is windows.
+optional
+ +listType=atomic
items:
$ref: '#/definitions/Sysctl'
type: array
@@ -2987,6 +3210,7 @@ definitions:
description: |-
sources is the list of volume projections
+optional
+ +listType=atomic
items:
$ref: '#/definitions/VolumeProjection'
type: array
@@ -3162,6 +3386,7 @@ definitions:
description: |-
monitors is a collection of Ceph monitors.
More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it
+ +listType=atomic
items:
type: string
type: array
@@ -3197,6 +3422,9 @@ definitions:
description: Data is the string contents of the artifact
type: string
type: object
+ RecursiveReadOnlyMode:
+ title: RecursiveReadOnlyMode describes recursive-readonly mode.
+ type: string
ResourceClaim:
properties:
name:
@@ -3228,6 +3456,9 @@ definitions:
$ref: '#/definitions/Quantity'
title: ResourceList is a set of (resource name, quantity) pairs.
type: object
+ ResourceName:
+ title: ResourceName is the name identifying various resources in a ResourceList.
+ type: string
ResourceRequirements:
properties:
claims:
@@ -3253,6 +3484,9 @@ definitions:
$ref: '#/definitions/ResourceList'
title: ResourceRequirements describes the compute resource requirements.
type: object
+ ResourceResizeRestartPolicy:
+ title: ResourceResizeRestartPolicy specifies how to handle container resource resize.
+ type: string
ResourceTemplate:
description: ResourceTemplate is a template subtype to manipulate kubernetes resources
properties:
@@ -3355,6 +3589,8 @@ definitions:
type: string
secretKeySecret:
$ref: '#/definitions/SecretKeySelector'
+ sessionTokenSecret:
+ $ref: '#/definitions/SecretKeySelector'
useSDKCreds:
description: UseSDKCreds tells the driver to figure out credentials based on sdk defaults.
type: boolean
@@ -3464,6 +3700,7 @@ definitions:
of whether the variable exists or not. Cannot be updated.
More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell
+optional
+ +listType=atomic
items:
type: string
type: array
@@ -3478,6 +3715,7 @@ definitions:
of whether the variable exists or not. Cannot be updated.
More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell
+optional
+ +listType=atomic
items:
type: string
type: array
@@ -3488,6 +3726,8 @@ definitions:
+optional
+patchMergeKey=name
+patchStrategy=merge
+ +listType=map
+ +listMapKey=name
items:
$ref: '#/definitions/EnvVar'
type: array
@@ -3500,6 +3740,7 @@ definitions:
Values defined by an Env with a duplicate key will take precedence.
Cannot be updated.
+optional
+ +listType=atomic
items:
$ref: '#/definitions/EnvFromSource'
type: array
@@ -3543,8 +3784,19 @@ definitions:
type: array
readinessProbe:
$ref: '#/definitions/Probe'
+ resizePolicy:
+ description: |-
+ Resources resize policy for the container.
+ +featureGate=InPlacePodVerticalScaling
+ +optional
+ +listType=atomic
+ items:
+ $ref: '#/definitions/ContainerResizePolicy'
+ type: array
resources:
$ref: '#/definitions/ResourceRequirements'
+ restartPolicy:
+ $ref: '#/definitions/ContainerRestartPolicy'
securityContext:
$ref: '#/definitions/SecurityContext'
source:
@@ -3594,6 +3846,8 @@ definitions:
volumeDevices is the list of block devices to be used by the container.
+patchMergeKey=devicePath
+patchStrategy=merge
+ +listType=map
+ +listMapKey=devicePath
+optional
items:
$ref: '#/definitions/VolumeDevice'
@@ -3605,6 +3859,8 @@ definitions:
+optional
+patchMergeKey=mountPath
+patchStrategy=merge
+ +listType=map
+ +listMapKey=mountPath
items:
$ref: '#/definitions/VolumeMount'
type: array
@@ -3627,7 +3883,7 @@ definitions:
localhostProfile indicates a profile defined in a file on the node should be used.
The profile must be preconfigured on the node to work.
Must be a descending path, relative to the kubelet's configured seccomp profile location.
- Must only be set if type is "Localhost".
+ Must be set if type is "Localhost". Must NOT be set for any other type.
+optional
type: string
type:
@@ -3646,9 +3902,15 @@ definitions:
name:
description: |-
Name of the referent.
- More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ This field is effectively required, but due to backwards compatibility is
+ allowed to be empty. Instances of this type with an empty value here are
+ almost certainly wrong.
TODO: Add other useful fields. apiVersion, kind, uid?
+ More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+optional
+ +default=""
+ +kubebuilder:default=""
+ TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
type: string
optional:
description: |-
@@ -3668,9 +3930,15 @@ definitions:
name:
description: |-
Name of the referent.
- More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ This field is effectively required, but due to backwards compatibility is
+ allowed to be empty. Instances of this type with an empty value here are
+ almost certainly wrong.
TODO: Add other useful fields. apiVersion, kind, uid?
+ More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+optional
+ +default=""
+ +kubebuilder:default=""
+ TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
type: string
optional:
description: |-
@@ -3696,15 +3964,22 @@ definitions:
the volume setup will error unless it is marked optional. Paths must be
relative and may not contain the '..' path or start with '..'.
+optional
+ +listType=atomic
items:
$ref: '#/definitions/KeyToPath'
type: array
name:
description: |-
Name of the referent.
- More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+ This field is effectively required, but due to backwards compatibility is
+ allowed to be empty. Instances of this type with an empty value here are
+ almost certainly wrong.
TODO: Add other useful fields. apiVersion, kind, uid?
+ More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
+optional
+ +default=""
+ +kubebuilder:default=""
+ TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
type: string
optional:
description: |-
@@ -3741,6 +4016,7 @@ definitions:
the volume setup will error unless it is marked optional. Paths must be
relative and may not contain the '..' path or start with '..'.
+optional
+ +listType=atomic
items:
$ref: '#/definitions/KeyToPath'
type: array
@@ -3773,6 +4049,8 @@ definitions:
Note that this field cannot be set when spec.os.name is windows.
+optional
type: boolean
+ appArmorProfile:
+ $ref: '#/definitions/AppArmorProfile'
capabilities:
$ref: '#/definitions/Capabilities'
privileged:
@@ -3884,6 +4162,14 @@ definitions:
token into.
type: string
type: object
+ SleepAction:
+ properties:
+ seconds:
+ description: Seconds is the number of seconds to sleep.
+ format: int64
+ type: integer
+ title: SleepAction describes a "sleep" action.
+ type: object
StorageMedium:
title: StorageMedium defines ways that storage can be allocated to a volume.
type: string
@@ -3938,8 +4224,18 @@ definitions:
properties:
mutex:
$ref: '#/definitions/Mutex'
+ mutexes:
+ description: 'v3.6 and after: Mutexes holds the list of Mutex lock details'
+ items:
+ $ref: '#/definitions/Mutex'
+ type: array
semaphore:
$ref: '#/definitions/SemaphoreRef'
+ semaphores:
+ description: 'v3.6 and after: Semaphores holds the list of Semaphores configuration'
+ items:
+ $ref: '#/definitions/SemaphoreRef'
+ type: array
type: object
Sysctl:
description: Sysctl defines a kernel parameter to be set
@@ -4258,6 +4554,7 @@ definitions:
of whether the variable exists or not. Cannot be updated.
More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell
+optional
+ +listType=atomic
items:
type: string
type: array
@@ -4272,6 +4569,7 @@ definitions:
of whether the variable exists or not. Cannot be updated.
More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell
+optional
+ +listType=atomic
items:
type: string
type: array
@@ -4282,6 +4580,8 @@ definitions:
+optional
+patchMergeKey=name
+patchStrategy=merge
+ +listType=map
+ +listMapKey=name
items:
$ref: '#/definitions/EnvVar'
type: array
@@ -4294,6 +4594,7 @@ definitions:
Values defined by an Env with a duplicate key will take precedence.
Cannot be updated.
+optional
+ +listType=atomic
items:
$ref: '#/definitions/EnvFromSource'
type: array
@@ -4344,8 +4645,19 @@ definitions:
type: array
readinessProbe:
$ref: '#/definitions/Probe'
+ resizePolicy:
+ description: |-
+ Resources resize policy for the container.
+ +featureGate=InPlacePodVerticalScaling
+ +optional
+ +listType=atomic
+ items:
+ $ref: '#/definitions/ContainerResizePolicy'
+ type: array
resources:
$ref: '#/definitions/ResourceRequirements'
+ restartPolicy:
+ $ref: '#/definitions/ContainerRestartPolicy'
securityContext:
$ref: '#/definitions/SecurityContext'
startupProbe:
@@ -4392,6 +4704,8 @@ definitions:
volumeDevices is the list of block devices to be used by the container.
+patchMergeKey=devicePath
+patchStrategy=merge
+ +listType=map
+ +listMapKey=devicePath
+optional
items:
$ref: '#/definitions/VolumeDevice'
@@ -4403,6 +4717,8 @@ definitions:
+optional
+patchMergeKey=mountPath
+patchStrategy=merge
+ +listType=map
+ +listMapKey=mountPath
items:
$ref: '#/definitions/VolumeMount'
type: array
@@ -4542,6 +4858,8 @@ definitions:
Defaults to false.
+optional
type: boolean
+ recursiveReadOnly:
+ $ref: '#/definitions/RecursiveReadOnlyMode'
subPath:
description: |-
Path within the volume from which the container's volume should be mounted.
@@ -4561,6 +4879,8 @@ definitions:
VolumeProjection:
description: Projection that may be projected along with other supported volume types
properties:
+ clusterTrustBundle:
+ $ref: '#/definitions/ClusterTrustBundleProjection'
configMap:
$ref: '#/definitions/ConfigMapProjection'
downwardAPI:
@@ -4570,6 +4890,14 @@ definitions:
serviceAccountToken:
$ref: '#/definitions/ServiceAccountTokenProjection'
type: object
+ VolumeResourceRequirements:
+ properties:
+ limits:
+ $ref: '#/definitions/ResourceList'
+ requests:
+ $ref: '#/definitions/ResourceList'
+ title: VolumeResourceRequirements describes the storage resource requirements for a volume.
+ type: object
VsphereVirtualDiskVolumeSource:
properties:
fsType:
@@ -4623,12 +4951,9 @@ definitions:
hostProcess:
description: |-
HostProcess determines if a container should be run as a 'Host Process' container.
- This field is alpha-level and will only be honored by components that enable the
- WindowsHostProcessContainers feature flag. Setting this field without the feature
- flag will result in errors when validating the Pod. All of a Pod's containers must
- have the same effective HostProcess value (it is not allowed to have a mix of HostProcess
- containers and non-HostProcess containers). In addition, if HostProcess is true
- then HostNetwork must also be set to true.
+ All of a Pod's containers must have the same effective HostProcess value
+ (it is not allowed to have a mix of HostProcess containers and non-HostProcess containers).
+ In addition, if HostProcess is true then HostNetwork must also be set to true.
+optional
type: boolean
runAsUserName:
diff --git a/sdks/java/client/docs/AWSElasticBlockStoreVolumeSource.md b/sdks/java/client/docs/AWSElasticBlockStoreVolumeSource.md
index cc450923116c..c80e3411e458 100644
--- a/sdks/java/client/docs/AWSElasticBlockStoreVolumeSource.md
+++ b/sdks/java/client/docs/AWSElasticBlockStoreVolumeSource.md
@@ -8,10 +8,10 @@ Represents a Persistent Disk resource in AWS. An AWS EBS disk must exist before
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**fsType** | **String** | Filesystem type of the volume that you want to mount. Tip: Ensure that the filesystem type is supported by the host operating system. Examples: \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified. More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore | [optional]
-**partition** | **Integer** | The partition in the volume that you want to mount. If omitted, the default is to mount by volume name. Examples: For volume /dev/sda1, you specify the partition as \"1\". Similarly, the volume partition for /dev/sda is \"0\" (or you can leave the property empty). | [optional]
-**readOnly** | **Boolean** | Specify \"true\" to force and set the ReadOnly property in VolumeMounts to \"true\". If omitted, the default is \"false\". More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore | [optional]
-**volumeID** | **String** | Unique ID of the persistent disk resource in AWS (Amazon EBS volume). More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore |
+**fsType** | **String** | fsType is the filesystem type of the volume that you want to mount. Tip: Ensure that the filesystem type is supported by the host operating system. Examples: \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified. More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore | [optional]
+**partition** | **Integer** | partition is the partition in the volume that you want to mount. If omitted, the default is to mount by volume name. Examples: For volume /dev/sda1, you specify the partition as \"1\". Similarly, the volume partition for /dev/sda is \"0\" (or you can leave the property empty). | [optional]
+**readOnly** | **Boolean** | readOnly value true will force the readOnly setting in VolumeMounts. More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore | [optional]
+**volumeID** | **String** | volumeID is unique ID of the persistent disk resource in AWS (Amazon EBS volume). More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore |
diff --git a/sdks/java/client/docs/AppArmorProfile.md b/sdks/java/client/docs/AppArmorProfile.md
new file mode 100644
index 000000000000..8caf2782f668
--- /dev/null
+++ b/sdks/java/client/docs/AppArmorProfile.md
@@ -0,0 +1,15 @@
+
+
+# AppArmorProfile
+
+AppArmorProfile defines a pod or container's AppArmor settings.
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**localhostProfile** | **String** | localhostProfile indicates a profile loaded on the node that should be used. The profile must be preconfigured on the node to work. Must match the loaded name of the profile. Must be set if and only if type is \"Localhost\". | [optional]
+**type** | **String** | type indicates which kind of AppArmor profile will be applied. Valid options are: Localhost - a profile pre-loaded on the node. RuntimeDefault - the container runtime's default profile. Unconfined - no AppArmor enforcement. |
+
+
+
diff --git a/sdks/java/client/docs/ArchivedWorkflowServiceApi.md b/sdks/java/client/docs/ArchivedWorkflowServiceApi.md
index a58d43147006..8dada938c5a3 100644
--- a/sdks/java/client/docs/ArchivedWorkflowServiceApi.md
+++ b/sdks/java/client/docs/ArchivedWorkflowServiceApi.md
@@ -225,7 +225,7 @@ Name | Type | Description | Notes
# **archivedWorkflowServiceListArchivedWorkflowLabelValues**
-> IoArgoprojWorkflowV1alpha1LabelValues archivedWorkflowServiceListArchivedWorkflowLabelValues(listOptionsLabelSelector, listOptionsFieldSelector, listOptionsWatch, listOptionsAllowWatchBookmarks, listOptionsResourceVersion, listOptionsResourceVersionMatch, listOptionsTimeoutSeconds, listOptionsLimit, listOptionsContinue, namespace)
+> IoArgoprojWorkflowV1alpha1LabelValues archivedWorkflowServiceListArchivedWorkflowLabelValues(listOptionsLabelSelector, listOptionsFieldSelector, listOptionsWatch, listOptionsAllowWatchBookmarks, listOptionsResourceVersion, listOptionsResourceVersionMatch, listOptionsTimeoutSeconds, listOptionsLimit, listOptionsContinue, listOptionsSendInitialEvents, namespace)
@@ -260,9 +260,10 @@ public class Example {
String listOptionsTimeoutSeconds = "listOptionsTimeoutSeconds_example"; // String | Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity. +optional.
String listOptionsLimit = "listOptionsLimit_example"; // String | limit is a maximum number of responses to return for a list call. If more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
String listOptionsContinue = "listOptionsContinue_example"; // String | The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \"next key\". This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
+ Boolean listOptionsSendInitialEvents = true; // Boolean | `sendInitialEvents=true` may be set together with `watch=true`. In that case, the watch stream will begin with synthetic events to produce the current state of objects in the collection. Once all such events have been sent, a synthetic \"Bookmark\" event will be sent. The bookmark will report the ResourceVersion (RV) corresponding to the set of objects, and be marked with `\"io.k8s.initial-events-end\": \"true\"` annotation. Afterwards, the watch stream will proceed as usual, sending watch events corresponding to changes (subsequent to the RV) to objects watched. When `sendInitialEvents` option is set, we require `resourceVersionMatch` option to also be set. The semantic of the watch request is as following: - `resourceVersionMatch` = NotOlderThan is interpreted as \"data at least as new as the provided `resourceVersion`\" and the bookmark event is send when the state is synced to a `resourceVersion` at least as fresh as the one provided by the ListOptions. If `resourceVersion` is unset, this is interpreted as \"consistent read\" and the bookmark event is send when the state is synced at least to the moment when request started being processed. - `resourceVersionMatch` set to any other value or unset Invalid error is returned. Defaults to true if `resourceVersion=\"\"` or `resourceVersion=\"0\"` (for backward compatibility reasons) and to false otherwise. +optional
String namespace = "namespace_example"; // String |
try {
- IoArgoprojWorkflowV1alpha1LabelValues result = apiInstance.archivedWorkflowServiceListArchivedWorkflowLabelValues(listOptionsLabelSelector, listOptionsFieldSelector, listOptionsWatch, listOptionsAllowWatchBookmarks, listOptionsResourceVersion, listOptionsResourceVersionMatch, listOptionsTimeoutSeconds, listOptionsLimit, listOptionsContinue, namespace);
+ IoArgoprojWorkflowV1alpha1LabelValues result = apiInstance.archivedWorkflowServiceListArchivedWorkflowLabelValues(listOptionsLabelSelector, listOptionsFieldSelector, listOptionsWatch, listOptionsAllowWatchBookmarks, listOptionsResourceVersion, listOptionsResourceVersionMatch, listOptionsTimeoutSeconds, listOptionsLimit, listOptionsContinue, listOptionsSendInitialEvents, namespace);
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling ArchivedWorkflowServiceApi#archivedWorkflowServiceListArchivedWorkflowLabelValues");
@@ -288,6 +289,7 @@ Name | Type | Description | Notes
**listOptionsTimeoutSeconds** | **String**| Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity. +optional. | [optional]
**listOptionsLimit** | **String**| limit is a maximum number of responses to return for a list call. If more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned. | [optional]
**listOptionsContinue** | **String**| The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \"next key\". This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications. | [optional]
+ **listOptionsSendInitialEvents** | **Boolean**| `sendInitialEvents=true` may be set together with `watch=true`. In that case, the watch stream will begin with synthetic events to produce the current state of objects in the collection. Once all such events have been sent, a synthetic \"Bookmark\" event will be sent. The bookmark will report the ResourceVersion (RV) corresponding to the set of objects, and be marked with `\"io.k8s.initial-events-end\": \"true\"` annotation. Afterwards, the watch stream will proceed as usual, sending watch events corresponding to changes (subsequent to the RV) to objects watched. When `sendInitialEvents` option is set, we require `resourceVersionMatch` option to also be set. The semantic of the watch request is as following: - `resourceVersionMatch` = NotOlderThan is interpreted as \"data at least as new as the provided `resourceVersion`\" and the bookmark event is send when the state is synced to a `resourceVersion` at least as fresh as the one provided by the ListOptions. If `resourceVersion` is unset, this is interpreted as \"consistent read\" and the bookmark event is send when the state is synced at least to the moment when request started being processed. - `resourceVersionMatch` set to any other value or unset Invalid error is returned. Defaults to true if `resourceVersion=\"\"` or `resourceVersion=\"0\"` (for backward compatibility reasons) and to false otherwise. +optional | [optional]
**namespace** | **String**| | [optional]
### Return type
@@ -311,7 +313,7 @@ Name | Type | Description | Notes
# **archivedWorkflowServiceListArchivedWorkflows**
-> IoArgoprojWorkflowV1alpha1WorkflowList archivedWorkflowServiceListArchivedWorkflows(listOptionsLabelSelector, listOptionsFieldSelector, listOptionsWatch, listOptionsAllowWatchBookmarks, listOptionsResourceVersion, listOptionsResourceVersionMatch, listOptionsTimeoutSeconds, listOptionsLimit, listOptionsContinue, namePrefix, namespace)
+> IoArgoprojWorkflowV1alpha1WorkflowList archivedWorkflowServiceListArchivedWorkflows(listOptionsLabelSelector, listOptionsFieldSelector, listOptionsWatch, listOptionsAllowWatchBookmarks, listOptionsResourceVersion, listOptionsResourceVersionMatch, listOptionsTimeoutSeconds, listOptionsLimit, listOptionsContinue, listOptionsSendInitialEvents, namePrefix, namespace)
@@ -346,10 +348,11 @@ public class Example {
String listOptionsTimeoutSeconds = "listOptionsTimeoutSeconds_example"; // String | Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity. +optional.
String listOptionsLimit = "listOptionsLimit_example"; // String | limit is a maximum number of responses to return for a list call. If more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
String listOptionsContinue = "listOptionsContinue_example"; // String | The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \"next key\". This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
+ Boolean listOptionsSendInitialEvents = true; // Boolean | `sendInitialEvents=true` may be set together with `watch=true`. In that case, the watch stream will begin with synthetic events to produce the current state of objects in the collection. Once all such events have been sent, a synthetic \"Bookmark\" event will be sent. The bookmark will report the ResourceVersion (RV) corresponding to the set of objects, and be marked with `\"io.k8s.initial-events-end\": \"true\"` annotation. Afterwards, the watch stream will proceed as usual, sending watch events corresponding to changes (subsequent to the RV) to objects watched. When `sendInitialEvents` option is set, we require `resourceVersionMatch` option to also be set. The semantic of the watch request is as following: - `resourceVersionMatch` = NotOlderThan is interpreted as \"data at least as new as the provided `resourceVersion`\" and the bookmark event is send when the state is synced to a `resourceVersion` at least as fresh as the one provided by the ListOptions. If `resourceVersion` is unset, this is interpreted as \"consistent read\" and the bookmark event is send when the state is synced at least to the moment when request started being processed. - `resourceVersionMatch` set to any other value or unset Invalid error is returned. Defaults to true if `resourceVersion=\"\"` or `resourceVersion=\"0\"` (for backward compatibility reasons) and to false otherwise. +optional
String namePrefix = "namePrefix_example"; // String |
String namespace = "namespace_example"; // String |
try {
- IoArgoprojWorkflowV1alpha1WorkflowList result = apiInstance.archivedWorkflowServiceListArchivedWorkflows(listOptionsLabelSelector, listOptionsFieldSelector, listOptionsWatch, listOptionsAllowWatchBookmarks, listOptionsResourceVersion, listOptionsResourceVersionMatch, listOptionsTimeoutSeconds, listOptionsLimit, listOptionsContinue, namePrefix, namespace);
+ IoArgoprojWorkflowV1alpha1WorkflowList result = apiInstance.archivedWorkflowServiceListArchivedWorkflows(listOptionsLabelSelector, listOptionsFieldSelector, listOptionsWatch, listOptionsAllowWatchBookmarks, listOptionsResourceVersion, listOptionsResourceVersionMatch, listOptionsTimeoutSeconds, listOptionsLimit, listOptionsContinue, listOptionsSendInitialEvents, namePrefix, namespace);
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling ArchivedWorkflowServiceApi#archivedWorkflowServiceListArchivedWorkflows");
@@ -375,6 +378,7 @@ Name | Type | Description | Notes
**listOptionsTimeoutSeconds** | **String**| Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity. +optional. | [optional]
**listOptionsLimit** | **String**| limit is a maximum number of responses to return for a list call. If more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned. | [optional]
**listOptionsContinue** | **String**| The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \"next key\". This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications. | [optional]
+ **listOptionsSendInitialEvents** | **Boolean**| `sendInitialEvents=true` may be set together with `watch=true`. In that case, the watch stream will begin with synthetic events to produce the current state of objects in the collection. Once all such events have been sent, a synthetic \"Bookmark\" event will be sent. The bookmark will report the ResourceVersion (RV) corresponding to the set of objects, and be marked with `\"io.k8s.initial-events-end\": \"true\"` annotation. Afterwards, the watch stream will proceed as usual, sending watch events corresponding to changes (subsequent to the RV) to objects watched. When `sendInitialEvents` option is set, we require `resourceVersionMatch` option to also be set. The semantic of the watch request is as following: - `resourceVersionMatch` = NotOlderThan is interpreted as \"data at least as new as the provided `resourceVersion`\" and the bookmark event is send when the state is synced to a `resourceVersion` at least as fresh as the one provided by the ListOptions. If `resourceVersion` is unset, this is interpreted as \"consistent read\" and the bookmark event is send when the state is synced at least to the moment when request started being processed. - `resourceVersionMatch` set to any other value or unset Invalid error is returned. Defaults to true if `resourceVersion=\"\"` or `resourceVersion=\"0\"` (for backward compatibility reasons) and to false otherwise. +optional | [optional]
**namePrefix** | **String**| | [optional]
**namespace** | **String**| | [optional]
diff --git a/sdks/java/client/docs/AzureDiskVolumeSource.md b/sdks/java/client/docs/AzureDiskVolumeSource.md
index 740ac11d6488..b2bcecadc9ee 100644
--- a/sdks/java/client/docs/AzureDiskVolumeSource.md
+++ b/sdks/java/client/docs/AzureDiskVolumeSource.md
@@ -8,12 +8,12 @@ AzureDisk represents an Azure Data Disk mount on the host and bind mount to the
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**cachingMode** | **String** | Host Caching mode: None, Read Only, Read Write. | [optional]
-**diskName** | **String** | The Name of the data disk in the blob storage |
-**diskURI** | **String** | The URI the data disk in the blob storage |
-**fsType** | **String** | Filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified. | [optional]
-**kind** | **String** | Expected values Shared: multiple blob disks per storage account Dedicated: single blob disk per storage account Managed: azure managed data disk (only in managed availability set). defaults to shared | [optional]
-**readOnly** | **Boolean** | Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts. | [optional]
+**cachingMode** | **String** | cachingMode is the Host Caching mode: None, Read Only, Read Write. | [optional]
+**diskName** | **String** | diskName is the Name of the data disk in the blob storage |
+**diskURI** | **String** | diskURI is the URI of data disk in the blob storage |
+**fsType** | **String** | fsType is Filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified. | [optional]
+**kind** | **String** | kind expected values are Shared: multiple blob disks per storage account Dedicated: single blob disk per storage account Managed: azure managed data disk (only in managed availability set). defaults to shared | [optional]
+**readOnly** | **Boolean** | readOnly Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts. | [optional]
diff --git a/sdks/java/client/docs/AzureFileVolumeSource.md b/sdks/java/client/docs/AzureFileVolumeSource.md
index 541eb41abe84..8477c5cbd228 100644
--- a/sdks/java/client/docs/AzureFileVolumeSource.md
+++ b/sdks/java/client/docs/AzureFileVolumeSource.md
@@ -8,9 +8,9 @@ AzureFile represents an Azure File Service mount on the host and bind mount to t
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**readOnly** | **Boolean** | Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts. | [optional]
-**secretName** | **String** | the name of secret that contains Azure Storage Account Name and Key |
-**shareName** | **String** | Share Name |
+**readOnly** | **Boolean** | readOnly defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts. | [optional]
+**secretName** | **String** | secretName is the name of secret that contains Azure Storage Account Name and Key |
+**shareName** | **String** | shareName is the azure share Name |
diff --git a/sdks/java/client/docs/CSIVolumeSource.md b/sdks/java/client/docs/CSIVolumeSource.md
index 9b9d026c9623..1d9f73369a16 100644
--- a/sdks/java/client/docs/CSIVolumeSource.md
+++ b/sdks/java/client/docs/CSIVolumeSource.md
@@ -8,11 +8,11 @@ Represents a source location of a volume to mount, managed by an external CSI dr
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**driver** | **String** | Driver is the name of the CSI driver that handles this volume. Consult with your admin for the correct name as registered in the cluster. |
-**fsType** | **String** | Filesystem type to mount. Ex. \"ext4\", \"xfs\", \"ntfs\". If not provided, the empty value is passed to the associated CSI driver which will determine the default filesystem to apply. | [optional]
+**driver** | **String** | driver is the name of the CSI driver that handles this volume. Consult with your admin for the correct name as registered in the cluster. |
+**fsType** | **String** | fsType to mount. Ex. \"ext4\", \"xfs\", \"ntfs\". If not provided, the empty value is passed to the associated CSI driver which will determine the default filesystem to apply. | [optional]
**nodePublishSecretRef** | [**io.kubernetes.client.openapi.models.V1LocalObjectReference**](io.kubernetes.client.openapi.models.V1LocalObjectReference.md) | | [optional]
-**readOnly** | **Boolean** | Specifies a read-only configuration for the volume. Defaults to false (read/write). | [optional]
-**volumeAttributes** | **Map<String, String>** | VolumeAttributes stores driver-specific properties that are passed to the CSI driver. Consult your driver's documentation for supported values. | [optional]
+**readOnly** | **Boolean** | readOnly specifies a read-only configuration for the volume. Defaults to false (read/write). | [optional]
+**volumeAttributes** | **Map<String, String>** | volumeAttributes stores driver-specific properties that are passed to the CSI driver. Consult your driver's documentation for supported values. | [optional]
diff --git a/sdks/java/client/docs/CephFSVolumeSource.md b/sdks/java/client/docs/CephFSVolumeSource.md
index 0b8159841f93..30c086f19d3c 100644
--- a/sdks/java/client/docs/CephFSVolumeSource.md
+++ b/sdks/java/client/docs/CephFSVolumeSource.md
@@ -8,12 +8,12 @@ Represents a Ceph Filesystem mount that lasts the lifetime of a pod Cephfs volum
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**monitors** | **List<String>** | Required: Monitors is a collection of Ceph monitors More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it |
-**path** | **String** | Optional: Used as the mounted root, rather than the full Ceph tree, default is / | [optional]
-**readOnly** | **Boolean** | Optional: Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts. More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it | [optional]
-**secretFile** | **String** | Optional: SecretFile is the path to key ring for User, default is /etc/ceph/user.secret More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it | [optional]
+**monitors** | **List<String>** | monitors is Required: Monitors is a collection of Ceph monitors More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it |
+**path** | **String** | path is Optional: Used as the mounted root, rather than the full Ceph tree, default is / | [optional]
+**readOnly** | **Boolean** | readOnly is Optional: Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts. More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it | [optional]
+**secretFile** | **String** | secretFile is Optional: SecretFile is the path to key ring for User, default is /etc/ceph/user.secret More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it | [optional]
**secretRef** | [**io.kubernetes.client.openapi.models.V1LocalObjectReference**](io.kubernetes.client.openapi.models.V1LocalObjectReference.md) | | [optional]
-**user** | **String** | Optional: User is the rados user name, default is admin More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it | [optional]
+**user** | **String** | user is optional: User is the rados user name, default is admin More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it | [optional]
diff --git a/sdks/java/client/docs/CinderVolumeSource.md b/sdks/java/client/docs/CinderVolumeSource.md
index 8d3c198c4c43..7a5c9f5477fc 100644
--- a/sdks/java/client/docs/CinderVolumeSource.md
+++ b/sdks/java/client/docs/CinderVolumeSource.md
@@ -8,10 +8,10 @@ Represents a cinder volume resource in Openstack. A Cinder volume must exist bef
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**fsType** | **String** | Filesystem type to mount. Must be a filesystem type supported by the host operating system. Examples: \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified. More info: https://examples.k8s.io/mysql-cinder-pd/README.md | [optional]
-**readOnly** | **Boolean** | Optional: Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts. More info: https://examples.k8s.io/mysql-cinder-pd/README.md | [optional]
+**fsType** | **String** | fsType is the filesystem type to mount. Must be a filesystem type supported by the host operating system. Examples: \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified. More info: https://examples.k8s.io/mysql-cinder-pd/README.md | [optional]
+**readOnly** | **Boolean** | readOnly defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts. More info: https://examples.k8s.io/mysql-cinder-pd/README.md | [optional]
**secretRef** | [**io.kubernetes.client.openapi.models.V1LocalObjectReference**](io.kubernetes.client.openapi.models.V1LocalObjectReference.md) | | [optional]
-**volumeID** | **String** | volume id used to identify the volume in cinder. More info: https://examples.k8s.io/mysql-cinder-pd/README.md |
+**volumeID** | **String** | volumeID used to identify the volume in cinder. More info: https://examples.k8s.io/mysql-cinder-pd/README.md |
diff --git a/sdks/java/client/docs/ClusterTrustBundleProjection.md b/sdks/java/client/docs/ClusterTrustBundleProjection.md
new file mode 100644
index 000000000000..540933322e0b
--- /dev/null
+++ b/sdks/java/client/docs/ClusterTrustBundleProjection.md
@@ -0,0 +1,18 @@
+
+
+# ClusterTrustBundleProjection
+
+ClusterTrustBundleProjection describes how to select a set of ClusterTrustBundle objects and project their contents into the pod filesystem.
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**labelSelector** | [**LabelSelector**](LabelSelector.md) | | [optional]
+**name** | **String** | Select a single ClusterTrustBundle by object name. Mutually-exclusive with signerName and labelSelector. | [optional]
+**optional** | **Boolean** | If true, don't block pod startup if the referenced ClusterTrustBundle(s) aren't available. If using name, then the named ClusterTrustBundle is allowed not to exist. If using signerName, then the combination of signerName and labelSelector is allowed to match zero ClusterTrustBundles. | [optional]
+**path** | **String** | Relative path from the volume root to write the bundle. |
+**signerName** | **String** | Select all ClusterTrustBundles that match this signer name. Mutually-exclusive with name. The contents of all selected ClusterTrustBundles will be unified and deduplicated. | [optional]
+
+
+
diff --git a/sdks/java/client/docs/ClusterWorkflowTemplateServiceApi.md b/sdks/java/client/docs/ClusterWorkflowTemplateServiceApi.md
index ba5d566f3623..0c83c9ac659e 100644
--- a/sdks/java/client/docs/ClusterWorkflowTemplateServiceApi.md
+++ b/sdks/java/client/docs/ClusterWorkflowTemplateServiceApi.md
@@ -114,7 +114,7 @@ public class Example {
String deleteOptionsPreconditionsResourceVersion = "deleteOptionsPreconditionsResourceVersion_example"; // String | Specifies the target ResourceVersion +optional.
Boolean deleteOptionsOrphanDependents = true; // Boolean | Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both. +optional.
String deleteOptionsPropagationPolicy = "deleteOptionsPropagationPolicy_example"; // String | Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy. Acceptable values are: 'Orphan' - orphan the dependents; 'Background' - allow the garbage collector to delete the dependents in the background; 'Foreground' - a cascading policy that deletes all dependents in the foreground. +optional.
- List deleteOptionsDryRun = Arrays.asList(); // List | When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed +optional.
+ List deleteOptionsDryRun = Arrays.asList(); // List | When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed +optional +listType=atomic.
try {
Object result = apiInstance.clusterWorkflowTemplateServiceDeleteClusterWorkflowTemplate(name, deleteOptionsGracePeriodSeconds, deleteOptionsPreconditionsUid, deleteOptionsPreconditionsResourceVersion, deleteOptionsOrphanDependents, deleteOptionsPropagationPolicy, deleteOptionsDryRun);
System.out.println(result);
@@ -139,7 +139,7 @@ Name | Type | Description | Notes
**deleteOptionsPreconditionsResourceVersion** | **String**| Specifies the target ResourceVersion +optional. | [optional]
**deleteOptionsOrphanDependents** | **Boolean**| Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both. +optional. | [optional]
**deleteOptionsPropagationPolicy** | **String**| Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy. Acceptable values are: 'Orphan' - orphan the dependents; 'Background' - allow the garbage collector to delete the dependents in the background; 'Foreground' - a cascading policy that deletes all dependents in the foreground. +optional. | [optional]
- **deleteOptionsDryRun** | [**List<String>**](String.md)| When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed +optional. | [optional]
+ **deleteOptionsDryRun** | [**List<String>**](String.md)| When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed +optional +listType=atomic. | [optional]
### Return type
@@ -300,7 +300,7 @@ Name | Type | Description | Notes
# **clusterWorkflowTemplateServiceListClusterWorkflowTemplates**
-> IoArgoprojWorkflowV1alpha1ClusterWorkflowTemplateList clusterWorkflowTemplateServiceListClusterWorkflowTemplates(listOptionsLabelSelector, listOptionsFieldSelector, listOptionsWatch, listOptionsAllowWatchBookmarks, listOptionsResourceVersion, listOptionsResourceVersionMatch, listOptionsTimeoutSeconds, listOptionsLimit, listOptionsContinue)
+> IoArgoprojWorkflowV1alpha1ClusterWorkflowTemplateList clusterWorkflowTemplateServiceListClusterWorkflowTemplates(listOptionsLabelSelector, listOptionsFieldSelector, listOptionsWatch, listOptionsAllowWatchBookmarks, listOptionsResourceVersion, listOptionsResourceVersionMatch, listOptionsTimeoutSeconds, listOptionsLimit, listOptionsContinue, listOptionsSendInitialEvents)
@@ -335,8 +335,9 @@ public class Example {
String listOptionsTimeoutSeconds = "listOptionsTimeoutSeconds_example"; // String | Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity. +optional.
String listOptionsLimit = "listOptionsLimit_example"; // String | limit is a maximum number of responses to return for a list call. If more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
String listOptionsContinue = "listOptionsContinue_example"; // String | The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \"next key\". This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
+ Boolean listOptionsSendInitialEvents = true; // Boolean | `sendInitialEvents=true` may be set together with `watch=true`. In that case, the watch stream will begin with synthetic events to produce the current state of objects in the collection. Once all such events have been sent, a synthetic \"Bookmark\" event will be sent. The bookmark will report the ResourceVersion (RV) corresponding to the set of objects, and be marked with `\"io.k8s.initial-events-end\": \"true\"` annotation. Afterwards, the watch stream will proceed as usual, sending watch events corresponding to changes (subsequent to the RV) to objects watched. When `sendInitialEvents` option is set, we require `resourceVersionMatch` option to also be set. The semantic of the watch request is as following: - `resourceVersionMatch` = NotOlderThan is interpreted as \"data at least as new as the provided `resourceVersion`\" and the bookmark event is send when the state is synced to a `resourceVersion` at least as fresh as the one provided by the ListOptions. If `resourceVersion` is unset, this is interpreted as \"consistent read\" and the bookmark event is send when the state is synced at least to the moment when request started being processed. - `resourceVersionMatch` set to any other value or unset Invalid error is returned. Defaults to true if `resourceVersion=\"\"` or `resourceVersion=\"0\"` (for backward compatibility reasons) and to false otherwise. +optional
try {
- IoArgoprojWorkflowV1alpha1ClusterWorkflowTemplateList result = apiInstance.clusterWorkflowTemplateServiceListClusterWorkflowTemplates(listOptionsLabelSelector, listOptionsFieldSelector, listOptionsWatch, listOptionsAllowWatchBookmarks, listOptionsResourceVersion, listOptionsResourceVersionMatch, listOptionsTimeoutSeconds, listOptionsLimit, listOptionsContinue);
+ IoArgoprojWorkflowV1alpha1ClusterWorkflowTemplateList result = apiInstance.clusterWorkflowTemplateServiceListClusterWorkflowTemplates(listOptionsLabelSelector, listOptionsFieldSelector, listOptionsWatch, listOptionsAllowWatchBookmarks, listOptionsResourceVersion, listOptionsResourceVersionMatch, listOptionsTimeoutSeconds, listOptionsLimit, listOptionsContinue, listOptionsSendInitialEvents);
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling ClusterWorkflowTemplateServiceApi#clusterWorkflowTemplateServiceListClusterWorkflowTemplates");
@@ -362,6 +363,7 @@ Name | Type | Description | Notes
**listOptionsTimeoutSeconds** | **String**| Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity. +optional. | [optional]
**listOptionsLimit** | **String**| limit is a maximum number of responses to return for a list call. If more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned. | [optional]
**listOptionsContinue** | **String**| The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \"next key\". This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications. | [optional]
+ **listOptionsSendInitialEvents** | **Boolean**| `sendInitialEvents=true` may be set together with `watch=true`. In that case, the watch stream will begin with synthetic events to produce the current state of objects in the collection. Once all such events have been sent, a synthetic \"Bookmark\" event will be sent. The bookmark will report the ResourceVersion (RV) corresponding to the set of objects, and be marked with `\"io.k8s.initial-events-end\": \"true\"` annotation. Afterwards, the watch stream will proceed as usual, sending watch events corresponding to changes (subsequent to the RV) to objects watched. When `sendInitialEvents` option is set, we require `resourceVersionMatch` option to also be set. The semantic of the watch request is as following: - `resourceVersionMatch` = NotOlderThan is interpreted as \"data at least as new as the provided `resourceVersion`\" and the bookmark event is send when the state is synced to a `resourceVersion` at least as fresh as the one provided by the ListOptions. If `resourceVersion` is unset, this is interpreted as \"consistent read\" and the bookmark event is send when the state is synced at least to the moment when request started being processed. - `resourceVersionMatch` set to any other value or unset Invalid error is returned. Defaults to true if `resourceVersion=\"\"` or `resourceVersion=\"0\"` (for backward compatibility reasons) and to false otherwise. +optional | [optional]
### Return type
diff --git a/sdks/java/client/docs/ConfigMapEnvSource.md b/sdks/java/client/docs/ConfigMapEnvSource.md
index 89a82552cfcb..efaa0d2d6326 100644
--- a/sdks/java/client/docs/ConfigMapEnvSource.md
+++ b/sdks/java/client/docs/ConfigMapEnvSource.md
@@ -8,7 +8,7 @@ ConfigMapEnvSource selects a ConfigMap to populate the environment variables wit
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**name** | **String** | Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names | [optional]
+**name** | **String** | Name of the referent. This field is effectively required, but due to backwards compatibility is allowed to be empty. Instances of this type with an empty value here are almost certainly wrong. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names | [optional]
**optional** | **Boolean** | Specify whether the ConfigMap must be defined | [optional]
diff --git a/sdks/java/client/docs/ConfigMapProjection.md b/sdks/java/client/docs/ConfigMapProjection.md
index 73ca594b9885..f45ed39f5a6d 100644
--- a/sdks/java/client/docs/ConfigMapProjection.md
+++ b/sdks/java/client/docs/ConfigMapProjection.md
@@ -8,9 +8,9 @@ Adapts a ConfigMap into a projected volume. The contents of the target ConfigMa
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**items** | [**List<KeyToPath>**](KeyToPath.md) | If unspecified, each key-value pair in the Data field of the referenced ConfigMap will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the ConfigMap, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'. | [optional]
-**name** | **String** | Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names | [optional]
-**optional** | **Boolean** | Specify whether the ConfigMap or its keys must be defined | [optional]
+**items** | [**List<KeyToPath>**](KeyToPath.md) | items if unspecified, each key-value pair in the Data field of the referenced ConfigMap will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the ConfigMap, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'. | [optional]
+**name** | **String** | Name of the referent. This field is effectively required, but due to backwards compatibility is allowed to be empty. Instances of this type with an empty value here are almost certainly wrong. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names | [optional]
+**optional** | **Boolean** | optional specify whether the ConfigMap or its keys must be defined | [optional]
diff --git a/sdks/java/client/docs/ConfigMapVolumeSource.md b/sdks/java/client/docs/ConfigMapVolumeSource.md
index d092fdb3eeb7..f9cee6e21a21 100644
--- a/sdks/java/client/docs/ConfigMapVolumeSource.md
+++ b/sdks/java/client/docs/ConfigMapVolumeSource.md
@@ -8,10 +8,10 @@ Adapts a ConfigMap into a volume. The contents of the target ConfigMap's Data f
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**defaultMode** | **Integer** | Optional: mode bits used to set permissions on created files by default. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set. | [optional]
-**items** | [**List<KeyToPath>**](KeyToPath.md) | If unspecified, each key-value pair in the Data field of the referenced ConfigMap will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the ConfigMap, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'. | [optional]
-**name** | **String** | Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names | [optional]
-**optional** | **Boolean** | Specify whether the ConfigMap or its keys must be defined | [optional]
+**defaultMode** | **Integer** | defaultMode is optional: mode bits used to set permissions on created files by default. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set. | [optional]
+**items** | [**List<KeyToPath>**](KeyToPath.md) | items if unspecified, each key-value pair in the Data field of the referenced ConfigMap will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the ConfigMap, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'. | [optional]
+**name** | **String** | Name of the referent. This field is effectively required, but due to backwards compatibility is allowed to be empty. Instances of this type with an empty value here are almost certainly wrong. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names | [optional]
+**optional** | **Boolean** | optional specify whether the ConfigMap or its keys must be defined | [optional]
diff --git a/sdks/java/client/docs/ContainerResizePolicy.md b/sdks/java/client/docs/ContainerResizePolicy.md
new file mode 100644
index 000000000000..45eebacae2dd
--- /dev/null
+++ b/sdks/java/client/docs/ContainerResizePolicy.md
@@ -0,0 +1,15 @@
+
+
+# ContainerResizePolicy
+
+ContainerResizePolicy represents resource resize policy for the container.
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**resourceName** | **String** | Name of the resource to which this resource resize policy applies. Supported values: cpu, memory. |
+**restartPolicy** | **String** | Restart policy to apply when specified resource is resized. If not specified, it defaults to NotRequired. |
+
+
+
diff --git a/sdks/java/client/docs/CronWorkflowServiceApi.md b/sdks/java/client/docs/CronWorkflowServiceApi.md
index 9607ebbc7a90..85eb1cfca171 100644
--- a/sdks/java/client/docs/CronWorkflowServiceApi.md
+++ b/sdks/java/client/docs/CronWorkflowServiceApi.md
@@ -119,7 +119,7 @@ public class Example {
String deleteOptionsPreconditionsResourceVersion = "deleteOptionsPreconditionsResourceVersion_example"; // String | Specifies the target ResourceVersion +optional.
Boolean deleteOptionsOrphanDependents = true; // Boolean | Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both. +optional.
String deleteOptionsPropagationPolicy = "deleteOptionsPropagationPolicy_example"; // String | Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy. Acceptable values are: 'Orphan' - orphan the dependents; 'Background' - allow the garbage collector to delete the dependents in the background; 'Foreground' - a cascading policy that deletes all dependents in the foreground. +optional.
- List deleteOptionsDryRun = Arrays.asList(); // List | When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed +optional.
+ List deleteOptionsDryRun = Arrays.asList(); // List | When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed +optional +listType=atomic.
try {
Object result = apiInstance.cronWorkflowServiceDeleteCronWorkflow(namespace, name, deleteOptionsGracePeriodSeconds, deleteOptionsPreconditionsUid, deleteOptionsPreconditionsResourceVersion, deleteOptionsOrphanDependents, deleteOptionsPropagationPolicy, deleteOptionsDryRun);
System.out.println(result);
@@ -145,7 +145,7 @@ Name | Type | Description | Notes
**deleteOptionsPreconditionsResourceVersion** | **String**| Specifies the target ResourceVersion +optional. | [optional]
**deleteOptionsOrphanDependents** | **Boolean**| Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both. +optional. | [optional]
**deleteOptionsPropagationPolicy** | **String**| Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy. Acceptable values are: 'Orphan' - orphan the dependents; 'Background' - allow the garbage collector to delete the dependents in the background; 'Foreground' - a cascading policy that deletes all dependents in the foreground. +optional. | [optional]
- **deleteOptionsDryRun** | [**List<String>**](String.md)| When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed +optional. | [optional]
+ **deleteOptionsDryRun** | [**List<String>**](String.md)| When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed +optional +listType=atomic. | [optional]
### Return type
@@ -310,7 +310,7 @@ Name | Type | Description | Notes
# **cronWorkflowServiceListCronWorkflows**
-> IoArgoprojWorkflowV1alpha1CronWorkflowList cronWorkflowServiceListCronWorkflows(namespace, listOptionsLabelSelector, listOptionsFieldSelector, listOptionsWatch, listOptionsAllowWatchBookmarks, listOptionsResourceVersion, listOptionsResourceVersionMatch, listOptionsTimeoutSeconds, listOptionsLimit, listOptionsContinue)
+> IoArgoprojWorkflowV1alpha1CronWorkflowList cronWorkflowServiceListCronWorkflows(namespace, listOptionsLabelSelector, listOptionsFieldSelector, listOptionsWatch, listOptionsAllowWatchBookmarks, listOptionsResourceVersion, listOptionsResourceVersionMatch, listOptionsTimeoutSeconds, listOptionsLimit, listOptionsContinue, listOptionsSendInitialEvents)
@@ -346,8 +346,9 @@ public class Example {
String listOptionsTimeoutSeconds = "listOptionsTimeoutSeconds_example"; // String | Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity. +optional.
String listOptionsLimit = "listOptionsLimit_example"; // String | limit is a maximum number of responses to return for a list call. If more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
String listOptionsContinue = "listOptionsContinue_example"; // String | The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \"next key\". This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
+ Boolean listOptionsSendInitialEvents = true; // Boolean | `sendInitialEvents=true` may be set together with `watch=true`. In that case, the watch stream will begin with synthetic events to produce the current state of objects in the collection. Once all such events have been sent, a synthetic \"Bookmark\" event will be sent. The bookmark will report the ResourceVersion (RV) corresponding to the set of objects, and be marked with `\"io.k8s.initial-events-end\": \"true\"` annotation. Afterwards, the watch stream will proceed as usual, sending watch events corresponding to changes (subsequent to the RV) to objects watched. When `sendInitialEvents` option is set, we require `resourceVersionMatch` option to also be set. The semantic of the watch request is as following: - `resourceVersionMatch` = NotOlderThan is interpreted as \"data at least as new as the provided `resourceVersion`\" and the bookmark event is send when the state is synced to a `resourceVersion` at least as fresh as the one provided by the ListOptions. If `resourceVersion` is unset, this is interpreted as \"consistent read\" and the bookmark event is send when the state is synced at least to the moment when request started being processed. - `resourceVersionMatch` set to any other value or unset Invalid error is returned. Defaults to true if `resourceVersion=\"\"` or `resourceVersion=\"0\"` (for backward compatibility reasons) and to false otherwise. +optional
try {
- IoArgoprojWorkflowV1alpha1CronWorkflowList result = apiInstance.cronWorkflowServiceListCronWorkflows(namespace, listOptionsLabelSelector, listOptionsFieldSelector, listOptionsWatch, listOptionsAllowWatchBookmarks, listOptionsResourceVersion, listOptionsResourceVersionMatch, listOptionsTimeoutSeconds, listOptionsLimit, listOptionsContinue);
+ IoArgoprojWorkflowV1alpha1CronWorkflowList result = apiInstance.cronWorkflowServiceListCronWorkflows(namespace, listOptionsLabelSelector, listOptionsFieldSelector, listOptionsWatch, listOptionsAllowWatchBookmarks, listOptionsResourceVersion, listOptionsResourceVersionMatch, listOptionsTimeoutSeconds, listOptionsLimit, listOptionsContinue, listOptionsSendInitialEvents);
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling CronWorkflowServiceApi#cronWorkflowServiceListCronWorkflows");
@@ -374,6 +375,7 @@ Name | Type | Description | Notes
**listOptionsTimeoutSeconds** | **String**| Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity. +optional. | [optional]
**listOptionsLimit** | **String**| limit is a maximum number of responses to return for a list call. If more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned. | [optional]
**listOptionsContinue** | **String**| The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \"next key\". This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications. | [optional]
+ **listOptionsSendInitialEvents** | **Boolean**| `sendInitialEvents=true` may be set together with `watch=true`. In that case, the watch stream will begin with synthetic events to produce the current state of objects in the collection. Once all such events have been sent, a synthetic \"Bookmark\" event will be sent. The bookmark will report the ResourceVersion (RV) corresponding to the set of objects, and be marked with `\"io.k8s.initial-events-end\": \"true\"` annotation. Afterwards, the watch stream will proceed as usual, sending watch events corresponding to changes (subsequent to the RV) to objects watched. When `sendInitialEvents` option is set, we require `resourceVersionMatch` option to also be set. The semantic of the watch request is as following: - `resourceVersionMatch` = NotOlderThan is interpreted as \"data at least as new as the provided `resourceVersion`\" and the bookmark event is send when the state is synced to a `resourceVersion` at least as fresh as the one provided by the ListOptions. If `resourceVersion` is unset, this is interpreted as \"consistent read\" and the bookmark event is send when the state is synced at least to the moment when request started being processed. - `resourceVersionMatch` set to any other value or unset Invalid error is returned. Defaults to true if `resourceVersion=\"\"` or `resourceVersion=\"0\"` (for backward compatibility reasons) and to false otherwise. +optional | [optional]
### Return type
diff --git a/sdks/java/client/docs/EmptyDirVolumeSource.md b/sdks/java/client/docs/EmptyDirVolumeSource.md
index 10ccd3c4f8e0..5ad8348b63fe 100644
--- a/sdks/java/client/docs/EmptyDirVolumeSource.md
+++ b/sdks/java/client/docs/EmptyDirVolumeSource.md
@@ -8,8 +8,8 @@ Represents an empty directory for a pod. Empty directory volumes support ownersh
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**medium** | **String** | What type of storage medium should back this directory. The default is \"\" which means to use the node's default medium. Must be an empty string (default) or Memory. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir | [optional]
-**sizeLimit** | **String** | Quantity is a fixed-point representation of a number. It provides convenient marshaling/unmarshaling in JSON and YAML, in addition to String() and AsInt64() accessors. The serialization format is: <quantity> ::= <signedNumber><suffix> (Note that <suffix> may be empty, from the \"\" case in <decimalSI>.) <digit> ::= 0 | 1 | ... | 9 <digits> ::= <digit> | <digit><digits> <number> ::= <digits> | <digits>.<digits> | <digits>. | .<digits> <sign> ::= \"+\" | \"-\" <signedNumber> ::= <number> | <sign><number> <suffix> ::= <binarySI> | <decimalExponent> | <decimalSI> <binarySI> ::= Ki | Mi | Gi | Ti | Pi | Ei (International System of units; See: http://physics.nist.gov/cuu/Units/binary.html) <decimalSI> ::= m | \"\" | k | M | G | T | P | E (Note that 1024 = 1Ki but 1000 = 1k; I didn't choose the capitalization.) <decimalExponent> ::= \"e\" <signedNumber> | \"E\" <signedNumber> No matter which of the three exponent forms is used, no quantity may represent a number greater than 2^63-1 in magnitude, nor may it have more than 3 decimal places. Numbers larger or more precise will be capped or rounded up. (E.g.: 0.1m will rounded up to 1m.) This may be extended in the future if we require larger or smaller quantities. When a Quantity is parsed from a string, it will remember the type of suffix it had, and will use the same type again when it is serialized. Before serializing, Quantity will be put in \"canonical form\". This means that Exponent/suffix will be adjusted up or down (with a corresponding increase or decrease in Mantissa) such that: a. No precision is lost b. No fractional digits will be emitted c. The exponent (or suffix) is as large as possible. The sign will be omitted unless the number is negative. Examples: 1.5 will be serialized as \"1500m\" 1.5Gi will be serialized as \"1536Mi\" Note that the quantity will NEVER be internally represented by a floating point number. That is the whole point of this exercise. Non-canonical values will still parse as long as they are well formed, but will be re-emitted in their canonical form. (So always use canonical form, or don't diff.) This format is intended to make it difficult to use these numbers without writing some sort of special handling code in the hopes that that will cause implementors to also use a fixed point implementation. | [optional]
+**medium** | **String** | medium represents what type of storage medium should back this directory. The default is \"\" which means to use the node's default medium. Must be an empty string (default) or Memory. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir | [optional]
+**sizeLimit** | **String** | Quantity is a fixed-point representation of a number. It provides convenient marshaling/unmarshaling in JSON and YAML, in addition to String() and AsInt64() accessors. The serialization format is: ``` <quantity> ::= <signedNumber><suffix> (Note that <suffix> may be empty, from the \"\" case in <decimalSI>.) <digit> ::= 0 | 1 | ... | 9 <digits> ::= <digit> | <digit><digits> <number> ::= <digits> | <digits>.<digits> | <digits>. | .<digits> <sign> ::= \"+\" | \"-\" <signedNumber> ::= <number> | <sign><number> <suffix> ::= <binarySI> | <decimalExponent> | <decimalSI> <binarySI> ::= Ki | Mi | Gi | Ti | Pi | Ei (International System of units; See: http://physics.nist.gov/cuu/Units/binary.html) <decimalSI> ::= m | \"\" | k | M | G | T | P | E (Note that 1024 = 1Ki but 1000 = 1k; I didn't choose the capitalization.) <decimalExponent> ::= \"e\" <signedNumber> | \"E\" <signedNumber> ``` No matter which of the three exponent forms is used, no quantity may represent a number greater than 2^63-1 in magnitude, nor may it have more than 3 decimal places. Numbers larger or more precise will be capped or rounded up. (E.g.: 0.1m will rounded up to 1m.) This may be extended in the future if we require larger or smaller quantities. When a Quantity is parsed from a string, it will remember the type of suffix it had, and will use the same type again when it is serialized. Before serializing, Quantity will be put in \"canonical form\". This means that Exponent/suffix will be adjusted up or down (with a corresponding increase or decrease in Mantissa) such that: - No precision is lost - No fractional digits will be emitted - The exponent (or suffix) is as large as possible. The sign will be omitted unless the number is negative. Examples: - 1.5 will be serialized as \"1500m\" - 1.5Gi will be serialized as \"1536Mi\" Note that the quantity will NEVER be internally represented by a floating point number. That is the whole point of this exercise. Non-canonical values will still parse as long as they are well formed, but will be re-emitted in their canonical form. (So always use canonical form, or don't diff.) This format is intended to make it difficult to use these numbers without writing some sort of special handling code in the hopes that that will cause implementors to also use a fixed point implementation. | [optional]
diff --git a/sdks/java/client/docs/EventServiceApi.md b/sdks/java/client/docs/EventServiceApi.md
index f734d99d5ee5..3561c346f076 100644
--- a/sdks/java/client/docs/EventServiceApi.md
+++ b/sdks/java/client/docs/EventServiceApi.md
@@ -10,7 +10,7 @@ Method | HTTP request | Description
# **eventServiceListWorkflowEventBindings**
-> IoArgoprojWorkflowV1alpha1WorkflowEventBindingList eventServiceListWorkflowEventBindings(namespace, listOptionsLabelSelector, listOptionsFieldSelector, listOptionsWatch, listOptionsAllowWatchBookmarks, listOptionsResourceVersion, listOptionsResourceVersionMatch, listOptionsTimeoutSeconds, listOptionsLimit, listOptionsContinue)
+> IoArgoprojWorkflowV1alpha1WorkflowEventBindingList eventServiceListWorkflowEventBindings(namespace, listOptionsLabelSelector, listOptionsFieldSelector, listOptionsWatch, listOptionsAllowWatchBookmarks, listOptionsResourceVersion, listOptionsResourceVersionMatch, listOptionsTimeoutSeconds, listOptionsLimit, listOptionsContinue, listOptionsSendInitialEvents)
@@ -46,8 +46,9 @@ public class Example {
String listOptionsTimeoutSeconds = "listOptionsTimeoutSeconds_example"; // String | Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity. +optional.
String listOptionsLimit = "listOptionsLimit_example"; // String | limit is a maximum number of responses to return for a list call. If more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
String listOptionsContinue = "listOptionsContinue_example"; // String | The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \"next key\". This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
+ Boolean listOptionsSendInitialEvents = true; // Boolean | `sendInitialEvents=true` may be set together with `watch=true`. In that case, the watch stream will begin with synthetic events to produce the current state of objects in the collection. Once all such events have been sent, a synthetic \"Bookmark\" event will be sent. The bookmark will report the ResourceVersion (RV) corresponding to the set of objects, and be marked with `\"io.k8s.initial-events-end\": \"true\"` annotation. Afterwards, the watch stream will proceed as usual, sending watch events corresponding to changes (subsequent to the RV) to objects watched. When `sendInitialEvents` option is set, we require `resourceVersionMatch` option to also be set. The semantic of the watch request is as following: - `resourceVersionMatch` = NotOlderThan is interpreted as \"data at least as new as the provided `resourceVersion`\" and the bookmark event is send when the state is synced to a `resourceVersion` at least as fresh as the one provided by the ListOptions. If `resourceVersion` is unset, this is interpreted as \"consistent read\" and the bookmark event is send when the state is synced at least to the moment when request started being processed. - `resourceVersionMatch` set to any other value or unset Invalid error is returned. Defaults to true if `resourceVersion=\"\"` or `resourceVersion=\"0\"` (for backward compatibility reasons) and to false otherwise. +optional
try {
- IoArgoprojWorkflowV1alpha1WorkflowEventBindingList result = apiInstance.eventServiceListWorkflowEventBindings(namespace, listOptionsLabelSelector, listOptionsFieldSelector, listOptionsWatch, listOptionsAllowWatchBookmarks, listOptionsResourceVersion, listOptionsResourceVersionMatch, listOptionsTimeoutSeconds, listOptionsLimit, listOptionsContinue);
+ IoArgoprojWorkflowV1alpha1WorkflowEventBindingList result = apiInstance.eventServiceListWorkflowEventBindings(namespace, listOptionsLabelSelector, listOptionsFieldSelector, listOptionsWatch, listOptionsAllowWatchBookmarks, listOptionsResourceVersion, listOptionsResourceVersionMatch, listOptionsTimeoutSeconds, listOptionsLimit, listOptionsContinue, listOptionsSendInitialEvents);
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling EventServiceApi#eventServiceListWorkflowEventBindings");
@@ -74,6 +75,7 @@ Name | Type | Description | Notes
**listOptionsTimeoutSeconds** | **String**| Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity. +optional. | [optional]
**listOptionsLimit** | **String**| limit is a maximum number of responses to return for a list call. If more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned. | [optional]
**listOptionsContinue** | **String**| The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \"next key\". This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications. | [optional]
+ **listOptionsSendInitialEvents** | **Boolean**| `sendInitialEvents=true` may be set together with `watch=true`. In that case, the watch stream will begin with synthetic events to produce the current state of objects in the collection. Once all such events have been sent, a synthetic \"Bookmark\" event will be sent. The bookmark will report the ResourceVersion (RV) corresponding to the set of objects, and be marked with `\"io.k8s.initial-events-end\": \"true\"` annotation. Afterwards, the watch stream will proceed as usual, sending watch events corresponding to changes (subsequent to the RV) to objects watched. When `sendInitialEvents` option is set, we require `resourceVersionMatch` option to also be set. The semantic of the watch request is as following: - `resourceVersionMatch` = NotOlderThan is interpreted as \"data at least as new as the provided `resourceVersion`\" and the bookmark event is send when the state is synced to a `resourceVersion` at least as fresh as the one provided by the ListOptions. If `resourceVersion` is unset, this is interpreted as \"consistent read\" and the bookmark event is send when the state is synced at least to the moment when request started being processed. - `resourceVersionMatch` set to any other value or unset Invalid error is returned. Defaults to true if `resourceVersion=\"\"` or `resourceVersion=\"0\"` (for backward compatibility reasons) and to false otherwise. +optional | [optional]
### Return type
diff --git a/sdks/java/client/docs/EventSourceServiceApi.md b/sdks/java/client/docs/EventSourceServiceApi.md
index eb4b1557d3fa..73838d9edadb 100644
--- a/sdks/java/client/docs/EventSourceServiceApi.md
+++ b/sdks/java/client/docs/EventSourceServiceApi.md
@@ -118,7 +118,7 @@ public class Example {
String deleteOptionsPreconditionsResourceVersion = "deleteOptionsPreconditionsResourceVersion_example"; // String | Specifies the target ResourceVersion +optional.
Boolean deleteOptionsOrphanDependents = true; // Boolean | Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both. +optional.
String deleteOptionsPropagationPolicy = "deleteOptionsPropagationPolicy_example"; // String | Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy. Acceptable values are: 'Orphan' - orphan the dependents; 'Background' - allow the garbage collector to delete the dependents in the background; 'Foreground' - a cascading policy that deletes all dependents in the foreground. +optional.
- List deleteOptionsDryRun = Arrays.asList(); // List | When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed +optional.
+ List deleteOptionsDryRun = Arrays.asList(); // List | When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed +optional +listType=atomic.
try {
Object result = apiInstance.eventSourceServiceDeleteEventSource(namespace, name, deleteOptionsGracePeriodSeconds, deleteOptionsPreconditionsUid, deleteOptionsPreconditionsResourceVersion, deleteOptionsOrphanDependents, deleteOptionsPropagationPolicy, deleteOptionsDryRun);
System.out.println(result);
@@ -144,7 +144,7 @@ Name | Type | Description | Notes
**deleteOptionsPreconditionsResourceVersion** | **String**| Specifies the target ResourceVersion +optional. | [optional]
**deleteOptionsOrphanDependents** | **Boolean**| Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both. +optional. | [optional]
**deleteOptionsPropagationPolicy** | **String**| Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy. Acceptable values are: 'Orphan' - orphan the dependents; 'Background' - allow the garbage collector to delete the dependents in the background; 'Foreground' - a cascading policy that deletes all dependents in the foreground. +optional. | [optional]
- **deleteOptionsDryRun** | [**List<String>**](String.md)| When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed +optional. | [optional]
+ **deleteOptionsDryRun** | [**List<String>**](String.md)| When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed +optional +listType=atomic. | [optional]
### Return type
@@ -333,7 +333,7 @@ Name | Type | Description | Notes
# **eventSourceServiceListEventSources**
-> IoArgoprojEventsV1alpha1EventSourceList eventSourceServiceListEventSources(namespace, listOptionsLabelSelector, listOptionsFieldSelector, listOptionsWatch, listOptionsAllowWatchBookmarks, listOptionsResourceVersion, listOptionsResourceVersionMatch, listOptionsTimeoutSeconds, listOptionsLimit, listOptionsContinue)
+> IoArgoprojEventsV1alpha1EventSourceList eventSourceServiceListEventSources(namespace, listOptionsLabelSelector, listOptionsFieldSelector, listOptionsWatch, listOptionsAllowWatchBookmarks, listOptionsResourceVersion, listOptionsResourceVersionMatch, listOptionsTimeoutSeconds, listOptionsLimit, listOptionsContinue, listOptionsSendInitialEvents)
@@ -369,8 +369,9 @@ public class Example {
String listOptionsTimeoutSeconds = "listOptionsTimeoutSeconds_example"; // String | Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity. +optional.
String listOptionsLimit = "listOptionsLimit_example"; // String | limit is a maximum number of responses to return for a list call. If more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
String listOptionsContinue = "listOptionsContinue_example"; // String | The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \"next key\". This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
+ Boolean listOptionsSendInitialEvents = true; // Boolean | `sendInitialEvents=true` may be set together with `watch=true`. In that case, the watch stream will begin with synthetic events to produce the current state of objects in the collection. Once all such events have been sent, a synthetic \"Bookmark\" event will be sent. The bookmark will report the ResourceVersion (RV) corresponding to the set of objects, and be marked with `\"io.k8s.initial-events-end\": \"true\"` annotation. Afterwards, the watch stream will proceed as usual, sending watch events corresponding to changes (subsequent to the RV) to objects watched. When `sendInitialEvents` option is set, we require `resourceVersionMatch` option to also be set. The semantic of the watch request is as following: - `resourceVersionMatch` = NotOlderThan is interpreted as \"data at least as new as the provided `resourceVersion`\" and the bookmark event is send when the state is synced to a `resourceVersion` at least as fresh as the one provided by the ListOptions. If `resourceVersion` is unset, this is interpreted as \"consistent read\" and the bookmark event is send when the state is synced at least to the moment when request started being processed. - `resourceVersionMatch` set to any other value or unset Invalid error is returned. Defaults to true if `resourceVersion=\"\"` or `resourceVersion=\"0\"` (for backward compatibility reasons) and to false otherwise. +optional
try {
- IoArgoprojEventsV1alpha1EventSourceList result = apiInstance.eventSourceServiceListEventSources(namespace, listOptionsLabelSelector, listOptionsFieldSelector, listOptionsWatch, listOptionsAllowWatchBookmarks, listOptionsResourceVersion, listOptionsResourceVersionMatch, listOptionsTimeoutSeconds, listOptionsLimit, listOptionsContinue);
+ IoArgoprojEventsV1alpha1EventSourceList result = apiInstance.eventSourceServiceListEventSources(namespace, listOptionsLabelSelector, listOptionsFieldSelector, listOptionsWatch, listOptionsAllowWatchBookmarks, listOptionsResourceVersion, listOptionsResourceVersionMatch, listOptionsTimeoutSeconds, listOptionsLimit, listOptionsContinue, listOptionsSendInitialEvents);
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling EventSourceServiceApi#eventSourceServiceListEventSources");
@@ -397,6 +398,7 @@ Name | Type | Description | Notes
**listOptionsTimeoutSeconds** | **String**| Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity. +optional. | [optional]
**listOptionsLimit** | **String**| limit is a maximum number of responses to return for a list call. If more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned. | [optional]
**listOptionsContinue** | **String**| The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \"next key\". This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications. | [optional]
+ **listOptionsSendInitialEvents** | **Boolean**| `sendInitialEvents=true` may be set together with `watch=true`. In that case, the watch stream will begin with synthetic events to produce the current state of objects in the collection. Once all such events have been sent, a synthetic \"Bookmark\" event will be sent. The bookmark will report the ResourceVersion (RV) corresponding to the set of objects, and be marked with `\"io.k8s.initial-events-end\": \"true\"` annotation. Afterwards, the watch stream will proceed as usual, sending watch events corresponding to changes (subsequent to the RV) to objects watched. When `sendInitialEvents` option is set, we require `resourceVersionMatch` option to also be set. The semantic of the watch request is as following: - `resourceVersionMatch` = NotOlderThan is interpreted as \"data at least as new as the provided `resourceVersion`\" and the bookmark event is send when the state is synced to a `resourceVersion` at least as fresh as the one provided by the ListOptions. If `resourceVersion` is unset, this is interpreted as \"consistent read\" and the bookmark event is send when the state is synced at least to the moment when request started being processed. - `resourceVersionMatch` set to any other value or unset Invalid error is returned. Defaults to true if `resourceVersion=\"\"` or `resourceVersion=\"0\"` (for backward compatibility reasons) and to false otherwise. +optional | [optional]
### Return type
@@ -491,7 +493,7 @@ Name | Type | Description | Notes
# **eventSourceServiceWatchEventSources**
-> StreamResultOfEventsourceEventSourceWatchEvent eventSourceServiceWatchEventSources(namespace, listOptionsLabelSelector, listOptionsFieldSelector, listOptionsWatch, listOptionsAllowWatchBookmarks, listOptionsResourceVersion, listOptionsResourceVersionMatch, listOptionsTimeoutSeconds, listOptionsLimit, listOptionsContinue)
+> StreamResultOfEventsourceEventSourceWatchEvent eventSourceServiceWatchEventSources(namespace, listOptionsLabelSelector, listOptionsFieldSelector, listOptionsWatch, listOptionsAllowWatchBookmarks, listOptionsResourceVersion, listOptionsResourceVersionMatch, listOptionsTimeoutSeconds, listOptionsLimit, listOptionsContinue, listOptionsSendInitialEvents)
@@ -527,8 +529,9 @@ public class Example {
String listOptionsTimeoutSeconds = "listOptionsTimeoutSeconds_example"; // String | Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity. +optional.
String listOptionsLimit = "listOptionsLimit_example"; // String | limit is a maximum number of responses to return for a list call. If more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
String listOptionsContinue = "listOptionsContinue_example"; // String | The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \"next key\". This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
+ Boolean listOptionsSendInitialEvents = true; // Boolean | `sendInitialEvents=true` may be set together with `watch=true`. In that case, the watch stream will begin with synthetic events to produce the current state of objects in the collection. Once all such events have been sent, a synthetic \"Bookmark\" event will be sent. The bookmark will report the ResourceVersion (RV) corresponding to the set of objects, and be marked with `\"io.k8s.initial-events-end\": \"true\"` annotation. Afterwards, the watch stream will proceed as usual, sending watch events corresponding to changes (subsequent to the RV) to objects watched. When `sendInitialEvents` option is set, we require `resourceVersionMatch` option to also be set. The semantic of the watch request is as following: - `resourceVersionMatch` = NotOlderThan is interpreted as \"data at least as new as the provided `resourceVersion`\" and the bookmark event is send when the state is synced to a `resourceVersion` at least as fresh as the one provided by the ListOptions. If `resourceVersion` is unset, this is interpreted as \"consistent read\" and the bookmark event is send when the state is synced at least to the moment when request started being processed. - `resourceVersionMatch` set to any other value or unset Invalid error is returned. Defaults to true if `resourceVersion=\"\"` or `resourceVersion=\"0\"` (for backward compatibility reasons) and to false otherwise. +optional
try {
- StreamResultOfEventsourceEventSourceWatchEvent result = apiInstance.eventSourceServiceWatchEventSources(namespace, listOptionsLabelSelector, listOptionsFieldSelector, listOptionsWatch, listOptionsAllowWatchBookmarks, listOptionsResourceVersion, listOptionsResourceVersionMatch, listOptionsTimeoutSeconds, listOptionsLimit, listOptionsContinue);
+ StreamResultOfEventsourceEventSourceWatchEvent result = apiInstance.eventSourceServiceWatchEventSources(namespace, listOptionsLabelSelector, listOptionsFieldSelector, listOptionsWatch, listOptionsAllowWatchBookmarks, listOptionsResourceVersion, listOptionsResourceVersionMatch, listOptionsTimeoutSeconds, listOptionsLimit, listOptionsContinue, listOptionsSendInitialEvents);
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling EventSourceServiceApi#eventSourceServiceWatchEventSources");
@@ -555,6 +558,7 @@ Name | Type | Description | Notes
**listOptionsTimeoutSeconds** | **String**| Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity. +optional. | [optional]
**listOptionsLimit** | **String**| limit is a maximum number of responses to return for a list call. If more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned. | [optional]
**listOptionsContinue** | **String**| The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \"next key\". This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications. | [optional]
+ **listOptionsSendInitialEvents** | **Boolean**| `sendInitialEvents=true` may be set together with `watch=true`. In that case, the watch stream will begin with synthetic events to produce the current state of objects in the collection. Once all such events have been sent, a synthetic \"Bookmark\" event will be sent. The bookmark will report the ResourceVersion (RV) corresponding to the set of objects, and be marked with `\"io.k8s.initial-events-end\": \"true\"` annotation. Afterwards, the watch stream will proceed as usual, sending watch events corresponding to changes (subsequent to the RV) to objects watched. When `sendInitialEvents` option is set, we require `resourceVersionMatch` option to also be set. The semantic of the watch request is as following: - `resourceVersionMatch` = NotOlderThan is interpreted as \"data at least as new as the provided `resourceVersion`\" and the bookmark event is send when the state is synced to a `resourceVersion` at least as fresh as the one provided by the ListOptions. If `resourceVersion` is unset, this is interpreted as \"consistent read\" and the bookmark event is send when the state is synced at least to the moment when request started being processed. - `resourceVersionMatch` set to any other value or unset Invalid error is returned. Defaults to true if `resourceVersion=\"\"` or `resourceVersion=\"0\"` (for backward compatibility reasons) and to false otherwise. +optional | [optional]
### Return type
diff --git a/sdks/java/client/docs/FCVolumeSource.md b/sdks/java/client/docs/FCVolumeSource.md
index b135eaa1e1b7..c5e9bfb32175 100644
--- a/sdks/java/client/docs/FCVolumeSource.md
+++ b/sdks/java/client/docs/FCVolumeSource.md
@@ -8,11 +8,11 @@ Represents a Fibre Channel volume. Fibre Channel volumes can only be mounted as
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**fsType** | **String** | Filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified. | [optional]
-**lun** | **Integer** | Optional: FC target lun number | [optional]
-**readOnly** | **Boolean** | Optional: Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts. | [optional]
-**targetWWNs** | **List<String>** | Optional: FC target worldwide names (WWNs) | [optional]
-**wwids** | **List<String>** | Optional: FC volume world wide identifiers (wwids) Either wwids or combination of targetWWNs and lun must be set, but not both simultaneously. | [optional]
+**fsType** | **String** | fsType is the filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified. | [optional]
+**lun** | **Integer** | lun is Optional: FC target lun number | [optional]
+**readOnly** | **Boolean** | readOnly is Optional: Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts. | [optional]
+**targetWWNs** | **List<String>** | targetWWNs is Optional: FC target worldwide names (WWNs) | [optional]
+**wwids** | **List<String>** | wwids Optional: FC volume world wide identifiers (wwids) Either wwids or combination of targetWWNs and lun must be set, but not both simultaneously. | [optional]
diff --git a/sdks/java/client/docs/FlexVolumeSource.md b/sdks/java/client/docs/FlexVolumeSource.md
index 231274a6790e..9278a1c8405c 100644
--- a/sdks/java/client/docs/FlexVolumeSource.md
+++ b/sdks/java/client/docs/FlexVolumeSource.md
@@ -8,10 +8,10 @@ FlexVolume represents a generic volume resource that is provisioned/attached usi
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**driver** | **String** | Driver is the name of the driver to use for this volume. |
-**fsType** | **String** | Filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. \"ext4\", \"xfs\", \"ntfs\". The default filesystem depends on FlexVolume script. | [optional]
-**options** | **Map<String, String>** | Optional: Extra command options if any. | [optional]
-**readOnly** | **Boolean** | Optional: Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts. | [optional]
+**driver** | **String** | driver is the name of the driver to use for this volume. |
+**fsType** | **String** | fsType is the filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. \"ext4\", \"xfs\", \"ntfs\". The default filesystem depends on FlexVolume script. | [optional]
+**options** | **Map<String, String>** | options is Optional: this field holds extra command options if any. | [optional]
+**readOnly** | **Boolean** | readOnly is Optional: defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts. | [optional]
**secretRef** | [**io.kubernetes.client.openapi.models.V1LocalObjectReference**](io.kubernetes.client.openapi.models.V1LocalObjectReference.md) | | [optional]
diff --git a/sdks/java/client/docs/FlockerVolumeSource.md b/sdks/java/client/docs/FlockerVolumeSource.md
index 20d03eb28da1..d2342d76a7d5 100644
--- a/sdks/java/client/docs/FlockerVolumeSource.md
+++ b/sdks/java/client/docs/FlockerVolumeSource.md
@@ -8,8 +8,8 @@ Represents a Flocker volume mounted by the Flocker agent. One and only one of da
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**datasetName** | **String** | Name of the dataset stored as metadata -> name on the dataset for Flocker should be considered as deprecated | [optional]
-**datasetUUID** | **String** | UUID of the dataset. This is unique identifier of a Flocker dataset | [optional]
+**datasetName** | **String** | datasetName is Name of the dataset stored as metadata -> name on the dataset for Flocker should be considered as deprecated | [optional]
+**datasetUUID** | **String** | datasetUUID is the UUID of the dataset. This is unique identifier of a Flocker dataset | [optional]
diff --git a/sdks/java/client/docs/GCEPersistentDiskVolumeSource.md b/sdks/java/client/docs/GCEPersistentDiskVolumeSource.md
index 04fb14213bf1..75610ac504e3 100644
--- a/sdks/java/client/docs/GCEPersistentDiskVolumeSource.md
+++ b/sdks/java/client/docs/GCEPersistentDiskVolumeSource.md
@@ -8,10 +8,10 @@ Represents a Persistent Disk resource in Google Compute Engine. A GCE PD must e
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**fsType** | **String** | Filesystem type of the volume that you want to mount. Tip: Ensure that the filesystem type is supported by the host operating system. Examples: \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk | [optional]
-**partition** | **Integer** | The partition in the volume that you want to mount. If omitted, the default is to mount by volume name. Examples: For volume /dev/sda1, you specify the partition as \"1\". Similarly, the volume partition for /dev/sda is \"0\" (or you can leave the property empty). More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk | [optional]
-**pdName** | **String** | Unique name of the PD resource in GCE. Used to identify the disk in GCE. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk |
-**readOnly** | **Boolean** | ReadOnly here will force the ReadOnly setting in VolumeMounts. Defaults to false. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk | [optional]
+**fsType** | **String** | fsType is filesystem type of the volume that you want to mount. Tip: Ensure that the filesystem type is supported by the host operating system. Examples: \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk | [optional]
+**partition** | **Integer** | partition is the partition in the volume that you want to mount. If omitted, the default is to mount by volume name. Examples: For volume /dev/sda1, you specify the partition as \"1\". Similarly, the volume partition for /dev/sda is \"0\" (or you can leave the property empty). More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk | [optional]
+**pdName** | **String** | pdName is unique name of the PD resource in GCE. Used to identify the disk in GCE. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk |
+**readOnly** | **Boolean** | readOnly here will force the ReadOnly setting in VolumeMounts. Defaults to false. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk | [optional]
diff --git a/sdks/java/client/docs/GitRepoVolumeSource.md b/sdks/java/client/docs/GitRepoVolumeSource.md
index b43f031887ce..4775a54678c6 100644
--- a/sdks/java/client/docs/GitRepoVolumeSource.md
+++ b/sdks/java/client/docs/GitRepoVolumeSource.md
@@ -8,9 +8,9 @@ Represents a volume that is populated with the contents of a git repository. Git
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**directory** | **String** | Target directory name. Must not contain or start with '..'. If '.' is supplied, the volume directory will be the git repository. Otherwise, if specified, the volume will contain the git repository in the subdirectory with the given name. | [optional]
-**repository** | **String** | Repository URL |
-**revision** | **String** | Commit hash for the specified revision. | [optional]
+**directory** | **String** | directory is the target directory name. Must not contain or start with '..'. If '.' is supplied, the volume directory will be the git repository. Otherwise, if specified, the volume will contain the git repository in the subdirectory with the given name. | [optional]
+**repository** | **String** | repository is the URL |
+**revision** | **String** | revision is the commit hash for the specified revision. | [optional]
diff --git a/sdks/java/client/docs/GlusterfsVolumeSource.md b/sdks/java/client/docs/GlusterfsVolumeSource.md
index e5d6cd338c17..1c990d29f9be 100644
--- a/sdks/java/client/docs/GlusterfsVolumeSource.md
+++ b/sdks/java/client/docs/GlusterfsVolumeSource.md
@@ -8,9 +8,9 @@ Represents a Glusterfs mount that lasts the lifetime of a pod. Glusterfs volumes
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**endpoints** | **String** | EndpointsName is the endpoint name that details Glusterfs topology. More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod |
-**path** | **String** | Path is the Glusterfs volume path. More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod |
-**readOnly** | **Boolean** | ReadOnly here will force the Glusterfs volume to be mounted with read-only permissions. Defaults to false. More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod | [optional]
+**endpoints** | **String** | endpoints is the endpoint name that details Glusterfs topology. More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod |
+**path** | **String** | path is the Glusterfs volume path. More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod |
+**readOnly** | **Boolean** | readOnly here will force the Glusterfs volume to be mounted with read-only permissions. Defaults to false. More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod | [optional]
diff --git a/sdks/java/client/docs/HTTPGetAction.md b/sdks/java/client/docs/HTTPGetAction.md
index 5e823e946649..8853cce486ed 100644
--- a/sdks/java/client/docs/HTTPGetAction.md
+++ b/sdks/java/client/docs/HTTPGetAction.md
@@ -12,16 +12,7 @@ Name | Type | Description | Notes
**httpHeaders** | [**List<HTTPHeader>**](HTTPHeader.md) | Custom headers to set in the request. HTTP allows repeated headers. | [optional]
**path** | **String** | Path to access on the HTTP server. | [optional]
**port** | **String** | |
-**scheme** | [**SchemeEnum**](#SchemeEnum) | Scheme to use for connecting to the host. Defaults to HTTP. Possible enum values: - `\"HTTP\"` means that the scheme used will be http:// - `\"HTTPS\"` means that the scheme used will be https:// | [optional]
-
-
-
-## Enum: SchemeEnum
-
-Name | Value
----- | -----
-HTTP | "HTTP"
-HTTPS | "HTTPS"
+**scheme** | **String** | Scheme to use for connecting to the host. Defaults to HTTP. | [optional]
diff --git a/sdks/java/client/docs/HTTPHeader.md b/sdks/java/client/docs/HTTPHeader.md
index fda3427884b9..fb2c9bf0dedc 100644
--- a/sdks/java/client/docs/HTTPHeader.md
+++ b/sdks/java/client/docs/HTTPHeader.md
@@ -8,7 +8,7 @@ HTTPHeader describes a custom header to be used in HTTP probes
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**name** | **String** | The header field name |
+**name** | **String** | The header field name. This will be canonicalized upon output, so case-variant names will be understood as the same header. |
**value** | **String** | The header field value |
diff --git a/sdks/java/client/docs/HostPathVolumeSource.md b/sdks/java/client/docs/HostPathVolumeSource.md
index 22e8b198174b..f59dbd285144 100644
--- a/sdks/java/client/docs/HostPathVolumeSource.md
+++ b/sdks/java/client/docs/HostPathVolumeSource.md
@@ -8,8 +8,8 @@ Represents a host path mapped into a pod. Host path volumes do not support owner
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**path** | **String** | Path of the directory on the host. If the path is a symlink, it will follow the link to the real path. More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath |
-**type** | **String** | Type for HostPath Volume Defaults to \"\" More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath | [optional]
+**path** | **String** | path of the directory on the host. If the path is a symlink, it will follow the link to the real path. More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath |
+**type** | **String** | type for HostPath Volume Defaults to \"\" More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath | [optional]
diff --git a/sdks/java/client/docs/ISCSIVolumeSource.md b/sdks/java/client/docs/ISCSIVolumeSource.md
index 4911d2ad0f15..a9069d20927a 100644
--- a/sdks/java/client/docs/ISCSIVolumeSource.md
+++ b/sdks/java/client/docs/ISCSIVolumeSource.md
@@ -8,17 +8,17 @@ Represents an ISCSI disk. ISCSI volumes can only be mounted as read/write once.
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**chapAuthDiscovery** | **Boolean** | whether support iSCSI Discovery CHAP authentication | [optional]
-**chapAuthSession** | **Boolean** | whether support iSCSI Session CHAP authentication | [optional]
-**fsType** | **String** | Filesystem type of the volume that you want to mount. Tip: Ensure that the filesystem type is supported by the host operating system. Examples: \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified. More info: https://kubernetes.io/docs/concepts/storage/volumes#iscsi | [optional]
-**initiatorName** | **String** | Custom iSCSI Initiator Name. If initiatorName is specified with iscsiInterface simultaneously, new iSCSI interface <target portal>:<volume name> will be created for the connection. | [optional]
-**iqn** | **String** | Target iSCSI Qualified Name. |
-**iscsiInterface** | **String** | iSCSI Interface Name that uses an iSCSI transport. Defaults to 'default' (tcp). | [optional]
-**lun** | **Integer** | iSCSI Target Lun number. |
-**portals** | **List<String>** | iSCSI Target Portal List. The portal is either an IP or ip_addr:port if the port is other than default (typically TCP ports 860 and 3260). | [optional]
-**readOnly** | **Boolean** | ReadOnly here will force the ReadOnly setting in VolumeMounts. Defaults to false. | [optional]
+**chapAuthDiscovery** | **Boolean** | chapAuthDiscovery defines whether support iSCSI Discovery CHAP authentication | [optional]
+**chapAuthSession** | **Boolean** | chapAuthSession defines whether support iSCSI Session CHAP authentication | [optional]
+**fsType** | **String** | fsType is the filesystem type of the volume that you want to mount. Tip: Ensure that the filesystem type is supported by the host operating system. Examples: \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified. More info: https://kubernetes.io/docs/concepts/storage/volumes#iscsi | [optional]
+**initiatorName** | **String** | initiatorName is the custom iSCSI Initiator Name. If initiatorName is specified with iscsiInterface simultaneously, new iSCSI interface <target portal>:<volume name> will be created for the connection. | [optional]
+**iqn** | **String** | iqn is the target iSCSI Qualified Name. |
+**iscsiInterface** | **String** | iscsiInterface is the interface Name that uses an iSCSI transport. Defaults to 'default' (tcp). | [optional]
+**lun** | **Integer** | lun represents iSCSI Target Lun number. |
+**portals** | **List<String>** | portals is the iSCSI Target Portal List. The portal is either an IP or ip_addr:port if the port is other than default (typically TCP ports 860 and 3260). | [optional]
+**readOnly** | **Boolean** | readOnly here will force the ReadOnly setting in VolumeMounts. Defaults to false. | [optional]
**secretRef** | [**io.kubernetes.client.openapi.models.V1LocalObjectReference**](io.kubernetes.client.openapi.models.V1LocalObjectReference.md) | | [optional]
-**targetPortal** | **String** | iSCSI Target Portal. The Portal is either an IP or ip_addr:port if the port is other than default (typically TCP ports 860 and 3260). |
+**targetPortal** | **String** | targetPortal is iSCSI Target Portal. The Portal is either an IP or ip_addr:port if the port is other than default (typically TCP ports 860 and 3260). |
diff --git a/sdks/java/client/docs/IoArgoprojWorkflowV1alpha1ContainerNode.md b/sdks/java/client/docs/IoArgoprojWorkflowV1alpha1ContainerNode.md
index 65acdaac8a2a..de6653bd35da 100644
--- a/sdks/java/client/docs/IoArgoprojWorkflowV1alpha1ContainerNode.md
+++ b/sdks/java/client/docs/IoArgoprojWorkflowV1alpha1ContainerNode.md
@@ -19,7 +19,9 @@ Name | Type | Description | Notes
**name** | **String** | Name of the container specified as a DNS_LABEL. Each container in a pod must have a unique name (DNS_LABEL). Cannot be updated. |
**ports** | [**List<io.kubernetes.client.openapi.models.V1ContainerPort>**](io.kubernetes.client.openapi.models.V1ContainerPort.md) | List of ports to expose from the container. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default \"0.0.0.0\" address inside a container will be accessible from the network. Modifying this array with strategic merge patch may corrupt the data. For more information See https://github.com/kubernetes/kubernetes/issues/108255. Cannot be updated. | [optional]
**readinessProbe** | [**io.kubernetes.client.openapi.models.V1Probe**](io.kubernetes.client.openapi.models.V1Probe.md) | | [optional]
+**resizePolicy** | [**List<ContainerResizePolicy>**](ContainerResizePolicy.md) | Resources resize policy for the container. | [optional]
**resources** | [**io.kubernetes.client.openapi.models.V1ResourceRequirements**](io.kubernetes.client.openapi.models.V1ResourceRequirements.md) | | [optional]
+**restartPolicy** | **String** | RestartPolicy defines the restart behavior of individual containers in a pod. This field may only be set for init containers, and the only allowed value is \"Always\". For non-init containers or when this field is not specified, the restart behavior is defined by the Pod's restart policy and the container type. Setting the RestartPolicy as \"Always\" for the init container will have the following effect: this init container will be continually restarted on exit until all regular containers have terminated. Once all regular containers have completed, all init containers with restartPolicy \"Always\" will be shut down. This lifecycle differs from normal init containers and is often referred to as a \"sidecar\" container. Although this init container still starts in the init container sequence, it does not wait for the container to complete before proceeding to the next init container. Instead, the next init container starts immediately after this init container is started, or after any startupProbe has successfully completed. | [optional]
**securityContext** | [**io.kubernetes.client.openapi.models.V1SecurityContext**](io.kubernetes.client.openapi.models.V1SecurityContext.md) | | [optional]
**startupProbe** | [**io.kubernetes.client.openapi.models.V1Probe**](io.kubernetes.client.openapi.models.V1Probe.md) | | [optional]
**stdin** | **Boolean** | Whether this container should allocate a buffer for stdin in the container runtime. If this is not set, reads from stdin in the container will always result in EOF. Default is false. | [optional]
diff --git a/sdks/java/client/docs/IoArgoprojWorkflowV1alpha1CronWorkflowSpec.md b/sdks/java/client/docs/IoArgoprojWorkflowV1alpha1CronWorkflowSpec.md
index 17c6b29b0dc8..09e50d4db433 100644
--- a/sdks/java/client/docs/IoArgoprojWorkflowV1alpha1CronWorkflowSpec.md
+++ b/sdks/java/client/docs/IoArgoprojWorkflowV1alpha1CronWorkflowSpec.md
@@ -10,13 +10,14 @@ Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**concurrencyPolicy** | **String** | ConcurrencyPolicy is the K8s-style concurrency policy that will be used | [optional]
**failedJobsHistoryLimit** | **Integer** | FailedJobsHistoryLimit is the number of failed jobs to be kept at a time | [optional]
-**schedule** | **String** | Schedule is a schedule to run the Workflow in Cron format |
-**schedules** | **List<String>** | Schedules is a list of schedules to run the Workflow in Cron format | [optional]
+**schedule** | **String** | Schedule is a schedule to run the Workflow in Cron format. Deprecated, use Schedules | [optional]
+**schedules** | **List<String>** | v3.6 and after: Schedules is a list of schedules to run the Workflow in Cron format | [optional]
**startingDeadlineSeconds** | **Integer** | StartingDeadlineSeconds is the K8s-style deadline that will limit the time a CronWorkflow will be run after its original scheduled time if it is missed. | [optional]
**stopStrategy** | [**IoArgoprojWorkflowV1alpha1StopStrategy**](IoArgoprojWorkflowV1alpha1StopStrategy.md) | | [optional]
**successfulJobsHistoryLimit** | **Integer** | SuccessfulJobsHistoryLimit is the number of successful jobs to be kept at a time | [optional]
**suspend** | **Boolean** | Suspend is a flag that will stop new CronWorkflows from running if set to true | [optional]
**timezone** | **String** | Timezone is the timezone against which the cron schedule will be calculated, e.g. \"Asia/Tokyo\". Default is machine's local time. | [optional]
+**when** | **String** | v3.6 and after: When is an expression that determines if a run should be scheduled. | [optional]
**workflowMetadata** | [**io.kubernetes.client.openapi.models.V1ObjectMeta**](io.kubernetes.client.openapi.models.V1ObjectMeta.md) | | [optional]
**workflowSpec** | [**IoArgoprojWorkflowV1alpha1WorkflowSpec**](IoArgoprojWorkflowV1alpha1WorkflowSpec.md) | |
diff --git a/sdks/java/client/docs/IoArgoprojWorkflowV1alpha1GitArtifact.md b/sdks/java/client/docs/IoArgoprojWorkflowV1alpha1GitArtifact.md
index 54589bada4e7..c11baa7ca5f5 100644
--- a/sdks/java/client/docs/IoArgoprojWorkflowV1alpha1GitArtifact.md
+++ b/sdks/java/client/docs/IoArgoprojWorkflowV1alpha1GitArtifact.md
@@ -13,6 +13,7 @@ Name | Type | Description | Notes
**disableSubmodules** | **Boolean** | DisableSubmodules disables submodules during git clone | [optional]
**fetch** | **List<String>** | Fetch specifies a number of refs that should be fetched before checkout | [optional]
**insecureIgnoreHostKey** | **Boolean** | InsecureIgnoreHostKey disables SSH strict host key checking during git clone | [optional]
+**insecureSkipTLS** | **Boolean** | InsecureSkipTLS disables server certificate verification resulting in insecure HTTPS connections | [optional]
**passwordSecret** | [**io.kubernetes.client.openapi.models.V1SecretKeySelector**](io.kubernetes.client.openapi.models.V1SecretKeySelector.md) | | [optional]
**repo** | **String** | Repo is the git repository |
**revision** | **String** | Revision is the git commit, tag, branch to checkout | [optional]
diff --git a/sdks/java/client/docs/IoArgoprojWorkflowV1alpha1S3Artifact.md b/sdks/java/client/docs/IoArgoprojWorkflowV1alpha1S3Artifact.md
index 1be6bf86bdc8..30c169da0a1f 100644
--- a/sdks/java/client/docs/IoArgoprojWorkflowV1alpha1S3Artifact.md
+++ b/sdks/java/client/docs/IoArgoprojWorkflowV1alpha1S3Artifact.md
@@ -19,6 +19,7 @@ Name | Type | Description | Notes
**region** | **String** | Region contains the optional bucket region | [optional]
**roleARN** | **String** | RoleARN is the Amazon Resource Name (ARN) of the role to assume. | [optional]
**secretKeySecret** | [**io.kubernetes.client.openapi.models.V1SecretKeySelector**](io.kubernetes.client.openapi.models.V1SecretKeySelector.md) | | [optional]
+**sessionTokenSecret** | [**io.kubernetes.client.openapi.models.V1SecretKeySelector**](io.kubernetes.client.openapi.models.V1SecretKeySelector.md) | | [optional]
**useSDKCreds** | **Boolean** | UseSDKCreds tells the driver to figure out credentials based on sdk defaults. | [optional]
diff --git a/sdks/java/client/docs/IoArgoprojWorkflowV1alpha1S3ArtifactRepository.md b/sdks/java/client/docs/IoArgoprojWorkflowV1alpha1S3ArtifactRepository.md
index 94e6711f1831..15d0f0effa1a 100644
--- a/sdks/java/client/docs/IoArgoprojWorkflowV1alpha1S3ArtifactRepository.md
+++ b/sdks/java/client/docs/IoArgoprojWorkflowV1alpha1S3ArtifactRepository.md
@@ -20,6 +20,7 @@ Name | Type | Description | Notes
**region** | **String** | Region contains the optional bucket region | [optional]
**roleARN** | **String** | RoleARN is the Amazon Resource Name (ARN) of the role to assume. | [optional]
**secretKeySecret** | [**io.kubernetes.client.openapi.models.V1SecretKeySelector**](io.kubernetes.client.openapi.models.V1SecretKeySelector.md) | | [optional]
+**sessionTokenSecret** | [**io.kubernetes.client.openapi.models.V1SecretKeySelector**](io.kubernetes.client.openapi.models.V1SecretKeySelector.md) | | [optional]
**useSDKCreds** | **Boolean** | UseSDKCreds tells the driver to figure out credentials based on sdk defaults. | [optional]
diff --git a/sdks/java/client/docs/IoArgoprojWorkflowV1alpha1ScriptTemplate.md b/sdks/java/client/docs/IoArgoprojWorkflowV1alpha1ScriptTemplate.md
index d3d6b84ab07c..9ca3858188fa 100644
--- a/sdks/java/client/docs/IoArgoprojWorkflowV1alpha1ScriptTemplate.md
+++ b/sdks/java/client/docs/IoArgoprojWorkflowV1alpha1ScriptTemplate.md
@@ -19,7 +19,9 @@ Name | Type | Description | Notes
**name** | **String** | Name of the container specified as a DNS_LABEL. Each container in a pod must have a unique name (DNS_LABEL). Cannot be updated. | [optional]
**ports** | [**List<io.kubernetes.client.openapi.models.V1ContainerPort>**](io.kubernetes.client.openapi.models.V1ContainerPort.md) | List of ports to expose from the container. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default \"0.0.0.0\" address inside a container will be accessible from the network. Modifying this array with strategic merge patch may corrupt the data. For more information See https://github.com/kubernetes/kubernetes/issues/108255. Cannot be updated. | [optional]
**readinessProbe** | [**io.kubernetes.client.openapi.models.V1Probe**](io.kubernetes.client.openapi.models.V1Probe.md) | | [optional]
+**resizePolicy** | [**List<ContainerResizePolicy>**](ContainerResizePolicy.md) | Resources resize policy for the container. | [optional]
**resources** | [**io.kubernetes.client.openapi.models.V1ResourceRequirements**](io.kubernetes.client.openapi.models.V1ResourceRequirements.md) | | [optional]
+**restartPolicy** | **String** | RestartPolicy defines the restart behavior of individual containers in a pod. This field may only be set for init containers, and the only allowed value is \"Always\". For non-init containers or when this field is not specified, the restart behavior is defined by the Pod's restart policy and the container type. Setting the RestartPolicy as \"Always\" for the init container will have the following effect: this init container will be continually restarted on exit until all regular containers have terminated. Once all regular containers have completed, all init containers with restartPolicy \"Always\" will be shut down. This lifecycle differs from normal init containers and is often referred to as a \"sidecar\" container. Although this init container still starts in the init container sequence, it does not wait for the container to complete before proceeding to the next init container. Instead, the next init container starts immediately after this init container is started, or after any startupProbe has successfully completed. | [optional]
**securityContext** | [**io.kubernetes.client.openapi.models.V1SecurityContext**](io.kubernetes.client.openapi.models.V1SecurityContext.md) | | [optional]
**source** | **String** | Source contains the source code of the script to execute |
**startupProbe** | [**io.kubernetes.client.openapi.models.V1Probe**](io.kubernetes.client.openapi.models.V1Probe.md) | | [optional]
diff --git a/sdks/java/client/docs/IoArgoprojWorkflowV1alpha1StopStrategy.md b/sdks/java/client/docs/IoArgoprojWorkflowV1alpha1StopStrategy.md
index f644e834e493..0d52970e5b80 100644
--- a/sdks/java/client/docs/IoArgoprojWorkflowV1alpha1StopStrategy.md
+++ b/sdks/java/client/docs/IoArgoprojWorkflowV1alpha1StopStrategy.md
@@ -2,13 +2,13 @@
# IoArgoprojWorkflowV1alpha1StopStrategy
-v3.6 and after: StopStrategy defines if the CronWorkflow should stop scheduling based on a condition
+StopStrategy defines if the CronWorkflow should stop scheduling based on an expression. v3.6 and after
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**condition** | **String** | v3.6 and after: Condition is an expression that stops scheduling workflows when true. Use the variables `failed` or `succeeded` to access the number of failed or successful child workflows. |
+**expression** | **String** | v3.6 and after: Expression is an expression that stops scheduling workflows when true. Use the variables `cronworkflow`.`failed` or `cronworkflow`.`succeeded` to access the number of failed or successful child workflows. |
diff --git a/sdks/java/client/docs/IoArgoprojWorkflowV1alpha1Synchronization.md b/sdks/java/client/docs/IoArgoprojWorkflowV1alpha1Synchronization.md
index ac9b866bb953..9cb40edb1f3d 100644
--- a/sdks/java/client/docs/IoArgoprojWorkflowV1alpha1Synchronization.md
+++ b/sdks/java/client/docs/IoArgoprojWorkflowV1alpha1Synchronization.md
@@ -9,7 +9,9 @@ Synchronization holds synchronization lock configuration
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**mutex** | [**IoArgoprojWorkflowV1alpha1Mutex**](IoArgoprojWorkflowV1alpha1Mutex.md) | | [optional]
+**mutexes** | [**List<IoArgoprojWorkflowV1alpha1Mutex>**](IoArgoprojWorkflowV1alpha1Mutex.md) | v3.6 and after: Mutexes holds the list of Mutex lock details | [optional]
**semaphore** | [**IoArgoprojWorkflowV1alpha1SemaphoreRef**](IoArgoprojWorkflowV1alpha1SemaphoreRef.md) | | [optional]
+**semaphores** | [**List<IoArgoprojWorkflowV1alpha1SemaphoreRef>**](IoArgoprojWorkflowV1alpha1SemaphoreRef.md) | v3.6 and after: Semaphores holds the list of Semaphores configuration | [optional]
diff --git a/sdks/java/client/docs/IoArgoprojWorkflowV1alpha1UserContainer.md b/sdks/java/client/docs/IoArgoprojWorkflowV1alpha1UserContainer.md
index 03b0695a6818..5c9c15b582e5 100644
--- a/sdks/java/client/docs/IoArgoprojWorkflowV1alpha1UserContainer.md
+++ b/sdks/java/client/docs/IoArgoprojWorkflowV1alpha1UserContainer.md
@@ -20,7 +20,9 @@ Name | Type | Description | Notes
**name** | **String** | Name of the container specified as a DNS_LABEL. Each container in a pod must have a unique name (DNS_LABEL). Cannot be updated. |
**ports** | [**List<io.kubernetes.client.openapi.models.V1ContainerPort>**](io.kubernetes.client.openapi.models.V1ContainerPort.md) | List of ports to expose from the container. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default \"0.0.0.0\" address inside a container will be accessible from the network. Modifying this array with strategic merge patch may corrupt the data. For more information See https://github.com/kubernetes/kubernetes/issues/108255. Cannot be updated. | [optional]
**readinessProbe** | [**io.kubernetes.client.openapi.models.V1Probe**](io.kubernetes.client.openapi.models.V1Probe.md) | | [optional]
+**resizePolicy** | [**List<ContainerResizePolicy>**](ContainerResizePolicy.md) | Resources resize policy for the container. | [optional]
**resources** | [**io.kubernetes.client.openapi.models.V1ResourceRequirements**](io.kubernetes.client.openapi.models.V1ResourceRequirements.md) | | [optional]
+**restartPolicy** | **String** | RestartPolicy defines the restart behavior of individual containers in a pod. This field may only be set for init containers, and the only allowed value is \"Always\". For non-init containers or when this field is not specified, the restart behavior is defined by the Pod's restart policy and the container type. Setting the RestartPolicy as \"Always\" for the init container will have the following effect: this init container will be continually restarted on exit until all regular containers have terminated. Once all regular containers have completed, all init containers with restartPolicy \"Always\" will be shut down. This lifecycle differs from normal init containers and is often referred to as a \"sidecar\" container. Although this init container still starts in the init container sequence, it does not wait for the container to complete before proceeding to the next init container. Instead, the next init container starts immediately after this init container is started, or after any startupProbe has successfully completed. | [optional]
**securityContext** | [**io.kubernetes.client.openapi.models.V1SecurityContext**](io.kubernetes.client.openapi.models.V1SecurityContext.md) | | [optional]
**startupProbe** | [**io.kubernetes.client.openapi.models.V1Probe**](io.kubernetes.client.openapi.models.V1Probe.md) | | [optional]
**stdin** | **Boolean** | Whether this container should allocate a buffer for stdin in the container runtime. If this is not set, reads from stdin in the container will always result in EOF. Default is false. | [optional]
diff --git a/sdks/java/client/docs/IoK8sApiPolicyV1PodDisruptionBudgetSpec.md b/sdks/java/client/docs/IoK8sApiPolicyV1PodDisruptionBudgetSpec.md
index db398510aa12..a9594e722dce 100644
--- a/sdks/java/client/docs/IoK8sApiPolicyV1PodDisruptionBudgetSpec.md
+++ b/sdks/java/client/docs/IoK8sApiPolicyV1PodDisruptionBudgetSpec.md
@@ -11,6 +11,7 @@ Name | Type | Description | Notes
**maxUnavailable** | **String** | | [optional]
**minAvailable** | **String** | | [optional]
**selector** | [**LabelSelector**](LabelSelector.md) | | [optional]
+**unhealthyPodEvictionPolicy** | **String** | UnhealthyPodEvictionPolicy defines the criteria for when unhealthy pods should be considered for eviction. Current implementation considers healthy pods, as pods that have status.conditions item with type=\"Ready\",status=\"True\". Valid policies are IfHealthyBudget and AlwaysAllow. If no policy is specified, the default behavior will be used, which corresponds to the IfHealthyBudget policy. IfHealthyBudget policy means that running pods (status.phase=\"Running\"), but not yet healthy can be evicted only if the guarded application is not disrupted (status.currentHealthy is at least equal to status.desiredHealthy). Healthy pods will be subject to the PDB for eviction. AlwaysAllow policy means that all running pods (status.phase=\"Running\"), but not yet healthy are considered disrupted and can be evicted regardless of whether the criteria in a PDB is met. This means perspective running pods of a disrupted application might not get a chance to become healthy. Healthy pods will be subject to the PDB for eviction. Additional policies may be added in the future. Clients making eviction decisions should disallow eviction of unhealthy pods if they encounter an unrecognized policy in this field. This field is beta-level. The eviction API uses this field when the feature gate PDBUnhealthyPodEvictionPolicy is enabled (enabled by default). | [optional]
diff --git a/sdks/java/client/docs/KeyToPath.md b/sdks/java/client/docs/KeyToPath.md
index 6060943745d3..b8c7cb9bd398 100644
--- a/sdks/java/client/docs/KeyToPath.md
+++ b/sdks/java/client/docs/KeyToPath.md
@@ -8,9 +8,9 @@ Maps a string key to a path within a volume.
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**key** | **String** | The key to project. |
-**mode** | **Integer** | Optional: mode bits used to set permissions on this file. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set. | [optional]
-**path** | **String** | The relative path of the file to map the key to. May not be an absolute path. May not contain the path element '..'. May not start with the string '..'. |
+**key** | **String** | key is the key to project. |
+**mode** | **Integer** | mode is Optional: mode bits used to set permissions on this file. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set. | [optional]
+**path** | **String** | path is the relative path of the file to map the key to. May not be an absolute path. May not contain the path element '..'. May not start with the string '..'. |
diff --git a/sdks/java/client/docs/LifecycleHandler.md b/sdks/java/client/docs/LifecycleHandler.md
index aaa81204b999..a7e4e78872ca 100644
--- a/sdks/java/client/docs/LifecycleHandler.md
+++ b/sdks/java/client/docs/LifecycleHandler.md
@@ -10,6 +10,7 @@ Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**exec** | [**ExecAction**](ExecAction.md) | | [optional]
**httpGet** | [**HTTPGetAction**](HTTPGetAction.md) | | [optional]
+**sleep** | [**SleepAction**](SleepAction.md) | | [optional]
**tcpSocket** | [**TCPSocketAction**](TCPSocketAction.md) | | [optional]
diff --git a/sdks/java/client/docs/ModifyVolumeStatus.md b/sdks/java/client/docs/ModifyVolumeStatus.md
new file mode 100644
index 000000000000..cbeb8ab1dc49
--- /dev/null
+++ b/sdks/java/client/docs/ModifyVolumeStatus.md
@@ -0,0 +1,15 @@
+
+
+# ModifyVolumeStatus
+
+ModifyVolumeStatus represents the status object of ControllerModifyVolume operation
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**status** | **String** | status is the status of the ControllerModifyVolume operation. It can be in any of following states: - Pending Pending indicates that the PersistentVolumeClaim cannot be modified due to unmet requirements, such as the specified VolumeAttributesClass not existing. - InProgress InProgress indicates that the volume is being modified. - Infeasible Infeasible indicates that the request has been rejected as invalid by the CSI driver. To resolve the error, a valid VolumeAttributesClass needs to be specified. Note: New statuses can be added in the future. Consumers should check for unknown statuses and fail appropriately. |
+**targetVolumeAttributesClassName** | **String** | targetVolumeAttributesClassName is the name of the VolumeAttributesClass the PVC currently being reconciled | [optional]
+
+
+
diff --git a/sdks/java/client/docs/NFSVolumeSource.md b/sdks/java/client/docs/NFSVolumeSource.md
index b7f59eb2ce23..c0aace721912 100644
--- a/sdks/java/client/docs/NFSVolumeSource.md
+++ b/sdks/java/client/docs/NFSVolumeSource.md
@@ -8,9 +8,9 @@ Represents an NFS mount that lasts the lifetime of a pod. NFS volumes do not sup
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**path** | **String** | Path that is exported by the NFS server. More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs |
-**readOnly** | **Boolean** | ReadOnly here will force the NFS export to be mounted with read-only permissions. Defaults to false. More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs | [optional]
-**server** | **String** | Server is the hostname or IP address of the NFS server. More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs |
+**path** | **String** | path that is exported by the NFS server. More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs |
+**readOnly** | **Boolean** | readOnly here will force the NFS export to be mounted with read-only permissions. Defaults to false. More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs | [optional]
+**server** | **String** | server is the hostname or IP address of the NFS server. More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs |
diff --git a/sdks/java/client/docs/NodeSelectorRequirement.md b/sdks/java/client/docs/NodeSelectorRequirement.md
index e99af5462852..87d5adedbe3f 100644
--- a/sdks/java/client/docs/NodeSelectorRequirement.md
+++ b/sdks/java/client/docs/NodeSelectorRequirement.md
@@ -9,21 +9,8 @@ A node selector requirement is a selector that contains values, a key, and an op
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**key** | **String** | The label key that the selector applies to. |
-**operator** | [**OperatorEnum**](#OperatorEnum) | Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt. Possible enum values: - `\"DoesNotExist\"` - `\"Exists\"` - `\"Gt\"` - `\"In\"` - `\"Lt\"` - `\"NotIn\"` |
+**operator** | **String** | Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt. |
**values** | **List<String>** | An array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. If the operator is Gt or Lt, the values array must have a single element, which will be interpreted as an integer. This array is replaced during a strategic merge patch. | [optional]
-## Enum: OperatorEnum
-
-Name | Value
----- | -----
-DOESNOTEXIST | "DoesNotExist"
-EXISTS | "Exists"
-GT | "Gt"
-IN | "In"
-LT | "Lt"
-NOTIN | "NotIn"
-
-
-
diff --git a/sdks/java/client/docs/OwnerReference.md b/sdks/java/client/docs/OwnerReference.md
index 58fcfa803ba2..a3d146cdaacc 100644
--- a/sdks/java/client/docs/OwnerReference.md
+++ b/sdks/java/client/docs/OwnerReference.md
@@ -9,11 +9,11 @@ OwnerReference contains enough information to let you identify an owning object.
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**apiVersion** | **String** | API version of the referent. |
-**blockOwnerDeletion** | **Boolean** | If true, AND if the owner has the \"foregroundDeletion\" finalizer, then the owner cannot be deleted from the key-value store until this reference is removed. Defaults to false. To set this field, a user needs \"delete\" permission of the owner, otherwise 422 (Unprocessable Entity) will be returned. | [optional]
+**blockOwnerDeletion** | **Boolean** | If true, AND if the owner has the \"foregroundDeletion\" finalizer, then the owner cannot be deleted from the key-value store until this reference is removed. See https://kubernetes.io/docs/concepts/architecture/garbage-collection/#foreground-deletion for how the garbage collector interacts with this field and enforces the foreground deletion. Defaults to false. To set this field, a user needs \"delete\" permission of the owner, otherwise 422 (Unprocessable Entity) will be returned. | [optional]
**controller** | **Boolean** | If true, this reference points to the managing controller. | [optional]
**kind** | **String** | Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds |
-**name** | **String** | Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names |
-**uid** | **String** | UID of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#uids |
+**name** | **String** | Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#names |
+**uid** | **String** | UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#uids |
diff --git a/sdks/java/client/docs/PersistentVolumeClaimCondition.md b/sdks/java/client/docs/PersistentVolumeClaimCondition.md
index 132eefc2335d..636f7abf0171 100644
--- a/sdks/java/client/docs/PersistentVolumeClaimCondition.md
+++ b/sdks/java/client/docs/PersistentVolumeClaimCondition.md
@@ -2,7 +2,7 @@
# PersistentVolumeClaimCondition
-PersistentVolumeClaimCondition contails details about state of pvc
+PersistentVolumeClaimCondition contains details about state of pvc
## Properties
@@ -10,19 +10,10 @@ Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**lastProbeTime** | **java.time.Instant** | | [optional]
**lastTransitionTime** | **java.time.Instant** | | [optional]
-**message** | **String** | Human-readable message indicating details about last transition. | [optional]
-**reason** | **String** | Unique, this should be a short, machine understandable string that gives the reason for condition's last transition. If it reports \"ResizeStarted\" that means the underlying persistent volume is being resized. | [optional]
+**message** | **String** | message is the human-readable message indicating details about last transition. | [optional]
+**reason** | **String** | reason is a unique, this should be a short, machine understandable string that gives the reason for condition's last transition. If it reports \"Resizing\" that means the underlying persistent volume is being resized. | [optional]
**status** | **String** | |
-**type** | [**TypeEnum**](#TypeEnum) | Possible enum values: - `\"FileSystemResizePending\"` - controller resize is finished and a file system resize is pending on node - `\"Resizing\"` - a user trigger resize of pvc has been started |
-
-
-
-## Enum: TypeEnum
-
-Name | Value
----- | -----
-FILESYSTEMRESIZEPENDING | "FileSystemResizePending"
-RESIZING | "Resizing"
+**type** | **String** | |
diff --git a/sdks/java/client/docs/PersistentVolumeClaimSpec.md b/sdks/java/client/docs/PersistentVolumeClaimSpec.md
index 2e6f88ea5acc..5832b622d773 100644
--- a/sdks/java/client/docs/PersistentVolumeClaimSpec.md
+++ b/sdks/java/client/docs/PersistentVolumeClaimSpec.md
@@ -8,14 +8,15 @@ PersistentVolumeClaimSpec describes the common attributes of storage devices and
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**accessModes** | **List<String>** | AccessModes contains the desired access modes the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1 | [optional]
+**accessModes** | **List<String>** | accessModes contains the desired access modes the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1 | [optional]
**dataSource** | [**TypedLocalObjectReference**](TypedLocalObjectReference.md) | | [optional]
-**dataSourceRef** | [**TypedLocalObjectReference**](TypedLocalObjectReference.md) | | [optional]
-**resources** | [**io.kubernetes.client.openapi.models.V1ResourceRequirements**](io.kubernetes.client.openapi.models.V1ResourceRequirements.md) | | [optional]
+**dataSourceRef** | [**TypedObjectReference**](TypedObjectReference.md) | | [optional]
+**resources** | [**VolumeResourceRequirements**](VolumeResourceRequirements.md) | | [optional]
**selector** | [**LabelSelector**](LabelSelector.md) | | [optional]
-**storageClassName** | **String** | Name of the StorageClass required by the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1 | [optional]
+**storageClassName** | **String** | storageClassName is the name of the StorageClass required by the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1 | [optional]
+**volumeAttributesClassName** | **String** | volumeAttributesClassName may be used to set the VolumeAttributesClass used by this claim. If specified, the CSI driver will create or update the volume with the attributes defined in the corresponding VolumeAttributesClass. This has a different purpose than storageClassName, it can be changed after the claim is created. An empty string value means that no VolumeAttributesClass will be applied to the claim but it's not allowed to reset this field to empty string once it is set. If unspecified and the PersistentVolumeClaim is unbound, the default VolumeAttributesClass will be set by the persistentvolume controller if it exists. If the resource referred to by volumeAttributesClass does not exist, this PersistentVolumeClaim will be set to a Pending state, as reflected by the modifyVolumeStatus field, until such as a resource exists. More info: https://kubernetes.io/docs/concepts/storage/volume-attributes-classes/ (Alpha) Using this field requires the VolumeAttributesClass feature gate to be enabled. | [optional]
**volumeMode** | **String** | volumeMode defines what type of volume is required by the claim. Value of Filesystem is implied when not included in claim spec. | [optional]
-**volumeName** | **String** | VolumeName is the binding reference to the PersistentVolume backing this claim. | [optional]
+**volumeName** | **String** | volumeName is the binding reference to the PersistentVolume backing this claim. | [optional]
diff --git a/sdks/java/client/docs/PersistentVolumeClaimStatus.md b/sdks/java/client/docs/PersistentVolumeClaimStatus.md
index 14ac6f808d69..a53e1a085396 100644
--- a/sdks/java/client/docs/PersistentVolumeClaimStatus.md
+++ b/sdks/java/client/docs/PersistentVolumeClaimStatus.md
@@ -8,22 +8,14 @@ PersistentVolumeClaimStatus is the current status of a persistent volume claim.
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**accessModes** | **List<String>** | AccessModes contains the actual access modes the volume backing the PVC has. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1 | [optional]
-**allocatedResources** | **Map<String, String>** | The storage resource within AllocatedResources tracks the capacity allocated to a PVC. It may be larger than the actual capacity when a volume expansion operation is requested. For storage quota, the larger value from allocatedResources and PVC.spec.resources is used. If allocatedResources is not set, PVC.spec.resources alone is used for quota calculation. If a volume expansion capacity request is lowered, allocatedResources is only lowered if there are no expansion operations in progress and if the actual volume capacity is equal or lower than the requested capacity. This is an alpha field and requires enabling RecoverVolumeExpansionFailure feature. | [optional]
-**capacity** | **Map<String, String>** | Represents the actual resources of the underlying volume. | [optional]
-**conditions** | [**List<PersistentVolumeClaimCondition>**](PersistentVolumeClaimCondition.md) | Current Condition of persistent volume claim. If underlying persistent volume is being resized then the Condition will be set to 'ResizeStarted'. | [optional]
-**phase** | [**PhaseEnum**](#PhaseEnum) | Phase represents the current phase of PersistentVolumeClaim. Possible enum values: - `\"Bound\"` used for PersistentVolumeClaims that are bound - `\"Lost\"` used for PersistentVolumeClaims that lost their underlying PersistentVolume. The claim was bound to a PersistentVolume and this volume does not exist any longer and all data on it was lost. - `\"Pending\"` used for PersistentVolumeClaims that are not yet bound | [optional]
-**resizeStatus** | **String** | ResizeStatus stores status of resize operation. ResizeStatus is not set by default but when expansion is complete resizeStatus is set to empty string by resize controller or kubelet. This is an alpha field and requires enabling RecoverVolumeExpansionFailure feature. | [optional]
-
-
-
-## Enum: PhaseEnum
-
-Name | Value
----- | -----
-BOUND | "Bound"
-LOST | "Lost"
-PENDING | "Pending"
+**accessModes** | **List<String>** | accessModes contains the actual access modes the volume backing the PVC has. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1 | [optional]
+**allocatedResourceStatuses** | **Map<String, String>** | allocatedResourceStatuses stores status of resource being resized for the given PVC. Key names follow standard Kubernetes label syntax. Valid values are either: * Un-prefixed keys: - storage - the capacity of the volume. * Custom resources must use implementation-defined prefixed names such as \"example.com/my-custom-resource\" Apart from above values - keys that are unprefixed or have kubernetes.io prefix are considered reserved and hence may not be used. ClaimResourceStatus can be in any of following states: - ControllerResizeInProgress: State set when resize controller starts resizing the volume in control-plane. - ControllerResizeFailed: State set when resize has failed in resize controller with a terminal error. - NodeResizePending: State set when resize controller has finished resizing the volume but further resizing of volume is needed on the node. - NodeResizeInProgress: State set when kubelet starts resizing the volume. - NodeResizeFailed: State set when resizing has failed in kubelet with a terminal error. Transient errors don't set NodeResizeFailed. For example: if expanding a PVC for more capacity - this field can be one of the following states: - pvc.status.allocatedResourceStatus['storage'] = \"ControllerResizeInProgress\" - pvc.status.allocatedResourceStatus['storage'] = \"ControllerResizeFailed\" - pvc.status.allocatedResourceStatus['storage'] = \"NodeResizePending\" - pvc.status.allocatedResourceStatus['storage'] = \"NodeResizeInProgress\" - pvc.status.allocatedResourceStatus['storage'] = \"NodeResizeFailed\" When this field is not set, it means that no resize operation is in progress for the given PVC. A controller that receives PVC update with previously unknown resourceName or ClaimResourceStatus should ignore the update for the purpose it was designed. For example - a controller that only is responsible for resizing capacity of the volume, should ignore PVC updates that change other valid resources associated with PVC. This is an alpha field and requires enabling RecoverVolumeExpansionFailure feature. | [optional]
+**allocatedResources** | **Map<String, String>** | allocatedResources tracks the resources allocated to a PVC including its capacity. Key names follow standard Kubernetes label syntax. Valid values are either: * Un-prefixed keys: - storage - the capacity of the volume. * Custom resources must use implementation-defined prefixed names such as \"example.com/my-custom-resource\" Apart from above values - keys that are unprefixed or have kubernetes.io prefix are considered reserved and hence may not be used. Capacity reported here may be larger than the actual capacity when a volume expansion operation is requested. For storage quota, the larger value from allocatedResources and PVC.spec.resources is used. If allocatedResources is not set, PVC.spec.resources alone is used for quota calculation. If a volume expansion capacity request is lowered, allocatedResources is only lowered if there are no expansion operations in progress and if the actual volume capacity is equal or lower than the requested capacity. A controller that receives PVC update with previously unknown resourceName should ignore the update for the purpose it was designed. For example - a controller that only is responsible for resizing capacity of the volume, should ignore PVC updates that change other valid resources associated with PVC. This is an alpha field and requires enabling RecoverVolumeExpansionFailure feature. | [optional]
+**capacity** | **Map<String, String>** | capacity represents the actual resources of the underlying volume. | [optional]
+**conditions** | [**List<PersistentVolumeClaimCondition>**](PersistentVolumeClaimCondition.md) | conditions is the current Condition of persistent volume claim. If underlying persistent volume is being resized then the Condition will be set to 'Resizing'. | [optional]
+**currentVolumeAttributesClassName** | **String** | currentVolumeAttributesClassName is the current name of the VolumeAttributesClass the PVC is using. When unset, there is no VolumeAttributeClass applied to this PersistentVolumeClaim This is an alpha field and requires enabling VolumeAttributesClass feature. | [optional]
+**modifyVolumeStatus** | [**ModifyVolumeStatus**](ModifyVolumeStatus.md) | | [optional]
+**phase** | **String** | phase represents the current phase of PersistentVolumeClaim. | [optional]
diff --git a/sdks/java/client/docs/PersistentVolumeClaimVolumeSource.md b/sdks/java/client/docs/PersistentVolumeClaimVolumeSource.md
index 35234c4856d8..2988529ab734 100644
--- a/sdks/java/client/docs/PersistentVolumeClaimVolumeSource.md
+++ b/sdks/java/client/docs/PersistentVolumeClaimVolumeSource.md
@@ -8,8 +8,8 @@ PersistentVolumeClaimVolumeSource references the user's PVC in the same namespac
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**claimName** | **String** | ClaimName is the name of a PersistentVolumeClaim in the same namespace as the pod using this volume. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims |
-**readOnly** | **Boolean** | Will force the ReadOnly setting in VolumeMounts. Default false. | [optional]
+**claimName** | **String** | claimName is the name of a PersistentVolumeClaim in the same namespace as the pod using this volume. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims |
+**readOnly** | **Boolean** | readOnly Will force the ReadOnly setting in VolumeMounts. Default false. | [optional]
diff --git a/sdks/java/client/docs/PhotonPersistentDiskVolumeSource.md b/sdks/java/client/docs/PhotonPersistentDiskVolumeSource.md
index bf5b014e1c85..a46db4df446a 100644
--- a/sdks/java/client/docs/PhotonPersistentDiskVolumeSource.md
+++ b/sdks/java/client/docs/PhotonPersistentDiskVolumeSource.md
@@ -8,8 +8,8 @@ Represents a Photon Controller persistent disk resource.
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**fsType** | **String** | Filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified. | [optional]
-**pdID** | **String** | ID that identifies Photon Controller persistent disk |
+**fsType** | **String** | fsType is the filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified. | [optional]
+**pdID** | **String** | pdID is the ID that identifies Photon Controller persistent disk |
diff --git a/sdks/java/client/docs/PodAffinityTerm.md b/sdks/java/client/docs/PodAffinityTerm.md
index 72b6a8decc74..bf9d7fd256d2 100644
--- a/sdks/java/client/docs/PodAffinityTerm.md
+++ b/sdks/java/client/docs/PodAffinityTerm.md
@@ -9,8 +9,10 @@ Defines a set of pods (namely those matching the labelSelector relative to the g
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**labelSelector** | [**LabelSelector**](LabelSelector.md) | | [optional]
+**matchLabelKeys** | **List<String>** | MatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)` to select the group of existing pods which pods will be taken into consideration for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both matchLabelKeys and labelSelector. Also, matchLabelKeys cannot be set when labelSelector isn't set. This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate. | [optional]
+**mismatchLabelKeys** | **List<String>** | MismatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)` to select the group of existing pods which pods will be taken into consideration for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both mismatchLabelKeys and labelSelector. Also, mismatchLabelKeys cannot be set when labelSelector isn't set. This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate. | [optional]
**namespaceSelector** | [**LabelSelector**](LabelSelector.md) | | [optional]
-**namespaces** | **List<String>** | namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means \"this pod's namespace\" | [optional]
+**namespaces** | **List<String>** | namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means \"this pod's namespace\". | [optional]
**topologyKey** | **String** | This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces, where co-located is defined as running on a node whose value of the label with key topologyKey matches that of any node on which any of the selected pods is running. Empty topologyKey is not allowed. |
diff --git a/sdks/java/client/docs/PortworxVolumeSource.md b/sdks/java/client/docs/PortworxVolumeSource.md
index eed8c93db372..816af97a00f8 100644
--- a/sdks/java/client/docs/PortworxVolumeSource.md
+++ b/sdks/java/client/docs/PortworxVolumeSource.md
@@ -8,9 +8,9 @@ PortworxVolumeSource represents a Portworx volume resource.
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**fsType** | **String** | FSType represents the filesystem type to mount Must be a filesystem type supported by the host operating system. Ex. \"ext4\", \"xfs\". Implicitly inferred to be \"ext4\" if unspecified. | [optional]
-**readOnly** | **Boolean** | Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts. | [optional]
-**volumeID** | **String** | VolumeID uniquely identifies a Portworx volume |
+**fsType** | **String** | fSType represents the filesystem type to mount Must be a filesystem type supported by the host operating system. Ex. \"ext4\", \"xfs\". Implicitly inferred to be \"ext4\" if unspecified. | [optional]
+**readOnly** | **Boolean** | readOnly defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts. | [optional]
+**volumeID** | **String** | volumeID uniquely identifies a Portworx volume |
diff --git a/sdks/java/client/docs/ProjectedVolumeSource.md b/sdks/java/client/docs/ProjectedVolumeSource.md
index 55dae3dc239d..842bac85a0ea 100644
--- a/sdks/java/client/docs/ProjectedVolumeSource.md
+++ b/sdks/java/client/docs/ProjectedVolumeSource.md
@@ -8,8 +8,8 @@ Represents a projected volume source
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**defaultMode** | **Integer** | Mode bits used to set permissions on created files by default. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set. | [optional]
-**sources** | [**List<VolumeProjection>**](VolumeProjection.md) | list of volume projections | [optional]
+**defaultMode** | **Integer** | defaultMode are the mode bits used to set permissions on created files by default. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set. | [optional]
+**sources** | [**List<VolumeProjection>**](VolumeProjection.md) | sources is the list of volume projections | [optional]
diff --git a/sdks/java/client/docs/QuobyteVolumeSource.md b/sdks/java/client/docs/QuobyteVolumeSource.md
index 20bbe37c4104..58ec00066e72 100644
--- a/sdks/java/client/docs/QuobyteVolumeSource.md
+++ b/sdks/java/client/docs/QuobyteVolumeSource.md
@@ -8,12 +8,12 @@ Represents a Quobyte mount that lasts the lifetime of a pod. Quobyte volumes do
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**group** | **String** | Group to map volume access to Default is no group | [optional]
-**readOnly** | **Boolean** | ReadOnly here will force the Quobyte volume to be mounted with read-only permissions. Defaults to false. | [optional]
-**registry** | **String** | Registry represents a single or multiple Quobyte Registry services specified as a string as host:port pair (multiple entries are separated with commas) which acts as the central registry for volumes |
-**tenant** | **String** | Tenant owning the given Quobyte volume in the Backend Used with dynamically provisioned Quobyte volumes, value is set by the plugin | [optional]
-**user** | **String** | User to map volume access to Defaults to serivceaccount user | [optional]
-**volume** | **String** | Volume is a string that references an already created Quobyte volume by name. |
+**group** | **String** | group to map volume access to Default is no group | [optional]
+**readOnly** | **Boolean** | readOnly here will force the Quobyte volume to be mounted with read-only permissions. Defaults to false. | [optional]
+**registry** | **String** | registry represents a single or multiple Quobyte Registry services specified as a string as host:port pair (multiple entries are separated with commas) which acts as the central registry for volumes |
+**tenant** | **String** | tenant owning the given Quobyte volume in the Backend Used with dynamically provisioned Quobyte volumes, value is set by the plugin | [optional]
+**user** | **String** | user to map volume access to Defaults to serivceaccount user | [optional]
+**volume** | **String** | volume is a string that references an already created Quobyte volume by name. |
diff --git a/sdks/java/client/docs/RBDVolumeSource.md b/sdks/java/client/docs/RBDVolumeSource.md
index 0690aef84cdf..5e34fc4bd237 100644
--- a/sdks/java/client/docs/RBDVolumeSource.md
+++ b/sdks/java/client/docs/RBDVolumeSource.md
@@ -8,14 +8,14 @@ Represents a Rados Block Device mount that lasts the lifetime of a pod. RBD volu
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**fsType** | **String** | Filesystem type of the volume that you want to mount. Tip: Ensure that the filesystem type is supported by the host operating system. Examples: \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified. More info: https://kubernetes.io/docs/concepts/storage/volumes#rbd | [optional]
-**image** | **String** | The rados image name. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it |
-**keyring** | **String** | Keyring is the path to key ring for RBDUser. Default is /etc/ceph/keyring. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it | [optional]
-**monitors** | **List<String>** | A collection of Ceph monitors. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it |
-**pool** | **String** | The rados pool name. Default is rbd. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it | [optional]
-**readOnly** | **Boolean** | ReadOnly here will force the ReadOnly setting in VolumeMounts. Defaults to false. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it | [optional]
+**fsType** | **String** | fsType is the filesystem type of the volume that you want to mount. Tip: Ensure that the filesystem type is supported by the host operating system. Examples: \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified. More info: https://kubernetes.io/docs/concepts/storage/volumes#rbd | [optional]
+**image** | **String** | image is the rados image name. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it |
+**keyring** | **String** | keyring is the path to key ring for RBDUser. Default is /etc/ceph/keyring. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it | [optional]
+**monitors** | **List<String>** | monitors is a collection of Ceph monitors. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it |
+**pool** | **String** | pool is the rados pool name. Default is rbd. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it | [optional]
+**readOnly** | **Boolean** | readOnly here will force the ReadOnly setting in VolumeMounts. Defaults to false. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it | [optional]
**secretRef** | [**io.kubernetes.client.openapi.models.V1LocalObjectReference**](io.kubernetes.client.openapi.models.V1LocalObjectReference.md) | | [optional]
-**user** | **String** | The rados user name. Default is admin. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it | [optional]
+**user** | **String** | user is the rados user name. Default is admin. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it | [optional]
diff --git a/sdks/java/client/docs/ResourceClaim.md b/sdks/java/client/docs/ResourceClaim.md
new file mode 100644
index 000000000000..60050a483e2b
--- /dev/null
+++ b/sdks/java/client/docs/ResourceClaim.md
@@ -0,0 +1,14 @@
+
+
+# ResourceClaim
+
+ResourceClaim references one entry in PodSpec.ResourceClaims.
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**name** | **String** | Name must match the name of one entry in pod.spec.resourceClaims of the Pod where this field is used. It makes that resource available inside a container. |
+
+
+
diff --git a/sdks/java/client/docs/ResourceFieldSelector.md b/sdks/java/client/docs/ResourceFieldSelector.md
index 675c47438f91..0ef949951421 100644
--- a/sdks/java/client/docs/ResourceFieldSelector.md
+++ b/sdks/java/client/docs/ResourceFieldSelector.md
@@ -9,7 +9,7 @@ ResourceFieldSelector represents container resources (cpu, memory) and their out
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**containerName** | **String** | Container name: required for volumes, optional for env vars | [optional]
-**divisor** | **String** | Quantity is a fixed-point representation of a number. It provides convenient marshaling/unmarshaling in JSON and YAML, in addition to String() and AsInt64() accessors. The serialization format is: <quantity> ::= <signedNumber><suffix> (Note that <suffix> may be empty, from the \"\" case in <decimalSI>.) <digit> ::= 0 | 1 | ... | 9 <digits> ::= <digit> | <digit><digits> <number> ::= <digits> | <digits>.<digits> | <digits>. | .<digits> <sign> ::= \"+\" | \"-\" <signedNumber> ::= <number> | <sign><number> <suffix> ::= <binarySI> | <decimalExponent> | <decimalSI> <binarySI> ::= Ki | Mi | Gi | Ti | Pi | Ei (International System of units; See: http://physics.nist.gov/cuu/Units/binary.html) <decimalSI> ::= m | \"\" | k | M | G | T | P | E (Note that 1024 = 1Ki but 1000 = 1k; I didn't choose the capitalization.) <decimalExponent> ::= \"e\" <signedNumber> | \"E\" <signedNumber> No matter which of the three exponent forms is used, no quantity may represent a number greater than 2^63-1 in magnitude, nor may it have more than 3 decimal places. Numbers larger or more precise will be capped or rounded up. (E.g.: 0.1m will rounded up to 1m.) This may be extended in the future if we require larger or smaller quantities. When a Quantity is parsed from a string, it will remember the type of suffix it had, and will use the same type again when it is serialized. Before serializing, Quantity will be put in \"canonical form\". This means that Exponent/suffix will be adjusted up or down (with a corresponding increase or decrease in Mantissa) such that: a. No precision is lost b. No fractional digits will be emitted c. The exponent (or suffix) is as large as possible. The sign will be omitted unless the number is negative. Examples: 1.5 will be serialized as \"1500m\" 1.5Gi will be serialized as \"1536Mi\" Note that the quantity will NEVER be internally represented by a floating point number. That is the whole point of this exercise. Non-canonical values will still parse as long as they are well formed, but will be re-emitted in their canonical form. (So always use canonical form, or don't diff.) This format is intended to make it difficult to use these numbers without writing some sort of special handling code in the hopes that that will cause implementors to also use a fixed point implementation. | [optional]
+**divisor** | **String** | Quantity is a fixed-point representation of a number. It provides convenient marshaling/unmarshaling in JSON and YAML, in addition to String() and AsInt64() accessors. The serialization format is: ``` <quantity> ::= <signedNumber><suffix> (Note that <suffix> may be empty, from the \"\" case in <decimalSI>.) <digit> ::= 0 | 1 | ... | 9 <digits> ::= <digit> | <digit><digits> <number> ::= <digits> | <digits>.<digits> | <digits>. | .<digits> <sign> ::= \"+\" | \"-\" <signedNumber> ::= <number> | <sign><number> <suffix> ::= <binarySI> | <decimalExponent> | <decimalSI> <binarySI> ::= Ki | Mi | Gi | Ti | Pi | Ei (International System of units; See: http://physics.nist.gov/cuu/Units/binary.html) <decimalSI> ::= m | \"\" | k | M | G | T | P | E (Note that 1024 = 1Ki but 1000 = 1k; I didn't choose the capitalization.) <decimalExponent> ::= \"e\" <signedNumber> | \"E\" <signedNumber> ``` No matter which of the three exponent forms is used, no quantity may represent a number greater than 2^63-1 in magnitude, nor may it have more than 3 decimal places. Numbers larger or more precise will be capped or rounded up. (E.g.: 0.1m will rounded up to 1m.) This may be extended in the future if we require larger or smaller quantities. When a Quantity is parsed from a string, it will remember the type of suffix it had, and will use the same type again when it is serialized. Before serializing, Quantity will be put in \"canonical form\". This means that Exponent/suffix will be adjusted up or down (with a corresponding increase or decrease in Mantissa) such that: - No precision is lost - No fractional digits will be emitted - The exponent (or suffix) is as large as possible. The sign will be omitted unless the number is negative. Examples: - 1.5 will be serialized as \"1500m\" - 1.5Gi will be serialized as \"1536Mi\" Note that the quantity will NEVER be internally represented by a floating point number. That is the whole point of this exercise. Non-canonical values will still parse as long as they are well formed, but will be re-emitted in their canonical form. (So always use canonical form, or don't diff.) This format is intended to make it difficult to use these numbers without writing some sort of special handling code in the hopes that that will cause implementors to also use a fixed point implementation. | [optional]
**resource** | **String** | Required: resource to select |
diff --git a/sdks/java/client/docs/ScaleIOVolumeSource.md b/sdks/java/client/docs/ScaleIOVolumeSource.md
index 708d9a9ed83d..772a5fd4bb9b 100644
--- a/sdks/java/client/docs/ScaleIOVolumeSource.md
+++ b/sdks/java/client/docs/ScaleIOVolumeSource.md
@@ -8,16 +8,16 @@ ScaleIOVolumeSource represents a persistent ScaleIO volume
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**fsType** | **String** | Filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. \"ext4\", \"xfs\", \"ntfs\". Default is \"xfs\". | [optional]
-**gateway** | **String** | The host address of the ScaleIO API Gateway. |
-**protectionDomain** | **String** | The name of the ScaleIO Protection Domain for the configured storage. | [optional]
-**readOnly** | **Boolean** | Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts. | [optional]
+**fsType** | **String** | fsType is the filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. \"ext4\", \"xfs\", \"ntfs\". Default is \"xfs\". | [optional]
+**gateway** | **String** | gateway is the host address of the ScaleIO API Gateway. |
+**protectionDomain** | **String** | protectionDomain is the name of the ScaleIO Protection Domain for the configured storage. | [optional]
+**readOnly** | **Boolean** | readOnly Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts. | [optional]
**secretRef** | [**io.kubernetes.client.openapi.models.V1LocalObjectReference**](io.kubernetes.client.openapi.models.V1LocalObjectReference.md) | |
-**sslEnabled** | **Boolean** | Flag to enable/disable SSL communication with Gateway, default false | [optional]
-**storageMode** | **String** | Indicates whether the storage for a volume should be ThickProvisioned or ThinProvisioned. Default is ThinProvisioned. | [optional]
-**storagePool** | **String** | The ScaleIO Storage Pool associated with the protection domain. | [optional]
-**system** | **String** | The name of the storage system as configured in ScaleIO. |
-**volumeName** | **String** | The name of a volume already created in the ScaleIO system that is associated with this volume source. | [optional]
+**sslEnabled** | **Boolean** | sslEnabled Flag enable/disable SSL communication with Gateway, default false | [optional]
+**storageMode** | **String** | storageMode indicates whether the storage for a volume should be ThickProvisioned or ThinProvisioned. Default is ThinProvisioned. | [optional]
+**storagePool** | **String** | storagePool is the ScaleIO Storage Pool associated with the protection domain. | [optional]
+**system** | **String** | system is the name of the storage system as configured in ScaleIO. |
+**volumeName** | **String** | volumeName is the name of a volume already created in the ScaleIO system that is associated with this volume source. | [optional]
diff --git a/sdks/java/client/docs/SeccompProfile.md b/sdks/java/client/docs/SeccompProfile.md
index 6683967edb2a..6bf73426b6bb 100644
--- a/sdks/java/client/docs/SeccompProfile.md
+++ b/sdks/java/client/docs/SeccompProfile.md
@@ -8,18 +8,8 @@ SeccompProfile defines a pod/container's seccomp profile settings. Only one prof
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**localhostProfile** | **String** | localhostProfile indicates a profile defined in a file on the node should be used. The profile must be preconfigured on the node to work. Must be a descending path, relative to the kubelet's configured seccomp profile location. Must only be set if type is \"Localhost\". | [optional]
-**type** | [**TypeEnum**](#TypeEnum) | type indicates which kind of seccomp profile will be applied. Valid options are: Localhost - a profile defined in a file on the node should be used. RuntimeDefault - the container runtime default profile should be used. Unconfined - no profile should be applied. Possible enum values: - `\"Localhost\"` indicates a profile defined in a file on the node should be used. The file's location relative to <kubelet-root-dir>/seccomp. - `\"RuntimeDefault\"` represents the default container runtime seccomp profile. - `\"Unconfined\"` indicates no seccomp profile is applied (A.K.A. unconfined). |
-
-
-
-## Enum: TypeEnum
-
-Name | Value
----- | -----
-LOCALHOST | "Localhost"
-RUNTIMEDEFAULT | "RuntimeDefault"
-UNCONFINED | "Unconfined"
+**localhostProfile** | **String** | localhostProfile indicates a profile defined in a file on the node should be used. The profile must be preconfigured on the node to work. Must be a descending path, relative to the kubelet's configured seccomp profile location. Must be set if type is \"Localhost\". Must NOT be set for any other type. | [optional]
+**type** | **String** | type indicates which kind of seccomp profile will be applied. Valid options are: Localhost - a profile defined in a file on the node should be used. RuntimeDefault - the container runtime default profile should be used. Unconfined - no profile should be applied. |
diff --git a/sdks/java/client/docs/SecretEnvSource.md b/sdks/java/client/docs/SecretEnvSource.md
index 2b5b463b0d06..51fb8db573b0 100644
--- a/sdks/java/client/docs/SecretEnvSource.md
+++ b/sdks/java/client/docs/SecretEnvSource.md
@@ -8,7 +8,7 @@ SecretEnvSource selects a Secret to populate the environment variables with. Th
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**name** | **String** | Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names | [optional]
+**name** | **String** | Name of the referent. This field is effectively required, but due to backwards compatibility is allowed to be empty. Instances of this type with an empty value here are almost certainly wrong. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names | [optional]
**optional** | **Boolean** | Specify whether the Secret must be defined | [optional]
diff --git a/sdks/java/client/docs/SecretProjection.md b/sdks/java/client/docs/SecretProjection.md
index f520d6ee9ae2..fe63caff74f0 100644
--- a/sdks/java/client/docs/SecretProjection.md
+++ b/sdks/java/client/docs/SecretProjection.md
@@ -8,9 +8,9 @@ Adapts a secret into a projected volume. The contents of the target Secret's Da
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**items** | [**List<KeyToPath>**](KeyToPath.md) | If unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'. | [optional]
-**name** | **String** | Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names | [optional]
-**optional** | **Boolean** | Specify whether the Secret or its key must be defined | [optional]
+**items** | [**List<KeyToPath>**](KeyToPath.md) | items if unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'. | [optional]
+**name** | **String** | Name of the referent. This field is effectively required, but due to backwards compatibility is allowed to be empty. Instances of this type with an empty value here are almost certainly wrong. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names | [optional]
+**optional** | **Boolean** | optional field specify whether the Secret or its key must be defined | [optional]
diff --git a/sdks/java/client/docs/SecretVolumeSource.md b/sdks/java/client/docs/SecretVolumeSource.md
index 42d2b994aa63..577dc47890cd 100644
--- a/sdks/java/client/docs/SecretVolumeSource.md
+++ b/sdks/java/client/docs/SecretVolumeSource.md
@@ -8,10 +8,10 @@ Adapts a Secret into a volume. The contents of the target Secret's Data field w
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**defaultMode** | **Integer** | Optional: mode bits used to set permissions on created files by default. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set. | [optional]
-**items** | [**List<KeyToPath>**](KeyToPath.md) | If unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'. | [optional]
-**optional** | **Boolean** | Specify whether the Secret or its keys must be defined | [optional]
-**secretName** | **String** | Name of the secret in the pod's namespace to use. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret | [optional]
+**defaultMode** | **Integer** | defaultMode is Optional: mode bits used to set permissions on created files by default. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set. | [optional]
+**items** | [**List<KeyToPath>**](KeyToPath.md) | items If unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'. | [optional]
+**optional** | **Boolean** | optional field specify whether the Secret or its keys must be defined | [optional]
+**secretName** | **String** | secretName is the name of the secret in the pod's namespace to use. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret | [optional]
diff --git a/sdks/java/client/docs/SensorServiceApi.md b/sdks/java/client/docs/SensorServiceApi.md
index 6f39d645fee4..71dc45b67d5c 100644
--- a/sdks/java/client/docs/SensorServiceApi.md
+++ b/sdks/java/client/docs/SensorServiceApi.md
@@ -118,7 +118,7 @@ public class Example {
String deleteOptionsPreconditionsResourceVersion = "deleteOptionsPreconditionsResourceVersion_example"; // String | Specifies the target ResourceVersion +optional.
Boolean deleteOptionsOrphanDependents = true; // Boolean | Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both. +optional.
String deleteOptionsPropagationPolicy = "deleteOptionsPropagationPolicy_example"; // String | Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy. Acceptable values are: 'Orphan' - orphan the dependents; 'Background' - allow the garbage collector to delete the dependents in the background; 'Foreground' - a cascading policy that deletes all dependents in the foreground. +optional.
- List deleteOptionsDryRun = Arrays.asList(); // List | When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed +optional.
+ List deleteOptionsDryRun = Arrays.asList(); // List | When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed +optional +listType=atomic.
try {
Object result = apiInstance.sensorServiceDeleteSensor(namespace, name, deleteOptionsGracePeriodSeconds, deleteOptionsPreconditionsUid, deleteOptionsPreconditionsResourceVersion, deleteOptionsOrphanDependents, deleteOptionsPropagationPolicy, deleteOptionsDryRun);
System.out.println(result);
@@ -144,7 +144,7 @@ Name | Type | Description | Notes
**deleteOptionsPreconditionsResourceVersion** | **String**| Specifies the target ResourceVersion +optional. | [optional]
**deleteOptionsOrphanDependents** | **Boolean**| Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both. +optional. | [optional]
**deleteOptionsPropagationPolicy** | **String**| Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy. Acceptable values are: 'Orphan' - orphan the dependents; 'Background' - allow the garbage collector to delete the dependents in the background; 'Foreground' - a cascading policy that deletes all dependents in the foreground. +optional. | [optional]
- **deleteOptionsDryRun** | [**List<String>**](String.md)| When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed +optional. | [optional]
+ **deleteOptionsDryRun** | [**List<String>**](String.md)| When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed +optional +listType=atomic. | [optional]
### Return type
@@ -239,7 +239,7 @@ Name | Type | Description | Notes
# **sensorServiceListSensors**
-> IoArgoprojEventsV1alpha1SensorList sensorServiceListSensors(namespace, listOptionsLabelSelector, listOptionsFieldSelector, listOptionsWatch, listOptionsAllowWatchBookmarks, listOptionsResourceVersion, listOptionsResourceVersionMatch, listOptionsTimeoutSeconds, listOptionsLimit, listOptionsContinue)
+> IoArgoprojEventsV1alpha1SensorList sensorServiceListSensors(namespace, listOptionsLabelSelector, listOptionsFieldSelector, listOptionsWatch, listOptionsAllowWatchBookmarks, listOptionsResourceVersion, listOptionsResourceVersionMatch, listOptionsTimeoutSeconds, listOptionsLimit, listOptionsContinue, listOptionsSendInitialEvents)
@@ -275,8 +275,9 @@ public class Example {
String listOptionsTimeoutSeconds = "listOptionsTimeoutSeconds_example"; // String | Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity. +optional.
String listOptionsLimit = "listOptionsLimit_example"; // String | limit is a maximum number of responses to return for a list call. If more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
String listOptionsContinue = "listOptionsContinue_example"; // String | The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \"next key\". This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
+ Boolean listOptionsSendInitialEvents = true; // Boolean | `sendInitialEvents=true` may be set together with `watch=true`. In that case, the watch stream will begin with synthetic events to produce the current state of objects in the collection. Once all such events have been sent, a synthetic \"Bookmark\" event will be sent. The bookmark will report the ResourceVersion (RV) corresponding to the set of objects, and be marked with `\"io.k8s.initial-events-end\": \"true\"` annotation. Afterwards, the watch stream will proceed as usual, sending watch events corresponding to changes (subsequent to the RV) to objects watched. When `sendInitialEvents` option is set, we require `resourceVersionMatch` option to also be set. The semantic of the watch request is as following: - `resourceVersionMatch` = NotOlderThan is interpreted as \"data at least as new as the provided `resourceVersion`\" and the bookmark event is send when the state is synced to a `resourceVersion` at least as fresh as the one provided by the ListOptions. If `resourceVersion` is unset, this is interpreted as \"consistent read\" and the bookmark event is send when the state is synced at least to the moment when request started being processed. - `resourceVersionMatch` set to any other value or unset Invalid error is returned. Defaults to true if `resourceVersion=\"\"` or `resourceVersion=\"0\"` (for backward compatibility reasons) and to false otherwise. +optional
try {
- IoArgoprojEventsV1alpha1SensorList result = apiInstance.sensorServiceListSensors(namespace, listOptionsLabelSelector, listOptionsFieldSelector, listOptionsWatch, listOptionsAllowWatchBookmarks, listOptionsResourceVersion, listOptionsResourceVersionMatch, listOptionsTimeoutSeconds, listOptionsLimit, listOptionsContinue);
+ IoArgoprojEventsV1alpha1SensorList result = apiInstance.sensorServiceListSensors(namespace, listOptionsLabelSelector, listOptionsFieldSelector, listOptionsWatch, listOptionsAllowWatchBookmarks, listOptionsResourceVersion, listOptionsResourceVersionMatch, listOptionsTimeoutSeconds, listOptionsLimit, listOptionsContinue, listOptionsSendInitialEvents);
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling SensorServiceApi#sensorServiceListSensors");
@@ -303,6 +304,7 @@ Name | Type | Description | Notes
**listOptionsTimeoutSeconds** | **String**| Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity. +optional. | [optional]
**listOptionsLimit** | **String**| limit is a maximum number of responses to return for a list call. If more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned. | [optional]
**listOptionsContinue** | **String**| The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \"next key\". This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications. | [optional]
+ **listOptionsSendInitialEvents** | **Boolean**| `sendInitialEvents=true` may be set together with `watch=true`. In that case, the watch stream will begin with synthetic events to produce the current state of objects in the collection. Once all such events have been sent, a synthetic \"Bookmark\" event will be sent. The bookmark will report the ResourceVersion (RV) corresponding to the set of objects, and be marked with `\"io.k8s.initial-events-end\": \"true\"` annotation. Afterwards, the watch stream will proceed as usual, sending watch events corresponding to changes (subsequent to the RV) to objects watched. When `sendInitialEvents` option is set, we require `resourceVersionMatch` option to also be set. The semantic of the watch request is as following: - `resourceVersionMatch` = NotOlderThan is interpreted as \"data at least as new as the provided `resourceVersion`\" and the bookmark event is send when the state is synced to a `resourceVersion` at least as fresh as the one provided by the ListOptions. If `resourceVersion` is unset, this is interpreted as \"consistent read\" and the bookmark event is send when the state is synced at least to the moment when request started being processed. - `resourceVersionMatch` set to any other value or unset Invalid error is returned. Defaults to true if `resourceVersion=\"\"` or `resourceVersion=\"0\"` (for backward compatibility reasons) and to false otherwise. +optional | [optional]
### Return type
@@ -491,7 +493,7 @@ Name | Type | Description | Notes
# **sensorServiceWatchSensors**
-> StreamResultOfSensorSensorWatchEvent sensorServiceWatchSensors(namespace, listOptionsLabelSelector, listOptionsFieldSelector, listOptionsWatch, listOptionsAllowWatchBookmarks, listOptionsResourceVersion, listOptionsResourceVersionMatch, listOptionsTimeoutSeconds, listOptionsLimit, listOptionsContinue)
+> StreamResultOfSensorSensorWatchEvent sensorServiceWatchSensors(namespace, listOptionsLabelSelector, listOptionsFieldSelector, listOptionsWatch, listOptionsAllowWatchBookmarks, listOptionsResourceVersion, listOptionsResourceVersionMatch, listOptionsTimeoutSeconds, listOptionsLimit, listOptionsContinue, listOptionsSendInitialEvents)
@@ -527,8 +529,9 @@ public class Example {
String listOptionsTimeoutSeconds = "listOptionsTimeoutSeconds_example"; // String | Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity. +optional.
String listOptionsLimit = "listOptionsLimit_example"; // String | limit is a maximum number of responses to return for a list call. If more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
String listOptionsContinue = "listOptionsContinue_example"; // String | The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \"next key\". This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
+ Boolean listOptionsSendInitialEvents = true; // Boolean | `sendInitialEvents=true` may be set together with `watch=true`. In that case, the watch stream will begin with synthetic events to produce the current state of objects in the collection. Once all such events have been sent, a synthetic \"Bookmark\" event will be sent. The bookmark will report the ResourceVersion (RV) corresponding to the set of objects, and be marked with `\"io.k8s.initial-events-end\": \"true\"` annotation. Afterwards, the watch stream will proceed as usual, sending watch events corresponding to changes (subsequent to the RV) to objects watched. When `sendInitialEvents` option is set, we require `resourceVersionMatch` option to also be set. The semantic of the watch request is as following: - `resourceVersionMatch` = NotOlderThan is interpreted as \"data at least as new as the provided `resourceVersion`\" and the bookmark event is send when the state is synced to a `resourceVersion` at least as fresh as the one provided by the ListOptions. If `resourceVersion` is unset, this is interpreted as \"consistent read\" and the bookmark event is send when the state is synced at least to the moment when request started being processed. - `resourceVersionMatch` set to any other value or unset Invalid error is returned. Defaults to true if `resourceVersion=\"\"` or `resourceVersion=\"0\"` (for backward compatibility reasons) and to false otherwise. +optional
try {
- StreamResultOfSensorSensorWatchEvent result = apiInstance.sensorServiceWatchSensors(namespace, listOptionsLabelSelector, listOptionsFieldSelector, listOptionsWatch, listOptionsAllowWatchBookmarks, listOptionsResourceVersion, listOptionsResourceVersionMatch, listOptionsTimeoutSeconds, listOptionsLimit, listOptionsContinue);
+ StreamResultOfSensorSensorWatchEvent result = apiInstance.sensorServiceWatchSensors(namespace, listOptionsLabelSelector, listOptionsFieldSelector, listOptionsWatch, listOptionsAllowWatchBookmarks, listOptionsResourceVersion, listOptionsResourceVersionMatch, listOptionsTimeoutSeconds, listOptionsLimit, listOptionsContinue, listOptionsSendInitialEvents);
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling SensorServiceApi#sensorServiceWatchSensors");
@@ -555,6 +558,7 @@ Name | Type | Description | Notes
**listOptionsTimeoutSeconds** | **String**| Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity. +optional. | [optional]
**listOptionsLimit** | **String**| limit is a maximum number of responses to return for a list call. If more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned. | [optional]
**listOptionsContinue** | **String**| The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \"next key\". This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications. | [optional]
+ **listOptionsSendInitialEvents** | **Boolean**| `sendInitialEvents=true` may be set together with `watch=true`. In that case, the watch stream will begin with synthetic events to produce the current state of objects in the collection. Once all such events have been sent, a synthetic \"Bookmark\" event will be sent. The bookmark will report the ResourceVersion (RV) corresponding to the set of objects, and be marked with `\"io.k8s.initial-events-end\": \"true\"` annotation. Afterwards, the watch stream will proceed as usual, sending watch events corresponding to changes (subsequent to the RV) to objects watched. When `sendInitialEvents` option is set, we require `resourceVersionMatch` option to also be set. The semantic of the watch request is as following: - `resourceVersionMatch` = NotOlderThan is interpreted as \"data at least as new as the provided `resourceVersion`\" and the bookmark event is send when the state is synced to a `resourceVersion` at least as fresh as the one provided by the ListOptions. If `resourceVersion` is unset, this is interpreted as \"consistent read\" and the bookmark event is send when the state is synced at least to the moment when request started being processed. - `resourceVersionMatch` set to any other value or unset Invalid error is returned. Defaults to true if `resourceVersion=\"\"` or `resourceVersion=\"0\"` (for backward compatibility reasons) and to false otherwise. +optional | [optional]
### Return type
diff --git a/sdks/java/client/docs/ServiceAccountTokenProjection.md b/sdks/java/client/docs/ServiceAccountTokenProjection.md
index 3f3f58973c91..3a3ca95a70aa 100644
--- a/sdks/java/client/docs/ServiceAccountTokenProjection.md
+++ b/sdks/java/client/docs/ServiceAccountTokenProjection.md
@@ -8,9 +8,9 @@ ServiceAccountTokenProjection represents a projected service account token volum
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**audience** | **String** | Audience is the intended audience of the token. A recipient of a token must identify itself with an identifier specified in the audience of the token, and otherwise should reject the token. The audience defaults to the identifier of the apiserver. | [optional]
-**expirationSeconds** | **Integer** | ExpirationSeconds is the requested duration of validity of the service account token. As the token approaches expiration, the kubelet volume plugin will proactively rotate the service account token. The kubelet will start trying to rotate the token if the token is older than 80 percent of its time to live or if the token is older than 24 hours.Defaults to 1 hour and must be at least 10 minutes. | [optional]
-**path** | **String** | Path is the path relative to the mount point of the file to project the token into. |
+**audience** | **String** | audience is the intended audience of the token. A recipient of a token must identify itself with an identifier specified in the audience of the token, and otherwise should reject the token. The audience defaults to the identifier of the apiserver. | [optional]
+**expirationSeconds** | **Integer** | expirationSeconds is the requested duration of validity of the service account token. As the token approaches expiration, the kubelet volume plugin will proactively rotate the service account token. The kubelet will start trying to rotate the token if the token is older than 80 percent of its time to live or if the token is older than 24 hours.Defaults to 1 hour and must be at least 10 minutes. | [optional]
+**path** | **String** | path is the path relative to the mount point of the file to project the token into. |
diff --git a/sdks/java/client/docs/ServicePort.md b/sdks/java/client/docs/ServicePort.md
index b31853529c49..dbbc2055ab79 100644
--- a/sdks/java/client/docs/ServicePort.md
+++ b/sdks/java/client/docs/ServicePort.md
@@ -8,22 +8,12 @@ ServicePort contains information on service's port.
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**appProtocol** | **String** | The application protocol for this port. This field follows standard Kubernetes label syntax. Un-prefixed names are reserved for IANA standard service names (as per RFC-6335 and http://www.iana.org/assignments/service-names). Non-standard protocols should use prefixed names such as mycompany.com/my-custom-protocol. | [optional]
+**appProtocol** | **String** | The application protocol for this port. This is used as a hint for implementations to offer richer behavior for protocols that they understand. This field follows standard Kubernetes label syntax. Valid values are either: * Un-prefixed protocol names - reserved for IANA standard service names (as per RFC-6335 and https://www.iana.org/assignments/service-names). * Kubernetes-defined prefixed names: * 'kubernetes.io/h2c' - HTTP/2 prior knowledge over cleartext as described in https://www.rfc-editor.org/rfc/rfc9113.html#name-starting-http-2-with-prior- * 'kubernetes.io/ws' - WebSocket over cleartext as described in https://www.rfc-editor.org/rfc/rfc6455 * 'kubernetes.io/wss' - WebSocket over TLS as described in https://www.rfc-editor.org/rfc/rfc6455 * Other protocols should use implementation-defined prefixed names such as mycompany.com/my-custom-protocol. | [optional]
**name** | **String** | The name of this port within the service. This must be a DNS_LABEL. All ports within a ServiceSpec must have unique names. When considering the endpoints for a Service, this must match the 'name' field in the EndpointPort. Optional if only one ServicePort is defined on this service. | [optional]
**nodePort** | **Integer** | The port on each node on which this service is exposed when type is NodePort or LoadBalancer. Usually assigned by the system. If a value is specified, in-range, and not in use it will be used, otherwise the operation will fail. If not specified, a port will be allocated if this Service requires one. If this field is specified when creating a Service which does not need it, creation will fail. This field will be wiped when updating a Service to no longer need it (e.g. changing type from NodePort to ClusterIP). More info: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport | [optional]
**port** | **Integer** | The port that will be exposed by this service. |
-**protocol** | [**ProtocolEnum**](#ProtocolEnum) | The IP protocol for this port. Supports \"TCP\", \"UDP\", and \"SCTP\". Default is TCP. Possible enum values: - `\"SCTP\"` is the SCTP protocol. - `\"TCP\"` is the TCP protocol. - `\"UDP\"` is the UDP protocol. | [optional]
+**protocol** | **String** | The IP protocol for this port. Supports \"TCP\", \"UDP\", and \"SCTP\". Default is TCP. | [optional]
**targetPort** | **String** | | [optional]
-## Enum: ProtocolEnum
-
-Name | Value
----- | -----
-SCTP | "SCTP"
-TCP | "TCP"
-UDP | "UDP"
-
-
-
diff --git a/sdks/java/client/docs/SleepAction.md b/sdks/java/client/docs/SleepAction.md
new file mode 100644
index 000000000000..c9e373afbdde
--- /dev/null
+++ b/sdks/java/client/docs/SleepAction.md
@@ -0,0 +1,14 @@
+
+
+# SleepAction
+
+SleepAction describes a \"sleep\" action.
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**seconds** | **Integer** | Seconds is the number of seconds to sleep. |
+
+
+
diff --git a/sdks/java/client/docs/StorageOSVolumeSource.md b/sdks/java/client/docs/StorageOSVolumeSource.md
index cc4cd6b4a0b3..29fb323435a1 100644
--- a/sdks/java/client/docs/StorageOSVolumeSource.md
+++ b/sdks/java/client/docs/StorageOSVolumeSource.md
@@ -8,11 +8,11 @@ Represents a StorageOS persistent volume resource.
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**fsType** | **String** | Filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified. | [optional]
-**readOnly** | **Boolean** | Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts. | [optional]
+**fsType** | **String** | fsType is the filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified. | [optional]
+**readOnly** | **Boolean** | readOnly defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts. | [optional]
**secretRef** | [**io.kubernetes.client.openapi.models.V1LocalObjectReference**](io.kubernetes.client.openapi.models.V1LocalObjectReference.md) | | [optional]
-**volumeName** | **String** | VolumeName is the human-readable name of the StorageOS volume. Volume names are only unique within a namespace. | [optional]
-**volumeNamespace** | **String** | VolumeNamespace specifies the scope of the volume within StorageOS. If no namespace is specified then the Pod's namespace will be used. This allows the Kubernetes name scoping to be mirrored within StorageOS for tighter integration. Set VolumeName to any name to override the default behaviour. Set to \"default\" if you are not using namespaces within StorageOS. Namespaces that do not pre-exist within StorageOS will be created. | [optional]
+**volumeName** | **String** | volumeName is the human-readable name of the StorageOS volume. Volume names are only unique within a namespace. | [optional]
+**volumeNamespace** | **String** | volumeNamespace specifies the scope of the volume within StorageOS. If no namespace is specified then the Pod's namespace will be used. This allows the Kubernetes name scoping to be mirrored within StorageOS for tighter integration. Set VolumeName to any name to override the default behaviour. Set to \"default\" if you are not using namespaces within StorageOS. Namespaces that do not pre-exist within StorageOS will be created. | [optional]
diff --git a/sdks/java/client/docs/TypedObjectReference.md b/sdks/java/client/docs/TypedObjectReference.md
new file mode 100644
index 000000000000..9230e47d5268
--- /dev/null
+++ b/sdks/java/client/docs/TypedObjectReference.md
@@ -0,0 +1,16 @@
+
+
+# TypedObjectReference
+
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**apiGroup** | **String** | APIGroup is the group for the resource being referenced. If APIGroup is not specified, the specified Kind must be in the core API group. For any other third-party types, APIGroup is required. | [optional]
+**kind** | **String** | Kind is the type of resource being referenced |
+**name** | **String** | Name is the name of resource being referenced |
+**namespace** | **String** | Namespace is the namespace of resource being referenced Note that when a namespace is specified, a gateway.networking.k8s.io/ReferenceGrant object is required in the referent namespace to allow that namespace's owner to accept the reference. See the ReferenceGrant documentation for details. (Alpha) This field requires the CrossNamespaceVolumeDataSource feature gate to be enabled. | [optional]
+
+
+
diff --git a/sdks/java/client/docs/VolumeProjection.md b/sdks/java/client/docs/VolumeProjection.md
index f10b6ca7cc8c..9f0fefea1505 100644
--- a/sdks/java/client/docs/VolumeProjection.md
+++ b/sdks/java/client/docs/VolumeProjection.md
@@ -8,6 +8,7 @@ Projection that may be projected along with other supported volume types
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
+**clusterTrustBundle** | [**ClusterTrustBundleProjection**](ClusterTrustBundleProjection.md) | | [optional]
**configMap** | [**ConfigMapProjection**](ConfigMapProjection.md) | | [optional]
**downwardAPI** | [**DownwardAPIProjection**](DownwardAPIProjection.md) | | [optional]
**secret** | [**SecretProjection**](SecretProjection.md) | | [optional]
diff --git a/sdks/java/client/docs/VolumeResourceRequirements.md b/sdks/java/client/docs/VolumeResourceRequirements.md
new file mode 100644
index 000000000000..45d3962501fe
--- /dev/null
+++ b/sdks/java/client/docs/VolumeResourceRequirements.md
@@ -0,0 +1,15 @@
+
+
+# VolumeResourceRequirements
+
+VolumeResourceRequirements describes the storage resource requirements for a volume.
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**limits** | **Map<String, String>** | Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ | [optional]
+**requests** | **Map<String, String>** | Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. Requests cannot exceed Limits. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ | [optional]
+
+
+
diff --git a/sdks/java/client/docs/VsphereVirtualDiskVolumeSource.md b/sdks/java/client/docs/VsphereVirtualDiskVolumeSource.md
index 6247cbc38f3b..7cd44645ce55 100644
--- a/sdks/java/client/docs/VsphereVirtualDiskVolumeSource.md
+++ b/sdks/java/client/docs/VsphereVirtualDiskVolumeSource.md
@@ -8,10 +8,10 @@ Represents a vSphere volume resource.
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**fsType** | **String** | Filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified. | [optional]
-**storagePolicyID** | **String** | Storage Policy Based Management (SPBM) profile ID associated with the StoragePolicyName. | [optional]
-**storagePolicyName** | **String** | Storage Policy Based Management (SPBM) profile name. | [optional]
-**volumePath** | **String** | Path that identifies vSphere volume vmdk |
+**fsType** | **String** | fsType is filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified. | [optional]
+**storagePolicyID** | **String** | storagePolicyID is the storage Policy Based Management (SPBM) profile ID associated with the StoragePolicyName. | [optional]
+**storagePolicyName** | **String** | storagePolicyName is the storage Policy Based Management (SPBM) profile name. | [optional]
+**volumePath** | **String** | volumePath is the path that identifies vSphere volume vmdk |
diff --git a/sdks/java/client/docs/WindowsSecurityContextOptions.md b/sdks/java/client/docs/WindowsSecurityContextOptions.md
index 7298977ce6c8..ff3d01a0774e 100644
--- a/sdks/java/client/docs/WindowsSecurityContextOptions.md
+++ b/sdks/java/client/docs/WindowsSecurityContextOptions.md
@@ -10,7 +10,7 @@ Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**gmsaCredentialSpec** | **String** | GMSACredentialSpec is where the GMSA admission webhook (https://github.com/kubernetes-sigs/windows-gmsa) inlines the contents of the GMSA credential spec named by the GMSACredentialSpecName field. | [optional]
**gmsaCredentialSpecName** | **String** | GMSACredentialSpecName is the name of the GMSA credential spec to use. | [optional]
-**hostProcess** | **Boolean** | HostProcess determines if a container should be run as a 'Host Process' container. This field is alpha-level and will only be honored by components that enable the WindowsHostProcessContainers feature flag. Setting this field without the feature flag will result in errors when validating the Pod. All of a Pod's containers must have the same effective HostProcess value (it is not allowed to have a mix of HostProcess containers and non-HostProcess containers). In addition, if HostProcess is true then HostNetwork must also be set to true. | [optional]
+**hostProcess** | **Boolean** | HostProcess determines if a container should be run as a 'Host Process' container. All of a Pod's containers must have the same effective HostProcess value (it is not allowed to have a mix of HostProcess containers and non-HostProcess containers). In addition, if HostProcess is true then HostNetwork must also be set to true. | [optional]
**runAsUserName** | **String** | The UserName in Windows to run the entrypoint of the container process. Defaults to the user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. | [optional]
diff --git a/sdks/java/client/docs/WorkflowServiceApi.md b/sdks/java/client/docs/WorkflowServiceApi.md
index 009ccf2d78a8..d99bc3d91623 100644
--- a/sdks/java/client/docs/WorkflowServiceApi.md
+++ b/sdks/java/client/docs/WorkflowServiceApi.md
@@ -128,7 +128,7 @@ public class Example {
String deleteOptionsPreconditionsResourceVersion = "deleteOptionsPreconditionsResourceVersion_example"; // String | Specifies the target ResourceVersion +optional.
Boolean deleteOptionsOrphanDependents = true; // Boolean | Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both. +optional.
String deleteOptionsPropagationPolicy = "deleteOptionsPropagationPolicy_example"; // String | Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy. Acceptable values are: 'Orphan' - orphan the dependents; 'Background' - allow the garbage collector to delete the dependents in the background; 'Foreground' - a cascading policy that deletes all dependents in the foreground. +optional.
- List deleteOptionsDryRun = Arrays.asList(); // List | When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed +optional.
+ List deleteOptionsDryRun = Arrays.asList(); // List | When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed +optional +listType=atomic.
Boolean force = true; // Boolean |
try {
Object result = apiInstance.workflowServiceDeleteWorkflow(namespace, name, deleteOptionsGracePeriodSeconds, deleteOptionsPreconditionsUid, deleteOptionsPreconditionsResourceVersion, deleteOptionsOrphanDependents, deleteOptionsPropagationPolicy, deleteOptionsDryRun, force);
@@ -155,7 +155,7 @@ Name | Type | Description | Notes
**deleteOptionsPreconditionsResourceVersion** | **String**| Specifies the target ResourceVersion +optional. | [optional]
**deleteOptionsOrphanDependents** | **Boolean**| Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both. +optional. | [optional]
**deleteOptionsPropagationPolicy** | **String**| Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy. Acceptable values are: 'Orphan' - orphan the dependents; 'Background' - allow the garbage collector to delete the dependents in the background; 'Foreground' - a cascading policy that deletes all dependents in the foreground. +optional. | [optional]
- **deleteOptionsDryRun** | [**List<String>**](String.md)| When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed +optional. | [optional]
+ **deleteOptionsDryRun** | [**List<String>**](String.md)| When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed +optional +listType=atomic. | [optional]
**force** | **Boolean**| | [optional]
### Return type
@@ -323,7 +323,7 @@ Name | Type | Description | Notes
# **workflowServiceListWorkflows**
-> IoArgoprojWorkflowV1alpha1WorkflowList workflowServiceListWorkflows(namespace, listOptionsLabelSelector, listOptionsFieldSelector, listOptionsWatch, listOptionsAllowWatchBookmarks, listOptionsResourceVersion, listOptionsResourceVersionMatch, listOptionsTimeoutSeconds, listOptionsLimit, listOptionsContinue, fields)
+> IoArgoprojWorkflowV1alpha1WorkflowList workflowServiceListWorkflows(namespace, listOptionsLabelSelector, listOptionsFieldSelector, listOptionsWatch, listOptionsAllowWatchBookmarks, listOptionsResourceVersion, listOptionsResourceVersionMatch, listOptionsTimeoutSeconds, listOptionsLimit, listOptionsContinue, listOptionsSendInitialEvents, fields, nameFilter)
@@ -359,9 +359,11 @@ public class Example {
String listOptionsTimeoutSeconds = "listOptionsTimeoutSeconds_example"; // String | Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity. +optional.
String listOptionsLimit = "listOptionsLimit_example"; // String | limit is a maximum number of responses to return for a list call. If more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
String listOptionsContinue = "listOptionsContinue_example"; // String | The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \"next key\". This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
+ Boolean listOptionsSendInitialEvents = true; // Boolean | `sendInitialEvents=true` may be set together with `watch=true`. In that case, the watch stream will begin with synthetic events to produce the current state of objects in the collection. Once all such events have been sent, a synthetic \"Bookmark\" event will be sent. The bookmark will report the ResourceVersion (RV) corresponding to the set of objects, and be marked with `\"io.k8s.initial-events-end\": \"true\"` annotation. Afterwards, the watch stream will proceed as usual, sending watch events corresponding to changes (subsequent to the RV) to objects watched. When `sendInitialEvents` option is set, we require `resourceVersionMatch` option to also be set. The semantic of the watch request is as following: - `resourceVersionMatch` = NotOlderThan is interpreted as \"data at least as new as the provided `resourceVersion`\" and the bookmark event is send when the state is synced to a `resourceVersion` at least as fresh as the one provided by the ListOptions. If `resourceVersion` is unset, this is interpreted as \"consistent read\" and the bookmark event is send when the state is synced at least to the moment when request started being processed. - `resourceVersionMatch` set to any other value or unset Invalid error is returned. Defaults to true if `resourceVersion=\"\"` or `resourceVersion=\"0\"` (for backward compatibility reasons) and to false otherwise. +optional
String fields = "fields_example"; // String | Fields to be included or excluded in the response. e.g. \"items.spec,items.status.phase\", \"-items.status.nodes\".
+ String nameFilter = "nameFilter_example"; // String | Filter type used for name filtering. Exact | Contains | Prefix. Default to Exact.
try {
- IoArgoprojWorkflowV1alpha1WorkflowList result = apiInstance.workflowServiceListWorkflows(namespace, listOptionsLabelSelector, listOptionsFieldSelector, listOptionsWatch, listOptionsAllowWatchBookmarks, listOptionsResourceVersion, listOptionsResourceVersionMatch, listOptionsTimeoutSeconds, listOptionsLimit, listOptionsContinue, fields);
+ IoArgoprojWorkflowV1alpha1WorkflowList result = apiInstance.workflowServiceListWorkflows(namespace, listOptionsLabelSelector, listOptionsFieldSelector, listOptionsWatch, listOptionsAllowWatchBookmarks, listOptionsResourceVersion, listOptionsResourceVersionMatch, listOptionsTimeoutSeconds, listOptionsLimit, listOptionsContinue, listOptionsSendInitialEvents, fields, nameFilter);
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling WorkflowServiceApi#workflowServiceListWorkflows");
@@ -388,7 +390,9 @@ Name | Type | Description | Notes
**listOptionsTimeoutSeconds** | **String**| Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity. +optional. | [optional]
**listOptionsLimit** | **String**| limit is a maximum number of responses to return for a list call. If more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned. | [optional]
**listOptionsContinue** | **String**| The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \"next key\". This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications. | [optional]
+ **listOptionsSendInitialEvents** | **Boolean**| `sendInitialEvents=true` may be set together with `watch=true`. In that case, the watch stream will begin with synthetic events to produce the current state of objects in the collection. Once all such events have been sent, a synthetic \"Bookmark\" event will be sent. The bookmark will report the ResourceVersion (RV) corresponding to the set of objects, and be marked with `\"io.k8s.initial-events-end\": \"true\"` annotation. Afterwards, the watch stream will proceed as usual, sending watch events corresponding to changes (subsequent to the RV) to objects watched. When `sendInitialEvents` option is set, we require `resourceVersionMatch` option to also be set. The semantic of the watch request is as following: - `resourceVersionMatch` = NotOlderThan is interpreted as \"data at least as new as the provided `resourceVersion`\" and the bookmark event is send when the state is synced to a `resourceVersion` at least as fresh as the one provided by the ListOptions. If `resourceVersion` is unset, this is interpreted as \"consistent read\" and the bookmark event is send when the state is synced at least to the moment when request started being processed. - `resourceVersionMatch` set to any other value or unset Invalid error is returned. Defaults to true if `resourceVersion=\"\"` or `resourceVersion=\"0\"` (for backward compatibility reasons) and to false otherwise. +optional | [optional]
**fields** | **String**| Fields to be included or excluded in the response. e.g. \"items.spec,items.status.phase\", \"-items.status.nodes\". | [optional]
+ **nameFilter** | **String**| Filter type used for name filtering. Exact | Contains | Prefix. Default to Exact. | [optional]
### Return type
@@ -1081,7 +1085,7 @@ Name | Type | Description | Notes
# **workflowServiceWatchEvents**
-> StreamResultOfEvent workflowServiceWatchEvents(namespace, listOptionsLabelSelector, listOptionsFieldSelector, listOptionsWatch, listOptionsAllowWatchBookmarks, listOptionsResourceVersion, listOptionsResourceVersionMatch, listOptionsTimeoutSeconds, listOptionsLimit, listOptionsContinue)
+> StreamResultOfEvent workflowServiceWatchEvents(namespace, listOptionsLabelSelector, listOptionsFieldSelector, listOptionsWatch, listOptionsAllowWatchBookmarks, listOptionsResourceVersion, listOptionsResourceVersionMatch, listOptionsTimeoutSeconds, listOptionsLimit, listOptionsContinue, listOptionsSendInitialEvents)
@@ -1117,8 +1121,9 @@ public class Example {
String listOptionsTimeoutSeconds = "listOptionsTimeoutSeconds_example"; // String | Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity. +optional.
String listOptionsLimit = "listOptionsLimit_example"; // String | limit is a maximum number of responses to return for a list call. If more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
String listOptionsContinue = "listOptionsContinue_example"; // String | The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \"next key\". This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
+ Boolean listOptionsSendInitialEvents = true; // Boolean | `sendInitialEvents=true` may be set together with `watch=true`. In that case, the watch stream will begin with synthetic events to produce the current state of objects in the collection. Once all such events have been sent, a synthetic \"Bookmark\" event will be sent. The bookmark will report the ResourceVersion (RV) corresponding to the set of objects, and be marked with `\"io.k8s.initial-events-end\": \"true\"` annotation. Afterwards, the watch stream will proceed as usual, sending watch events corresponding to changes (subsequent to the RV) to objects watched. When `sendInitialEvents` option is set, we require `resourceVersionMatch` option to also be set. The semantic of the watch request is as following: - `resourceVersionMatch` = NotOlderThan is interpreted as \"data at least as new as the provided `resourceVersion`\" and the bookmark event is send when the state is synced to a `resourceVersion` at least as fresh as the one provided by the ListOptions. If `resourceVersion` is unset, this is interpreted as \"consistent read\" and the bookmark event is send when the state is synced at least to the moment when request started being processed. - `resourceVersionMatch` set to any other value or unset Invalid error is returned. Defaults to true if `resourceVersion=\"\"` or `resourceVersion=\"0\"` (for backward compatibility reasons) and to false otherwise. +optional
try {
- StreamResultOfEvent result = apiInstance.workflowServiceWatchEvents(namespace, listOptionsLabelSelector, listOptionsFieldSelector, listOptionsWatch, listOptionsAllowWatchBookmarks, listOptionsResourceVersion, listOptionsResourceVersionMatch, listOptionsTimeoutSeconds, listOptionsLimit, listOptionsContinue);
+ StreamResultOfEvent result = apiInstance.workflowServiceWatchEvents(namespace, listOptionsLabelSelector, listOptionsFieldSelector, listOptionsWatch, listOptionsAllowWatchBookmarks, listOptionsResourceVersion, listOptionsResourceVersionMatch, listOptionsTimeoutSeconds, listOptionsLimit, listOptionsContinue, listOptionsSendInitialEvents);
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling WorkflowServiceApi#workflowServiceWatchEvents");
@@ -1145,6 +1150,7 @@ Name | Type | Description | Notes
**listOptionsTimeoutSeconds** | **String**| Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity. +optional. | [optional]
**listOptionsLimit** | **String**| limit is a maximum number of responses to return for a list call. If more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned. | [optional]
**listOptionsContinue** | **String**| The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \"next key\". This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications. | [optional]
+ **listOptionsSendInitialEvents** | **Boolean**| `sendInitialEvents=true` may be set together with `watch=true`. In that case, the watch stream will begin with synthetic events to produce the current state of objects in the collection. Once all such events have been sent, a synthetic \"Bookmark\" event will be sent. The bookmark will report the ResourceVersion (RV) corresponding to the set of objects, and be marked with `\"io.k8s.initial-events-end\": \"true\"` annotation. Afterwards, the watch stream will proceed as usual, sending watch events corresponding to changes (subsequent to the RV) to objects watched. When `sendInitialEvents` option is set, we require `resourceVersionMatch` option to also be set. The semantic of the watch request is as following: - `resourceVersionMatch` = NotOlderThan is interpreted as \"data at least as new as the provided `resourceVersion`\" and the bookmark event is send when the state is synced to a `resourceVersion` at least as fresh as the one provided by the ListOptions. If `resourceVersion` is unset, this is interpreted as \"consistent read\" and the bookmark event is send when the state is synced at least to the moment when request started being processed. - `resourceVersionMatch` set to any other value or unset Invalid error is returned. Defaults to true if `resourceVersion=\"\"` or `resourceVersion=\"0\"` (for backward compatibility reasons) and to false otherwise. +optional | [optional]
### Return type
@@ -1167,7 +1173,7 @@ Name | Type | Description | Notes
# **workflowServiceWatchWorkflows**
-> StreamResultOfIoArgoprojWorkflowV1alpha1WorkflowWatchEvent workflowServiceWatchWorkflows(namespace, listOptionsLabelSelector, listOptionsFieldSelector, listOptionsWatch, listOptionsAllowWatchBookmarks, listOptionsResourceVersion, listOptionsResourceVersionMatch, listOptionsTimeoutSeconds, listOptionsLimit, listOptionsContinue, fields)
+> StreamResultOfIoArgoprojWorkflowV1alpha1WorkflowWatchEvent workflowServiceWatchWorkflows(namespace, listOptionsLabelSelector, listOptionsFieldSelector, listOptionsWatch, listOptionsAllowWatchBookmarks, listOptionsResourceVersion, listOptionsResourceVersionMatch, listOptionsTimeoutSeconds, listOptionsLimit, listOptionsContinue, listOptionsSendInitialEvents, fields)
@@ -1203,9 +1209,10 @@ public class Example {
String listOptionsTimeoutSeconds = "listOptionsTimeoutSeconds_example"; // String | Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity. +optional.
String listOptionsLimit = "listOptionsLimit_example"; // String | limit is a maximum number of responses to return for a list call. If more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
String listOptionsContinue = "listOptionsContinue_example"; // String | The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \"next key\". This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
+ Boolean listOptionsSendInitialEvents = true; // Boolean | `sendInitialEvents=true` may be set together with `watch=true`. In that case, the watch stream will begin with synthetic events to produce the current state of objects in the collection. Once all such events have been sent, a synthetic \"Bookmark\" event will be sent. The bookmark will report the ResourceVersion (RV) corresponding to the set of objects, and be marked with `\"io.k8s.initial-events-end\": \"true\"` annotation. Afterwards, the watch stream will proceed as usual, sending watch events corresponding to changes (subsequent to the RV) to objects watched. When `sendInitialEvents` option is set, we require `resourceVersionMatch` option to also be set. The semantic of the watch request is as following: - `resourceVersionMatch` = NotOlderThan is interpreted as \"data at least as new as the provided `resourceVersion`\" and the bookmark event is send when the state is synced to a `resourceVersion` at least as fresh as the one provided by the ListOptions. If `resourceVersion` is unset, this is interpreted as \"consistent read\" and the bookmark event is send when the state is synced at least to the moment when request started being processed. - `resourceVersionMatch` set to any other value or unset Invalid error is returned. Defaults to true if `resourceVersion=\"\"` or `resourceVersion=\"0\"` (for backward compatibility reasons) and to false otherwise. +optional
String fields = "fields_example"; // String |
try {
- StreamResultOfIoArgoprojWorkflowV1alpha1WorkflowWatchEvent result = apiInstance.workflowServiceWatchWorkflows(namespace, listOptionsLabelSelector, listOptionsFieldSelector, listOptionsWatch, listOptionsAllowWatchBookmarks, listOptionsResourceVersion, listOptionsResourceVersionMatch, listOptionsTimeoutSeconds, listOptionsLimit, listOptionsContinue, fields);
+ StreamResultOfIoArgoprojWorkflowV1alpha1WorkflowWatchEvent result = apiInstance.workflowServiceWatchWorkflows(namespace, listOptionsLabelSelector, listOptionsFieldSelector, listOptionsWatch, listOptionsAllowWatchBookmarks, listOptionsResourceVersion, listOptionsResourceVersionMatch, listOptionsTimeoutSeconds, listOptionsLimit, listOptionsContinue, listOptionsSendInitialEvents, fields);
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling WorkflowServiceApi#workflowServiceWatchWorkflows");
@@ -1232,6 +1239,7 @@ Name | Type | Description | Notes
**listOptionsTimeoutSeconds** | **String**| Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity. +optional. | [optional]
**listOptionsLimit** | **String**| limit is a maximum number of responses to return for a list call. If more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned. | [optional]
**listOptionsContinue** | **String**| The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \"next key\". This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications. | [optional]
+ **listOptionsSendInitialEvents** | **Boolean**| `sendInitialEvents=true` may be set together with `watch=true`. In that case, the watch stream will begin with synthetic events to produce the current state of objects in the collection. Once all such events have been sent, a synthetic \"Bookmark\" event will be sent. The bookmark will report the ResourceVersion (RV) corresponding to the set of objects, and be marked with `\"io.k8s.initial-events-end\": \"true\"` annotation. Afterwards, the watch stream will proceed as usual, sending watch events corresponding to changes (subsequent to the RV) to objects watched. When `sendInitialEvents` option is set, we require `resourceVersionMatch` option to also be set. The semantic of the watch request is as following: - `resourceVersionMatch` = NotOlderThan is interpreted as \"data at least as new as the provided `resourceVersion`\" and the bookmark event is send when the state is synced to a `resourceVersion` at least as fresh as the one provided by the ListOptions. If `resourceVersion` is unset, this is interpreted as \"consistent read\" and the bookmark event is send when the state is synced at least to the moment when request started being processed. - `resourceVersionMatch` set to any other value or unset Invalid error is returned. Defaults to true if `resourceVersion=\"\"` or `resourceVersion=\"0\"` (for backward compatibility reasons) and to false otherwise. +optional | [optional]
**fields** | **String**| | [optional]
### Return type
diff --git a/sdks/java/client/docs/WorkflowTemplateServiceApi.md b/sdks/java/client/docs/WorkflowTemplateServiceApi.md
index e9b1d9611bed..bfa34c84e4c1 100644
--- a/sdks/java/client/docs/WorkflowTemplateServiceApi.md
+++ b/sdks/java/client/docs/WorkflowTemplateServiceApi.md
@@ -117,7 +117,7 @@ public class Example {
String deleteOptionsPreconditionsResourceVersion = "deleteOptionsPreconditionsResourceVersion_example"; // String | Specifies the target ResourceVersion +optional.
Boolean deleteOptionsOrphanDependents = true; // Boolean | Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both. +optional.
String deleteOptionsPropagationPolicy = "deleteOptionsPropagationPolicy_example"; // String | Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy. Acceptable values are: 'Orphan' - orphan the dependents; 'Background' - allow the garbage collector to delete the dependents in the background; 'Foreground' - a cascading policy that deletes all dependents in the foreground. +optional.
- List deleteOptionsDryRun = Arrays.asList(); // List | When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed +optional.
+ List deleteOptionsDryRun = Arrays.asList(); // List | When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed +optional +listType=atomic.
try {
Object result = apiInstance.workflowTemplateServiceDeleteWorkflowTemplate(namespace, name, deleteOptionsGracePeriodSeconds, deleteOptionsPreconditionsUid, deleteOptionsPreconditionsResourceVersion, deleteOptionsOrphanDependents, deleteOptionsPropagationPolicy, deleteOptionsDryRun);
System.out.println(result);
@@ -143,7 +143,7 @@ Name | Type | Description | Notes
**deleteOptionsPreconditionsResourceVersion** | **String**| Specifies the target ResourceVersion +optional. | [optional]
**deleteOptionsOrphanDependents** | **Boolean**| Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both. +optional. | [optional]
**deleteOptionsPropagationPolicy** | **String**| Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy. Acceptable values are: 'Orphan' - orphan the dependents; 'Background' - allow the garbage collector to delete the dependents in the background; 'Foreground' - a cascading policy that deletes all dependents in the foreground. +optional. | [optional]
- **deleteOptionsDryRun** | [**List<String>**](String.md)| When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed +optional. | [optional]
+ **deleteOptionsDryRun** | [**List<String>**](String.md)| When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed +optional +listType=atomic. | [optional]
### Return type
@@ -308,7 +308,7 @@ Name | Type | Description | Notes
# **workflowTemplateServiceListWorkflowTemplates**
-> IoArgoprojWorkflowV1alpha1WorkflowTemplateList workflowTemplateServiceListWorkflowTemplates(namespace, namePattern, listOptionsLabelSelector, listOptionsFieldSelector, listOptionsWatch, listOptionsAllowWatchBookmarks, listOptionsResourceVersion, listOptionsResourceVersionMatch, listOptionsTimeoutSeconds, listOptionsLimit, listOptionsContinue)
+> IoArgoprojWorkflowV1alpha1WorkflowTemplateList workflowTemplateServiceListWorkflowTemplates(namespace, namePattern, listOptionsLabelSelector, listOptionsFieldSelector, listOptionsWatch, listOptionsAllowWatchBookmarks, listOptionsResourceVersion, listOptionsResourceVersionMatch, listOptionsTimeoutSeconds, listOptionsLimit, listOptionsContinue, listOptionsSendInitialEvents)
@@ -345,8 +345,9 @@ public class Example {
String listOptionsTimeoutSeconds = "listOptionsTimeoutSeconds_example"; // String | Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity. +optional.
String listOptionsLimit = "listOptionsLimit_example"; // String | limit is a maximum number of responses to return for a list call. If more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.
String listOptionsContinue = "listOptionsContinue_example"; // String | The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \"next key\". This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.
+ Boolean listOptionsSendInitialEvents = true; // Boolean | `sendInitialEvents=true` may be set together with `watch=true`. In that case, the watch stream will begin with synthetic events to produce the current state of objects in the collection. Once all such events have been sent, a synthetic \"Bookmark\" event will be sent. The bookmark will report the ResourceVersion (RV) corresponding to the set of objects, and be marked with `\"io.k8s.initial-events-end\": \"true\"` annotation. Afterwards, the watch stream will proceed as usual, sending watch events corresponding to changes (subsequent to the RV) to objects watched. When `sendInitialEvents` option is set, we require `resourceVersionMatch` option to also be set. The semantic of the watch request is as following: - `resourceVersionMatch` = NotOlderThan is interpreted as \"data at least as new as the provided `resourceVersion`\" and the bookmark event is send when the state is synced to a `resourceVersion` at least as fresh as the one provided by the ListOptions. If `resourceVersion` is unset, this is interpreted as \"consistent read\" and the bookmark event is send when the state is synced at least to the moment when request started being processed. - `resourceVersionMatch` set to any other value or unset Invalid error is returned. Defaults to true if `resourceVersion=\"\"` or `resourceVersion=\"0\"` (for backward compatibility reasons) and to false otherwise. +optional
try {
- IoArgoprojWorkflowV1alpha1WorkflowTemplateList result = apiInstance.workflowTemplateServiceListWorkflowTemplates(namespace, namePattern, listOptionsLabelSelector, listOptionsFieldSelector, listOptionsWatch, listOptionsAllowWatchBookmarks, listOptionsResourceVersion, listOptionsResourceVersionMatch, listOptionsTimeoutSeconds, listOptionsLimit, listOptionsContinue);
+ IoArgoprojWorkflowV1alpha1WorkflowTemplateList result = apiInstance.workflowTemplateServiceListWorkflowTemplates(namespace, namePattern, listOptionsLabelSelector, listOptionsFieldSelector, listOptionsWatch, listOptionsAllowWatchBookmarks, listOptionsResourceVersion, listOptionsResourceVersionMatch, listOptionsTimeoutSeconds, listOptionsLimit, listOptionsContinue, listOptionsSendInitialEvents);
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling WorkflowTemplateServiceApi#workflowTemplateServiceListWorkflowTemplates");
@@ -374,6 +375,7 @@ Name | Type | Description | Notes
**listOptionsTimeoutSeconds** | **String**| Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity. +optional. | [optional]
**listOptionsLimit** | **String**| limit is a maximum number of responses to return for a list call. If more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned. | [optional]
**listOptionsContinue** | **String**| The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \"next key\". This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications. | [optional]
+ **listOptionsSendInitialEvents** | **Boolean**| `sendInitialEvents=true` may be set together with `watch=true`. In that case, the watch stream will begin with synthetic events to produce the current state of objects in the collection. Once all such events have been sent, a synthetic \"Bookmark\" event will be sent. The bookmark will report the ResourceVersion (RV) corresponding to the set of objects, and be marked with `\"io.k8s.initial-events-end\": \"true\"` annotation. Afterwards, the watch stream will proceed as usual, sending watch events corresponding to changes (subsequent to the RV) to objects watched. When `sendInitialEvents` option is set, we require `resourceVersionMatch` option to also be set. The semantic of the watch request is as following: - `resourceVersionMatch` = NotOlderThan is interpreted as \"data at least as new as the provided `resourceVersion`\" and the bookmark event is send when the state is synced to a `resourceVersion` at least as fresh as the one provided by the ListOptions. If `resourceVersion` is unset, this is interpreted as \"consistent read\" and the bookmark event is send when the state is synced at least to the moment when request started being processed. - `resourceVersionMatch` set to any other value or unset Invalid error is returned. Defaults to true if `resourceVersion=\"\"` or `resourceVersion=\"0\"` (for backward compatibility reasons) and to false otherwise. +optional | [optional]
### Return type
diff --git a/sdks/python/README.md b/sdks/python/README.md
index 2c1c7c4be57c..8fe16af8e04f 100644
--- a/sdks/python/README.md
+++ b/sdks/python/README.md
@@ -2,6 +2,10 @@
This is the Python SDK for Argo Workflows.
+> [!WARNING]
+> This SDK is deprecated and will be removed in version 3.7 of Argo Workflows.
+> We recommend migrating to [Hera](https://github.com/argoproj-labs/hera).
+
## Requirements
Python >= 3.6
diff --git a/sdks/python/client/argo_workflows/api/archived_workflow_service_api.py b/sdks/python/client/argo_workflows/api/archived_workflow_service_api.py
index 7f63506edef9..015dcdb27127 100644
--- a/sdks/python/client/argo_workflows/api/archived_workflow_service_api.py
+++ b/sdks/python/client/argo_workflows/api/archived_workflow_service_api.py
@@ -229,6 +229,7 @@ def __init__(self, api_client=None):
'list_options_timeout_seconds',
'list_options_limit',
'list_options_continue',
+ 'list_options_send_initial_events',
'namespace',
],
'required': [],
@@ -263,6 +264,8 @@ def __init__(self, api_client=None):
(str,),
'list_options_continue':
(str,),
+ 'list_options_send_initial_events':
+ (bool,),
'namespace':
(str,),
},
@@ -276,6 +279,7 @@ def __init__(self, api_client=None):
'list_options_timeout_seconds': 'listOptions.timeoutSeconds',
'list_options_limit': 'listOptions.limit',
'list_options_continue': 'listOptions.continue',
+ 'list_options_send_initial_events': 'listOptions.sendInitialEvents',
'namespace': 'namespace',
},
'location_map': {
@@ -288,6 +292,7 @@ def __init__(self, api_client=None):
'list_options_timeout_seconds': 'query',
'list_options_limit': 'query',
'list_options_continue': 'query',
+ 'list_options_send_initial_events': 'query',
'namespace': 'query',
},
'collection_format_map': {
@@ -323,6 +328,7 @@ def __init__(self, api_client=None):
'list_options_timeout_seconds',
'list_options_limit',
'list_options_continue',
+ 'list_options_send_initial_events',
'name_prefix',
'namespace',
],
@@ -358,6 +364,8 @@ def __init__(self, api_client=None):
(str,),
'list_options_continue':
(str,),
+ 'list_options_send_initial_events':
+ (bool,),
'name_prefix':
(str,),
'namespace':
@@ -373,6 +381,7 @@ def __init__(self, api_client=None):
'list_options_timeout_seconds': 'listOptions.timeoutSeconds',
'list_options_limit': 'listOptions.limit',
'list_options_continue': 'listOptions.continue',
+ 'list_options_send_initial_events': 'listOptions.sendInitialEvents',
'name_prefix': 'namePrefix',
'namespace': 'namespace',
},
@@ -386,6 +395,7 @@ def __init__(self, api_client=None):
'list_options_timeout_seconds': 'query',
'list_options_limit': 'query',
'list_options_continue': 'query',
+ 'list_options_send_initial_events': 'query',
'name_prefix': 'query',
'namespace': 'query',
},
@@ -770,6 +780,7 @@ def list_archived_workflow_label_values(
list_options_timeout_seconds (str): Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity. +optional.. [optional]
list_options_limit (str): limit is a maximum number of responses to return for a list call. If more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.. [optional]
list_options_continue (str): The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \"next key\". This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.. [optional]
+ list_options_send_initial_events (bool): `sendInitialEvents=true` may be set together with `watch=true`. In that case, the watch stream will begin with synthetic events to produce the current state of objects in the collection. Once all such events have been sent, a synthetic \"Bookmark\" event will be sent. The bookmark will report the ResourceVersion (RV) corresponding to the set of objects, and be marked with `\"io.k8s.initial-events-end\": \"true\"` annotation. Afterwards, the watch stream will proceed as usual, sending watch events corresponding to changes (subsequent to the RV) to objects watched. When `sendInitialEvents` option is set, we require `resourceVersionMatch` option to also be set. The semantic of the watch request is as following: - `resourceVersionMatch` = NotOlderThan is interpreted as \"data at least as new as the provided `resourceVersion`\" and the bookmark event is send when the state is synced to a `resourceVersion` at least as fresh as the one provided by the ListOptions. If `resourceVersion` is unset, this is interpreted as \"consistent read\" and the bookmark event is send when the state is synced at least to the moment when request started being processed. - `resourceVersionMatch` set to any other value or unset Invalid error is returned. Defaults to true if `resourceVersion=\"\"` or `resourceVersion=\"0\"` (for backward compatibility reasons) and to false otherwise. +optional. [optional]
namespace (str): [optional]
_return_http_data_only (bool): response data without head status
code and headers. Default is True.
@@ -852,6 +863,7 @@ def list_archived_workflows(
list_options_timeout_seconds (str): Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity. +optional.. [optional]
list_options_limit (str): limit is a maximum number of responses to return for a list call. If more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.. [optional]
list_options_continue (str): The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \"next key\". This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.. [optional]
+ list_options_send_initial_events (bool): `sendInitialEvents=true` may be set together with `watch=true`. In that case, the watch stream will begin with synthetic events to produce the current state of objects in the collection. Once all such events have been sent, a synthetic \"Bookmark\" event will be sent. The bookmark will report the ResourceVersion (RV) corresponding to the set of objects, and be marked with `\"io.k8s.initial-events-end\": \"true\"` annotation. Afterwards, the watch stream will proceed as usual, sending watch events corresponding to changes (subsequent to the RV) to objects watched. When `sendInitialEvents` option is set, we require `resourceVersionMatch` option to also be set. The semantic of the watch request is as following: - `resourceVersionMatch` = NotOlderThan is interpreted as \"data at least as new as the provided `resourceVersion`\" and the bookmark event is send when the state is synced to a `resourceVersion` at least as fresh as the one provided by the ListOptions. If `resourceVersion` is unset, this is interpreted as \"consistent read\" and the bookmark event is send when the state is synced at least to the moment when request started being processed. - `resourceVersionMatch` set to any other value or unset Invalid error is returned. Defaults to true if `resourceVersion=\"\"` or `resourceVersion=\"0\"` (for backward compatibility reasons) and to false otherwise. +optional. [optional]
name_prefix (str): [optional]
namespace (str): [optional]
_return_http_data_only (bool): response data without head status
diff --git a/sdks/python/client/argo_workflows/api/cluster_workflow_template_service_api.py b/sdks/python/client/argo_workflows/api/cluster_workflow_template_service_api.py
index 5053a8f21aa3..32e4f961da96 100644
--- a/sdks/python/client/argo_workflows/api/cluster_workflow_template_service_api.py
+++ b/sdks/python/client/argo_workflows/api/cluster_workflow_template_service_api.py
@@ -304,6 +304,7 @@ def __init__(self, api_client=None):
'list_options_timeout_seconds',
'list_options_limit',
'list_options_continue',
+ 'list_options_send_initial_events',
],
'required': [],
'nullable': [
@@ -337,6 +338,8 @@ def __init__(self, api_client=None):
(str,),
'list_options_continue':
(str,),
+ 'list_options_send_initial_events':
+ (bool,),
},
'attribute_map': {
'list_options_label_selector': 'listOptions.labelSelector',
@@ -348,6 +351,7 @@ def __init__(self, api_client=None):
'list_options_timeout_seconds': 'listOptions.timeoutSeconds',
'list_options_limit': 'listOptions.limit',
'list_options_continue': 'listOptions.continue',
+ 'list_options_send_initial_events': 'listOptions.sendInitialEvents',
},
'location_map': {
'list_options_label_selector': 'query',
@@ -359,6 +363,7 @@ def __init__(self, api_client=None):
'list_options_timeout_seconds': 'query',
'list_options_limit': 'query',
'list_options_continue': 'query',
+ 'list_options_send_initial_events': 'query',
},
'collection_format_map': {
}
@@ -529,7 +534,7 @@ def delete_cluster_workflow_template(
delete_options_preconditions_resource_version (str): Specifies the target ResourceVersion +optional.. [optional]
delete_options_orphan_dependents (bool): Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both. +optional.. [optional]
delete_options_propagation_policy (str): Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy. Acceptable values are: 'Orphan' - orphan the dependents; 'Background' - allow the garbage collector to delete the dependents in the background; 'Foreground' - a cascading policy that deletes all dependents in the foreground. +optional.. [optional]
- delete_options_dry_run ([str]): When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed +optional.. [optional]
+ delete_options_dry_run ([str]): When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed +optional +listType=atomic.. [optional]
_return_http_data_only (bool): response data without head status
code and headers. Default is True.
_preload_content (bool): if False, the urllib3.HTTPResponse object
@@ -768,6 +773,7 @@ def list_cluster_workflow_templates(
list_options_timeout_seconds (str): Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity. +optional.. [optional]
list_options_limit (str): limit is a maximum number of responses to return for a list call. If more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.. [optional]
list_options_continue (str): The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \"next key\". This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.. [optional]
+ list_options_send_initial_events (bool): `sendInitialEvents=true` may be set together with `watch=true`. In that case, the watch stream will begin with synthetic events to produce the current state of objects in the collection. Once all such events have been sent, a synthetic \"Bookmark\" event will be sent. The bookmark will report the ResourceVersion (RV) corresponding to the set of objects, and be marked with `\"io.k8s.initial-events-end\": \"true\"` annotation. Afterwards, the watch stream will proceed as usual, sending watch events corresponding to changes (subsequent to the RV) to objects watched. When `sendInitialEvents` option is set, we require `resourceVersionMatch` option to also be set. The semantic of the watch request is as following: - `resourceVersionMatch` = NotOlderThan is interpreted as \"data at least as new as the provided `resourceVersion`\" and the bookmark event is send when the state is synced to a `resourceVersion` at least as fresh as the one provided by the ListOptions. If `resourceVersion` is unset, this is interpreted as \"consistent read\" and the bookmark event is send when the state is synced at least to the moment when request started being processed. - `resourceVersionMatch` set to any other value or unset Invalid error is returned. Defaults to true if `resourceVersion=\"\"` or `resourceVersion=\"0\"` (for backward compatibility reasons) and to false otherwise. +optional. [optional]
_return_http_data_only (bool): response data without head status
code and headers. Default is True.
_preload_content (bool): if False, the urllib3.HTTPResponse object
diff --git a/sdks/python/client/argo_workflows/api/cron_workflow_service_api.py b/sdks/python/client/argo_workflows/api/cron_workflow_service_api.py
index e510d7300a69..411c83e309e6 100644
--- a/sdks/python/client/argo_workflows/api/cron_workflow_service_api.py
+++ b/sdks/python/client/argo_workflows/api/cron_workflow_service_api.py
@@ -331,6 +331,7 @@ def __init__(self, api_client=None):
'list_options_timeout_seconds',
'list_options_limit',
'list_options_continue',
+ 'list_options_send_initial_events',
],
'required': [
'namespace',
@@ -368,6 +369,8 @@ def __init__(self, api_client=None):
(str,),
'list_options_continue':
(str,),
+ 'list_options_send_initial_events':
+ (bool,),
},
'attribute_map': {
'namespace': 'namespace',
@@ -380,6 +383,7 @@ def __init__(self, api_client=None):
'list_options_timeout_seconds': 'listOptions.timeoutSeconds',
'list_options_limit': 'listOptions.limit',
'list_options_continue': 'listOptions.continue',
+ 'list_options_send_initial_events': 'listOptions.sendInitialEvents',
},
'location_map': {
'namespace': 'path',
@@ -392,6 +396,7 @@ def __init__(self, api_client=None):
'list_options_timeout_seconds': 'query',
'list_options_limit': 'query',
'list_options_continue': 'query',
+ 'list_options_send_initial_events': 'query',
},
'collection_format_map': {
}
@@ -702,7 +707,7 @@ def delete_cron_workflow(
delete_options_preconditions_resource_version (str): Specifies the target ResourceVersion +optional.. [optional]
delete_options_orphan_dependents (bool): Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both. +optional.. [optional]
delete_options_propagation_policy (str): Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy. Acceptable values are: 'Orphan' - orphan the dependents; 'Background' - allow the garbage collector to delete the dependents in the background; 'Foreground' - a cascading policy that deletes all dependents in the foreground. +optional.. [optional]
- delete_options_dry_run ([str]): When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed +optional.. [optional]
+ delete_options_dry_run ([str]): When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed +optional +listType=atomic.. [optional]
_return_http_data_only (bool): response data without head status
code and headers. Default is True.
_preload_content (bool): if False, the urllib3.HTTPResponse object
@@ -954,6 +959,7 @@ def list_cron_workflows(
list_options_timeout_seconds (str): Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity. +optional.. [optional]
list_options_limit (str): limit is a maximum number of responses to return for a list call. If more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.. [optional]
list_options_continue (str): The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \"next key\". This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.. [optional]
+ list_options_send_initial_events (bool): `sendInitialEvents=true` may be set together with `watch=true`. In that case, the watch stream will begin with synthetic events to produce the current state of objects in the collection. Once all such events have been sent, a synthetic \"Bookmark\" event will be sent. The bookmark will report the ResourceVersion (RV) corresponding to the set of objects, and be marked with `\"io.k8s.initial-events-end\": \"true\"` annotation. Afterwards, the watch stream will proceed as usual, sending watch events corresponding to changes (subsequent to the RV) to objects watched. When `sendInitialEvents` option is set, we require `resourceVersionMatch` option to also be set. The semantic of the watch request is as following: - `resourceVersionMatch` = NotOlderThan is interpreted as \"data at least as new as the provided `resourceVersion`\" and the bookmark event is send when the state is synced to a `resourceVersion` at least as fresh as the one provided by the ListOptions. If `resourceVersion` is unset, this is interpreted as \"consistent read\" and the bookmark event is send when the state is synced at least to the moment when request started being processed. - `resourceVersionMatch` set to any other value or unset Invalid error is returned. Defaults to true if `resourceVersion=\"\"` or `resourceVersion=\"0\"` (for backward compatibility reasons) and to false otherwise. +optional. [optional]
_return_http_data_only (bool): response data without head status
code and headers. Default is True.
_preload_content (bool): if False, the urllib3.HTTPResponse object
diff --git a/sdks/python/client/argo_workflows/api/event_service_api.py b/sdks/python/client/argo_workflows/api/event_service_api.py
index 3c893df3ccb8..1c099bd82fb9 100644
--- a/sdks/python/client/argo_workflows/api/event_service_api.py
+++ b/sdks/python/client/argo_workflows/api/event_service_api.py
@@ -59,6 +59,7 @@ def __init__(self, api_client=None):
'list_options_timeout_seconds',
'list_options_limit',
'list_options_continue',
+ 'list_options_send_initial_events',
],
'required': [
'namespace',
@@ -96,6 +97,8 @@ def __init__(self, api_client=None):
(str,),
'list_options_continue':
(str,),
+ 'list_options_send_initial_events':
+ (bool,),
},
'attribute_map': {
'namespace': 'namespace',
@@ -108,6 +111,7 @@ def __init__(self, api_client=None):
'list_options_timeout_seconds': 'listOptions.timeoutSeconds',
'list_options_limit': 'listOptions.limit',
'list_options_continue': 'listOptions.continue',
+ 'list_options_send_initial_events': 'listOptions.sendInitialEvents',
},
'location_map': {
'namespace': 'path',
@@ -120,6 +124,7 @@ def __init__(self, api_client=None):
'list_options_timeout_seconds': 'query',
'list_options_limit': 'query',
'list_options_continue': 'query',
+ 'list_options_send_initial_events': 'query',
},
'collection_format_map': {
}
@@ -223,6 +228,7 @@ def list_workflow_event_bindings(
list_options_timeout_seconds (str): Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity. +optional.. [optional]
list_options_limit (str): limit is a maximum number of responses to return for a list call. If more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.. [optional]
list_options_continue (str): The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \"next key\". This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.. [optional]
+ list_options_send_initial_events (bool): `sendInitialEvents=true` may be set together with `watch=true`. In that case, the watch stream will begin with synthetic events to produce the current state of objects in the collection. Once all such events have been sent, a synthetic \"Bookmark\" event will be sent. The bookmark will report the ResourceVersion (RV) corresponding to the set of objects, and be marked with `\"io.k8s.initial-events-end\": \"true\"` annotation. Afterwards, the watch stream will proceed as usual, sending watch events corresponding to changes (subsequent to the RV) to objects watched. When `sendInitialEvents` option is set, we require `resourceVersionMatch` option to also be set. The semantic of the watch request is as following: - `resourceVersionMatch` = NotOlderThan is interpreted as \"data at least as new as the provided `resourceVersion`\" and the bookmark event is send when the state is synced to a `resourceVersion` at least as fresh as the one provided by the ListOptions. If `resourceVersion` is unset, this is interpreted as \"consistent read\" and the bookmark event is send when the state is synced at least to the moment when request started being processed. - `resourceVersionMatch` set to any other value or unset Invalid error is returned. Defaults to true if `resourceVersion=\"\"` or `resourceVersion=\"0\"` (for backward compatibility reasons) and to false otherwise. +optional. [optional]
_return_http_data_only (bool): response data without head status
code and headers. Default is True.
_preload_content (bool): if False, the urllib3.HTTPResponse object
diff --git a/sdks/python/client/argo_workflows/api/event_source_service_api.py b/sdks/python/client/argo_workflows/api/event_source_service_api.py
index 874d90c19198..8ae41de842ae 100644
--- a/sdks/python/client/argo_workflows/api/event_source_service_api.py
+++ b/sdks/python/client/argo_workflows/api/event_source_service_api.py
@@ -388,6 +388,7 @@ def __init__(self, api_client=None):
'list_options_timeout_seconds',
'list_options_limit',
'list_options_continue',
+ 'list_options_send_initial_events',
],
'required': [
'namespace',
@@ -425,6 +426,8 @@ def __init__(self, api_client=None):
(str,),
'list_options_continue':
(str,),
+ 'list_options_send_initial_events':
+ (bool,),
},
'attribute_map': {
'namespace': 'namespace',
@@ -437,6 +440,7 @@ def __init__(self, api_client=None):
'list_options_timeout_seconds': 'listOptions.timeoutSeconds',
'list_options_limit': 'listOptions.limit',
'list_options_continue': 'listOptions.continue',
+ 'list_options_send_initial_events': 'listOptions.sendInitialEvents',
},
'location_map': {
'namespace': 'path',
@@ -449,6 +453,7 @@ def __init__(self, api_client=None):
'list_options_timeout_seconds': 'query',
'list_options_limit': 'query',
'list_options_continue': 'query',
+ 'list_options_send_initial_events': 'query',
},
'collection_format_map': {
}
@@ -548,6 +553,7 @@ def __init__(self, api_client=None):
'list_options_timeout_seconds',
'list_options_limit',
'list_options_continue',
+ 'list_options_send_initial_events',
],
'required': [
'namespace',
@@ -585,6 +591,8 @@ def __init__(self, api_client=None):
(str,),
'list_options_continue':
(str,),
+ 'list_options_send_initial_events':
+ (bool,),
},
'attribute_map': {
'namespace': 'namespace',
@@ -597,6 +605,7 @@ def __init__(self, api_client=None):
'list_options_timeout_seconds': 'listOptions.timeoutSeconds',
'list_options_limit': 'listOptions.limit',
'list_options_continue': 'listOptions.continue',
+ 'list_options_send_initial_events': 'listOptions.sendInitialEvents',
},
'location_map': {
'namespace': 'path',
@@ -609,6 +618,7 @@ def __init__(self, api_client=None):
'list_options_timeout_seconds': 'query',
'list_options_limit': 'query',
'list_options_continue': 'query',
+ 'list_options_send_initial_events': 'query',
},
'collection_format_map': {
}
@@ -727,7 +737,7 @@ def delete_event_source(
delete_options_preconditions_resource_version (str): Specifies the target ResourceVersion +optional.. [optional]
delete_options_orphan_dependents (bool): Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both. +optional.. [optional]
delete_options_propagation_policy (str): Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy. Acceptable values are: 'Orphan' - orphan the dependents; 'Background' - allow the garbage collector to delete the dependents in the background; 'Foreground' - a cascading policy that deletes all dependents in the foreground. +optional.. [optional]
- delete_options_dry_run ([str]): When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed +optional.. [optional]
+ delete_options_dry_run ([str]): When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed +optional +listType=atomic.. [optional]
_return_http_data_only (bool): response data without head status
code and headers. Default is True.
_preload_content (bool): if False, the urllib3.HTTPResponse object
@@ -988,6 +998,7 @@ def list_event_sources(
list_options_timeout_seconds (str): Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity. +optional.. [optional]
list_options_limit (str): limit is a maximum number of responses to return for a list call. If more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.. [optional]
list_options_continue (str): The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \"next key\". This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.. [optional]
+ list_options_send_initial_events (bool): `sendInitialEvents=true` may be set together with `watch=true`. In that case, the watch stream will begin with synthetic events to produce the current state of objects in the collection. Once all such events have been sent, a synthetic \"Bookmark\" event will be sent. The bookmark will report the ResourceVersion (RV) corresponding to the set of objects, and be marked with `\"io.k8s.initial-events-end\": \"true\"` annotation. Afterwards, the watch stream will proceed as usual, sending watch events corresponding to changes (subsequent to the RV) to objects watched. When `sendInitialEvents` option is set, we require `resourceVersionMatch` option to also be set. The semantic of the watch request is as following: - `resourceVersionMatch` = NotOlderThan is interpreted as \"data at least as new as the provided `resourceVersion`\" and the bookmark event is send when the state is synced to a `resourceVersion` at least as fresh as the one provided by the ListOptions. If `resourceVersion` is unset, this is interpreted as \"consistent read\" and the bookmark event is send when the state is synced at least to the moment when request started being processed. - `resourceVersionMatch` set to any other value or unset Invalid error is returned. Defaults to true if `resourceVersion=\"\"` or `resourceVersion=\"0\"` (for backward compatibility reasons) and to false otherwise. +optional. [optional]
_return_http_data_only (bool): response data without head status
code and headers. Default is True.
_preload_content (bool): if False, the urllib3.HTTPResponse object
@@ -1159,6 +1170,7 @@ def watch_event_sources(
list_options_timeout_seconds (str): Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity. +optional.. [optional]
list_options_limit (str): limit is a maximum number of responses to return for a list call. If more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.. [optional]
list_options_continue (str): The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \"next key\". This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.. [optional]
+ list_options_send_initial_events (bool): `sendInitialEvents=true` may be set together with `watch=true`. In that case, the watch stream will begin with synthetic events to produce the current state of objects in the collection. Once all such events have been sent, a synthetic \"Bookmark\" event will be sent. The bookmark will report the ResourceVersion (RV) corresponding to the set of objects, and be marked with `\"io.k8s.initial-events-end\": \"true\"` annotation. Afterwards, the watch stream will proceed as usual, sending watch events corresponding to changes (subsequent to the RV) to objects watched. When `sendInitialEvents` option is set, we require `resourceVersionMatch` option to also be set. The semantic of the watch request is as following: - `resourceVersionMatch` = NotOlderThan is interpreted as \"data at least as new as the provided `resourceVersion`\" and the bookmark event is send when the state is synced to a `resourceVersion` at least as fresh as the one provided by the ListOptions. If `resourceVersion` is unset, this is interpreted as \"consistent read\" and the bookmark event is send when the state is synced at least to the moment when request started being processed. - `resourceVersionMatch` set to any other value or unset Invalid error is returned. Defaults to true if `resourceVersion=\"\"` or `resourceVersion=\"0\"` (for backward compatibility reasons) and to false otherwise. +optional. [optional]
_return_http_data_only (bool): response data without head status
code and headers. Default is True.
_preload_content (bool): if False, the urllib3.HTTPResponse object
diff --git a/sdks/python/client/argo_workflows/api/sensor_service_api.py b/sdks/python/client/argo_workflows/api/sensor_service_api.py
index c8e7d89c762b..698b773e7826 100644
--- a/sdks/python/client/argo_workflows/api/sensor_service_api.py
+++ b/sdks/python/client/argo_workflows/api/sensor_service_api.py
@@ -272,6 +272,7 @@ def __init__(self, api_client=None):
'list_options_timeout_seconds',
'list_options_limit',
'list_options_continue',
+ 'list_options_send_initial_events',
],
'required': [
'namespace',
@@ -309,6 +310,8 @@ def __init__(self, api_client=None):
(str,),
'list_options_continue':
(str,),
+ 'list_options_send_initial_events':
+ (bool,),
},
'attribute_map': {
'namespace': 'namespace',
@@ -321,6 +324,7 @@ def __init__(self, api_client=None):
'list_options_timeout_seconds': 'listOptions.timeoutSeconds',
'list_options_limit': 'listOptions.limit',
'list_options_continue': 'listOptions.continue',
+ 'list_options_send_initial_events': 'listOptions.sendInitialEvents',
},
'location_map': {
'namespace': 'path',
@@ -333,6 +337,7 @@ def __init__(self, api_client=None):
'list_options_timeout_seconds': 'query',
'list_options_limit': 'query',
'list_options_continue': 'query',
+ 'list_options_send_initial_events': 'query',
},
'collection_format_map': {
}
@@ -548,6 +553,7 @@ def __init__(self, api_client=None):
'list_options_timeout_seconds',
'list_options_limit',
'list_options_continue',
+ 'list_options_send_initial_events',
],
'required': [
'namespace',
@@ -585,6 +591,8 @@ def __init__(self, api_client=None):
(str,),
'list_options_continue':
(str,),
+ 'list_options_send_initial_events':
+ (bool,),
},
'attribute_map': {
'namespace': 'namespace',
@@ -597,6 +605,7 @@ def __init__(self, api_client=None):
'list_options_timeout_seconds': 'listOptions.timeoutSeconds',
'list_options_limit': 'listOptions.limit',
'list_options_continue': 'listOptions.continue',
+ 'list_options_send_initial_events': 'listOptions.sendInitialEvents',
},
'location_map': {
'namespace': 'path',
@@ -609,6 +618,7 @@ def __init__(self, api_client=None):
'list_options_timeout_seconds': 'query',
'list_options_limit': 'query',
'list_options_continue': 'query',
+ 'list_options_send_initial_events': 'query',
},
'collection_format_map': {
}
@@ -727,7 +737,7 @@ def delete_sensor(
delete_options_preconditions_resource_version (str): Specifies the target ResourceVersion +optional.. [optional]
delete_options_orphan_dependents (bool): Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both. +optional.. [optional]
delete_options_propagation_policy (str): Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy. Acceptable values are: 'Orphan' - orphan the dependents; 'Background' - allow the garbage collector to delete the dependents in the background; 'Foreground' - a cascading policy that deletes all dependents in the foreground. +optional.. [optional]
- delete_options_dry_run ([str]): When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed +optional.. [optional]
+ delete_options_dry_run ([str]): When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed +optional +listType=atomic.. [optional]
_return_http_data_only (bool): response data without head status
code and headers. Default is True.
_preload_content (bool): if False, the urllib3.HTTPResponse object
@@ -898,6 +908,7 @@ def list_sensors(
list_options_timeout_seconds (str): Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity. +optional.. [optional]
list_options_limit (str): limit is a maximum number of responses to return for a list call. If more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.. [optional]
list_options_continue (str): The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \"next key\". This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.. [optional]
+ list_options_send_initial_events (bool): `sendInitialEvents=true` may be set together with `watch=true`. In that case, the watch stream will begin with synthetic events to produce the current state of objects in the collection. Once all such events have been sent, a synthetic \"Bookmark\" event will be sent. The bookmark will report the ResourceVersion (RV) corresponding to the set of objects, and be marked with `\"io.k8s.initial-events-end\": \"true\"` annotation. Afterwards, the watch stream will proceed as usual, sending watch events corresponding to changes (subsequent to the RV) to objects watched. When `sendInitialEvents` option is set, we require `resourceVersionMatch` option to also be set. The semantic of the watch request is as following: - `resourceVersionMatch` = NotOlderThan is interpreted as \"data at least as new as the provided `resourceVersion`\" and the bookmark event is send when the state is synced to a `resourceVersion` at least as fresh as the one provided by the ListOptions. If `resourceVersion` is unset, this is interpreted as \"consistent read\" and the bookmark event is send when the state is synced at least to the moment when request started being processed. - `resourceVersionMatch` set to any other value or unset Invalid error is returned. Defaults to true if `resourceVersion=\"\"` or `resourceVersion=\"0\"` (for backward compatibility reasons) and to false otherwise. +optional. [optional]
_return_http_data_only (bool): response data without head status
code and headers. Default is True.
_preload_content (bool): if False, the urllib3.HTTPResponse object
@@ -1159,6 +1170,7 @@ def watch_sensors(
list_options_timeout_seconds (str): Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity. +optional.. [optional]
list_options_limit (str): limit is a maximum number of responses to return for a list call. If more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.. [optional]
list_options_continue (str): The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \"next key\". This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.. [optional]
+ list_options_send_initial_events (bool): `sendInitialEvents=true` may be set together with `watch=true`. In that case, the watch stream will begin with synthetic events to produce the current state of objects in the collection. Once all such events have been sent, a synthetic \"Bookmark\" event will be sent. The bookmark will report the ResourceVersion (RV) corresponding to the set of objects, and be marked with `\"io.k8s.initial-events-end\": \"true\"` annotation. Afterwards, the watch stream will proceed as usual, sending watch events corresponding to changes (subsequent to the RV) to objects watched. When `sendInitialEvents` option is set, we require `resourceVersionMatch` option to also be set. The semantic of the watch request is as following: - `resourceVersionMatch` = NotOlderThan is interpreted as \"data at least as new as the provided `resourceVersion`\" and the bookmark event is send when the state is synced to a `resourceVersion` at least as fresh as the one provided by the ListOptions. If `resourceVersion` is unset, this is interpreted as \"consistent read\" and the bookmark event is send when the state is synced at least to the moment when request started being processed. - `resourceVersionMatch` set to any other value or unset Invalid error is returned. Defaults to true if `resourceVersion=\"\"` or `resourceVersion=\"0\"` (for backward compatibility reasons) and to false otherwise. +optional. [optional]
_return_http_data_only (bool): response data without head status
code and headers. Default is True.
_preload_content (bool): if False, the urllib3.HTTPResponse object
diff --git a/sdks/python/client/argo_workflows/api/workflow_service_api.py b/sdks/python/client/argo_workflows/api/workflow_service_api.py
index 838e3545d1b9..29d73f0bac40 100644
--- a/sdks/python/client/argo_workflows/api/workflow_service_api.py
+++ b/sdks/python/client/argo_workflows/api/workflow_service_api.py
@@ -349,7 +349,9 @@ def __init__(self, api_client=None):
'list_options_timeout_seconds',
'list_options_limit',
'list_options_continue',
+ 'list_options_send_initial_events',
'fields',
+ 'name_filter',
],
'required': [
'namespace',
@@ -387,8 +389,12 @@ def __init__(self, api_client=None):
(str,),
'list_options_continue':
(str,),
+ 'list_options_send_initial_events':
+ (bool,),
'fields':
(str,),
+ 'name_filter':
+ (str,),
},
'attribute_map': {
'namespace': 'namespace',
@@ -401,7 +407,9 @@ def __init__(self, api_client=None):
'list_options_timeout_seconds': 'listOptions.timeoutSeconds',
'list_options_limit': 'listOptions.limit',
'list_options_continue': 'listOptions.continue',
+ 'list_options_send_initial_events': 'listOptions.sendInitialEvents',
'fields': 'fields',
+ 'name_filter': 'nameFilter',
},
'location_map': {
'namespace': 'path',
@@ -414,7 +422,9 @@ def __init__(self, api_client=None):
'list_options_timeout_seconds': 'query',
'list_options_limit': 'query',
'list_options_continue': 'query',
+ 'list_options_send_initial_events': 'query',
'fields': 'query',
+ 'name_filter': 'query',
},
'collection_format_map': {
}
@@ -1079,6 +1089,7 @@ def __init__(self, api_client=None):
'list_options_timeout_seconds',
'list_options_limit',
'list_options_continue',
+ 'list_options_send_initial_events',
],
'required': [
'namespace',
@@ -1116,6 +1127,8 @@ def __init__(self, api_client=None):
(str,),
'list_options_continue':
(str,),
+ 'list_options_send_initial_events':
+ (bool,),
},
'attribute_map': {
'namespace': 'namespace',
@@ -1128,6 +1141,7 @@ def __init__(self, api_client=None):
'list_options_timeout_seconds': 'listOptions.timeoutSeconds',
'list_options_limit': 'listOptions.limit',
'list_options_continue': 'listOptions.continue',
+ 'list_options_send_initial_events': 'listOptions.sendInitialEvents',
},
'location_map': {
'namespace': 'path',
@@ -1140,6 +1154,7 @@ def __init__(self, api_client=None):
'list_options_timeout_seconds': 'query',
'list_options_limit': 'query',
'list_options_continue': 'query',
+ 'list_options_send_initial_events': 'query',
},
'collection_format_map': {
}
@@ -1175,6 +1190,7 @@ def __init__(self, api_client=None):
'list_options_timeout_seconds',
'list_options_limit',
'list_options_continue',
+ 'list_options_send_initial_events',
'fields',
],
'required': [
@@ -1213,6 +1229,8 @@ def __init__(self, api_client=None):
(str,),
'list_options_continue':
(str,),
+ 'list_options_send_initial_events':
+ (bool,),
'fields':
(str,),
},
@@ -1227,6 +1245,7 @@ def __init__(self, api_client=None):
'list_options_timeout_seconds': 'listOptions.timeoutSeconds',
'list_options_limit': 'listOptions.limit',
'list_options_continue': 'listOptions.continue',
+ 'list_options_send_initial_events': 'listOptions.sendInitialEvents',
'fields': 'fields',
},
'location_map': {
@@ -1240,6 +1259,7 @@ def __init__(self, api_client=None):
'list_options_timeout_seconds': 'query',
'list_options_limit': 'query',
'list_options_continue': 'query',
+ 'list_options_send_initial_events': 'query',
'fields': 'query',
},
'collection_format_map': {
@@ -1481,7 +1501,7 @@ def delete_workflow(
delete_options_preconditions_resource_version (str): Specifies the target ResourceVersion +optional.. [optional]
delete_options_orphan_dependents (bool): Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both. +optional.. [optional]
delete_options_propagation_policy (str): Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy. Acceptable values are: 'Orphan' - orphan the dependents; 'Background' - allow the garbage collector to delete the dependents in the background; 'Foreground' - a cascading policy that deletes all dependents in the foreground. +optional.. [optional]
- delete_options_dry_run ([str]): When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed +optional.. [optional]
+ delete_options_dry_run ([str]): When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed +optional +listType=atomic.. [optional]
force (bool): [optional]
_return_http_data_only (bool): response data without head status
code and headers. Default is True.
@@ -1735,7 +1755,9 @@ def list_workflows(
list_options_timeout_seconds (str): Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity. +optional.. [optional]
list_options_limit (str): limit is a maximum number of responses to return for a list call. If more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.. [optional]
list_options_continue (str): The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \"next key\". This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.. [optional]
+ list_options_send_initial_events (bool): `sendInitialEvents=true` may be set together with `watch=true`. In that case, the watch stream will begin with synthetic events to produce the current state of objects in the collection. Once all such events have been sent, a synthetic \"Bookmark\" event will be sent. The bookmark will report the ResourceVersion (RV) corresponding to the set of objects, and be marked with `\"io.k8s.initial-events-end\": \"true\"` annotation. Afterwards, the watch stream will proceed as usual, sending watch events corresponding to changes (subsequent to the RV) to objects watched. When `sendInitialEvents` option is set, we require `resourceVersionMatch` option to also be set. The semantic of the watch request is as following: - `resourceVersionMatch` = NotOlderThan is interpreted as \"data at least as new as the provided `resourceVersion`\" and the bookmark event is send when the state is synced to a `resourceVersion` at least as fresh as the one provided by the ListOptions. If `resourceVersion` is unset, this is interpreted as \"consistent read\" and the bookmark event is send when the state is synced at least to the moment when request started being processed. - `resourceVersionMatch` set to any other value or unset Invalid error is returned. Defaults to true if `resourceVersion=\"\"` or `resourceVersion=\"0\"` (for backward compatibility reasons) and to false otherwise. +optional. [optional]
fields (str): Fields to be included or excluded in the response. e.g. \"items.spec,items.status.phase\", \"-items.status.nodes\".. [optional]
+ name_filter (str): Filter type used for name filtering. Exact | Contains | Prefix. Default to Exact.. [optional]
_return_http_data_only (bool): response data without head status
code and headers. Default is True.
_preload_content (bool): if False, the urllib3.HTTPResponse object
@@ -2595,6 +2617,7 @@ def watch_events(
list_options_timeout_seconds (str): Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity. +optional.. [optional]
list_options_limit (str): limit is a maximum number of responses to return for a list call. If more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.. [optional]
list_options_continue (str): The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \"next key\". This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.. [optional]
+ list_options_send_initial_events (bool): `sendInitialEvents=true` may be set together with `watch=true`. In that case, the watch stream will begin with synthetic events to produce the current state of objects in the collection. Once all such events have been sent, a synthetic \"Bookmark\" event will be sent. The bookmark will report the ResourceVersion (RV) corresponding to the set of objects, and be marked with `\"io.k8s.initial-events-end\": \"true\"` annotation. Afterwards, the watch stream will proceed as usual, sending watch events corresponding to changes (subsequent to the RV) to objects watched. When `sendInitialEvents` option is set, we require `resourceVersionMatch` option to also be set. The semantic of the watch request is as following: - `resourceVersionMatch` = NotOlderThan is interpreted as \"data at least as new as the provided `resourceVersion`\" and the bookmark event is send when the state is synced to a `resourceVersion` at least as fresh as the one provided by the ListOptions. If `resourceVersion` is unset, this is interpreted as \"consistent read\" and the bookmark event is send when the state is synced at least to the moment when request started being processed. - `resourceVersionMatch` set to any other value or unset Invalid error is returned. Defaults to true if `resourceVersion=\"\"` or `resourceVersion=\"0\"` (for backward compatibility reasons) and to false otherwise. +optional. [optional]
_return_http_data_only (bool): response data without head status
code and headers. Default is True.
_preload_content (bool): if False, the urllib3.HTTPResponse object
@@ -2681,6 +2704,7 @@ def watch_workflows(
list_options_timeout_seconds (str): Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity. +optional.. [optional]
list_options_limit (str): limit is a maximum number of responses to return for a list call. If more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.. [optional]
list_options_continue (str): The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \"next key\". This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.. [optional]
+ list_options_send_initial_events (bool): `sendInitialEvents=true` may be set together with `watch=true`. In that case, the watch stream will begin with synthetic events to produce the current state of objects in the collection. Once all such events have been sent, a synthetic \"Bookmark\" event will be sent. The bookmark will report the ResourceVersion (RV) corresponding to the set of objects, and be marked with `\"io.k8s.initial-events-end\": \"true\"` annotation. Afterwards, the watch stream will proceed as usual, sending watch events corresponding to changes (subsequent to the RV) to objects watched. When `sendInitialEvents` option is set, we require `resourceVersionMatch` option to also be set. The semantic of the watch request is as following: - `resourceVersionMatch` = NotOlderThan is interpreted as \"data at least as new as the provided `resourceVersion`\" and the bookmark event is send when the state is synced to a `resourceVersion` at least as fresh as the one provided by the ListOptions. If `resourceVersion` is unset, this is interpreted as \"consistent read\" and the bookmark event is send when the state is synced at least to the moment when request started being processed. - `resourceVersionMatch` set to any other value or unset Invalid error is returned. Defaults to true if `resourceVersion=\"\"` or `resourceVersion=\"0\"` (for backward compatibility reasons) and to false otherwise. +optional. [optional]
fields (str): [optional]
_return_http_data_only (bool): response data without head status
code and headers. Default is True.
diff --git a/sdks/python/client/argo_workflows/api/workflow_template_service_api.py b/sdks/python/client/argo_workflows/api/workflow_template_service_api.py
index 3b01cc57210a..b68d7bc92408 100644
--- a/sdks/python/client/argo_workflows/api/workflow_template_service_api.py
+++ b/sdks/python/client/argo_workflows/api/workflow_template_service_api.py
@@ -330,6 +330,7 @@ def __init__(self, api_client=None):
'list_options_timeout_seconds',
'list_options_limit',
'list_options_continue',
+ 'list_options_send_initial_events',
],
'required': [
'namespace',
@@ -369,6 +370,8 @@ def __init__(self, api_client=None):
(str,),
'list_options_continue':
(str,),
+ 'list_options_send_initial_events':
+ (bool,),
},
'attribute_map': {
'namespace': 'namespace',
@@ -382,6 +385,7 @@ def __init__(self, api_client=None):
'list_options_timeout_seconds': 'listOptions.timeoutSeconds',
'list_options_limit': 'listOptions.limit',
'list_options_continue': 'listOptions.continue',
+ 'list_options_send_initial_events': 'listOptions.sendInitialEvents',
},
'location_map': {
'namespace': 'path',
@@ -395,6 +399,7 @@ def __init__(self, api_client=None):
'list_options_timeout_seconds': 'query',
'list_options_limit': 'query',
'list_options_continue': 'query',
+ 'list_options_send_initial_events': 'query',
},
'collection_format_map': {
}
@@ -577,7 +582,7 @@ def delete_workflow_template(
delete_options_preconditions_resource_version (str): Specifies the target ResourceVersion +optional.. [optional]
delete_options_orphan_dependents (bool): Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both. +optional.. [optional]
delete_options_propagation_policy (str): Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy. Acceptable values are: 'Orphan' - orphan the dependents; 'Background' - allow the garbage collector to delete the dependents in the background; 'Foreground' - a cascading policy that deletes all dependents in the foreground. +optional.. [optional]
- delete_options_dry_run ([str]): When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed +optional.. [optional]
+ delete_options_dry_run ([str]): When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed +optional +listType=atomic.. [optional]
_return_http_data_only (bool): response data without head status
code and headers. Default is True.
_preload_content (bool): if False, the urllib3.HTTPResponse object
@@ -830,6 +835,7 @@ def list_workflow_templates(
list_options_timeout_seconds (str): Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity. +optional.. [optional]
list_options_limit (str): limit is a maximum number of responses to return for a list call. If more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true. The server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.. [optional]
list_options_continue (str): The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \"next key\". This field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.. [optional]
+ list_options_send_initial_events (bool): `sendInitialEvents=true` may be set together with `watch=true`. In that case, the watch stream will begin with synthetic events to produce the current state of objects in the collection. Once all such events have been sent, a synthetic \"Bookmark\" event will be sent. The bookmark will report the ResourceVersion (RV) corresponding to the set of objects, and be marked with `\"io.k8s.initial-events-end\": \"true\"` annotation. Afterwards, the watch stream will proceed as usual, sending watch events corresponding to changes (subsequent to the RV) to objects watched. When `sendInitialEvents` option is set, we require `resourceVersionMatch` option to also be set. The semantic of the watch request is as following: - `resourceVersionMatch` = NotOlderThan is interpreted as \"data at least as new as the provided `resourceVersion`\" and the bookmark event is send when the state is synced to a `resourceVersion` at least as fresh as the one provided by the ListOptions. If `resourceVersion` is unset, this is interpreted as \"consistent read\" and the bookmark event is send when the state is synced at least to the moment when request started being processed. - `resourceVersionMatch` set to any other value or unset Invalid error is returned. Defaults to true if `resourceVersion=\"\"` or `resourceVersion=\"0\"` (for backward compatibility reasons) and to false otherwise. +optional. [optional]
_return_http_data_only (bool): response data without head status
code and headers. Default is True.
_preload_content (bool): if False, the urllib3.HTTPResponse object
diff --git a/sdks/python/client/argo_workflows/model/app_armor_profile.py b/sdks/python/client/argo_workflows/model/app_armor_profile.py
new file mode 100644
index 000000000000..d4b1708363a7
--- /dev/null
+++ b/sdks/python/client/argo_workflows/model/app_armor_profile.py
@@ -0,0 +1,265 @@
+"""
+ Argo Workflows API
+
+ Argo Workflows is an open source container-native workflow engine for orchestrating parallel jobs on Kubernetes. For more information, please see https://argo-workflows.readthedocs.io/en/latest/ # noqa: E501
+
+ The version of the OpenAPI document: VERSION
+ Generated by: https://openapi-generator.tech
+"""
+
+
+import re # noqa: F401
+import sys # noqa: F401
+
+from argo_workflows.model_utils import ( # noqa: F401
+ ApiTypeError,
+ ModelComposed,
+ ModelNormal,
+ ModelSimple,
+ cached_property,
+ change_keys_js_to_python,
+ convert_js_args_to_python_args,
+ date,
+ datetime,
+ file_type,
+ none_type,
+ validate_get_composed_info,
+ OpenApiModel
+)
+from argo_workflows.exceptions import ApiAttributeError
+
+
+
+class AppArmorProfile(ModelNormal):
+ """NOTE: This class is auto generated by OpenAPI Generator.
+ Ref: https://openapi-generator.tech
+
+ Do not edit the class manually.
+
+ Attributes:
+ allowed_values (dict): The key is the tuple path to the attribute
+ and the for var_name this is (var_name,). The value is a dict
+ with a capitalized key describing the allowed value and an allowed
+ value. These dicts store the allowed enum values.
+ attribute_map (dict): The key is attribute name
+ and the value is json key in definition.
+ discriminator_value_class_map (dict): A dict to go from the discriminator
+ variable value to the discriminator class name.
+ validations (dict): The key is the tuple path to the attribute
+ and the for var_name this is (var_name,). The value is a dict
+ that stores validations for max_length, min_length, max_items,
+ min_items, exclusive_maximum, inclusive_maximum, exclusive_minimum,
+ inclusive_minimum, and regex.
+ additional_properties_type (tuple): A tuple of classes accepted
+ as additional properties values.
+ """
+
+ allowed_values = {
+ }
+
+ validations = {
+ }
+
+ @cached_property
+ def additional_properties_type():
+ """
+ This must be a method because a model may have properties that are
+ of type self, this must run after the class is loaded
+ """
+ return (bool, date, datetime, dict, float, int, list, str, none_type,) # noqa: E501
+
+ _nullable = False
+
+ @cached_property
+ def openapi_types():
+ """
+ This must be a method because a model may have properties that are
+ of type self, this must run after the class is loaded
+
+ Returns
+ openapi_types (dict): The key is attribute name
+ and the value is attribute type.
+ """
+ return {
+ 'type': (str,), # noqa: E501
+ 'localhost_profile': (str,), # noqa: E501
+ }
+
+ @cached_property
+ def discriminator():
+ return None
+
+
+ attribute_map = {
+ 'type': 'type', # noqa: E501
+ 'localhost_profile': 'localhostProfile', # noqa: E501
+ }
+
+ read_only_vars = {
+ }
+
+ _composed_schemas = {}
+
+ @classmethod
+ @convert_js_args_to_python_args
+ def _from_openapi_data(cls, type, *args, **kwargs): # noqa: E501
+ """AppArmorProfile - a model defined in OpenAPI
+
+ Args:
+ type (str): type indicates which kind of AppArmor profile will be applied. Valid options are: Localhost - a profile pre-loaded on the node. RuntimeDefault - the container runtime's default profile. Unconfined - no AppArmor enforcement.
+
+ Keyword Args:
+ _check_type (bool): if True, values for parameters in openapi_types
+ will be type checked and a TypeError will be
+ raised if the wrong type is input.
+ Defaults to True
+ _path_to_item (tuple/list): This is a list of keys or values to
+ drill down to the model in received_data
+ when deserializing a response
+ _spec_property_naming (bool): True if the variable names in the input data
+ are serialized names, as specified in the OpenAPI document.
+ False if the variable names in the input data
+ are pythonic names, e.g. snake case (default)
+ _configuration (Configuration): the instance to use when
+ deserializing a file_type parameter.
+ If passed, type conversion is attempted
+ If omitted no type conversion is done.
+ _visited_composed_classes (tuple): This stores a tuple of
+ classes that we have traveled through so that
+ if we see that class again we will not use its
+ discriminator again.
+ When traveling through a discriminator, the
+ composed schema that is
+ is traveled through is added to this set.
+ For example if Animal has a discriminator
+ petType and we pass in "Dog", and the class Dog
+ allOf includes Animal, we move through Animal
+ once using the discriminator, and pick Dog.
+ Then in Dog, we will make an instance of the
+ Animal class but this time we won't travel
+ through its discriminator because we passed in
+ _visited_composed_classes = (Animal,)
+ localhost_profile (str): localhostProfile indicates a profile loaded on the node that should be used. The profile must be preconfigured on the node to work. Must match the loaded name of the profile. Must be set if and only if type is \"Localhost\".. [optional] # noqa: E501
+ """
+
+ _check_type = kwargs.pop('_check_type', True)
+ _spec_property_naming = kwargs.pop('_spec_property_naming', False)
+ _path_to_item = kwargs.pop('_path_to_item', ())
+ _configuration = kwargs.pop('_configuration', None)
+ _visited_composed_classes = kwargs.pop('_visited_composed_classes', ())
+
+ self = super(OpenApiModel, cls).__new__(cls)
+
+ if args:
+ raise ApiTypeError(
+ "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % (
+ args,
+ self.__class__.__name__,
+ ),
+ path_to_item=_path_to_item,
+ valid_classes=(self.__class__,),
+ )
+
+ self._data_store = {}
+ self._check_type = _check_type
+ self._spec_property_naming = _spec_property_naming
+ self._path_to_item = _path_to_item
+ self._configuration = _configuration
+ self._visited_composed_classes = _visited_composed_classes + (self.__class__,)
+
+ self.type = type
+ for var_name, var_value in kwargs.items():
+ if var_name not in self.attribute_map and \
+ self._configuration is not None and \
+ self._configuration.discard_unknown_keys and \
+ self.additional_properties_type is None:
+ # discard variable.
+ continue
+ setattr(self, var_name, var_value)
+ return self
+
+ required_properties = set([
+ '_data_store',
+ '_check_type',
+ '_spec_property_naming',
+ '_path_to_item',
+ '_configuration',
+ '_visited_composed_classes',
+ ])
+
+ @convert_js_args_to_python_args
+ def __init__(self, type, *args, **kwargs): # noqa: E501
+ """AppArmorProfile - a model defined in OpenAPI
+
+ Args:
+ type (str): type indicates which kind of AppArmor profile will be applied. Valid options are: Localhost - a profile pre-loaded on the node. RuntimeDefault - the container runtime's default profile. Unconfined - no AppArmor enforcement.
+
+ Keyword Args:
+ _check_type (bool): if True, values for parameters in openapi_types
+ will be type checked and a TypeError will be
+ raised if the wrong type is input.
+ Defaults to True
+ _path_to_item (tuple/list): This is a list of keys or values to
+ drill down to the model in received_data
+ when deserializing a response
+ _spec_property_naming (bool): True if the variable names in the input data
+ are serialized names, as specified in the OpenAPI document.
+ False if the variable names in the input data
+ are pythonic names, e.g. snake case (default)
+ _configuration (Configuration): the instance to use when
+ deserializing a file_type parameter.
+ If passed, type conversion is attempted
+ If omitted no type conversion is done.
+ _visited_composed_classes (tuple): This stores a tuple of
+ classes that we have traveled through so that
+ if we see that class again we will not use its
+ discriminator again.
+ When traveling through a discriminator, the
+ composed schema that is
+ is traveled through is added to this set.
+ For example if Animal has a discriminator
+ petType and we pass in "Dog", and the class Dog
+ allOf includes Animal, we move through Animal
+ once using the discriminator, and pick Dog.
+ Then in Dog, we will make an instance of the
+ Animal class but this time we won't travel
+ through its discriminator because we passed in
+ _visited_composed_classes = (Animal,)
+ localhost_profile (str): localhostProfile indicates a profile loaded on the node that should be used. The profile must be preconfigured on the node to work. Must match the loaded name of the profile. Must be set if and only if type is \"Localhost\".. [optional] # noqa: E501
+ """
+
+ _check_type = kwargs.pop('_check_type', True)
+ _spec_property_naming = kwargs.pop('_spec_property_naming', False)
+ _path_to_item = kwargs.pop('_path_to_item', ())
+ _configuration = kwargs.pop('_configuration', None)
+ _visited_composed_classes = kwargs.pop('_visited_composed_classes', ())
+
+ if args:
+ raise ApiTypeError(
+ "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % (
+ args,
+ self.__class__.__name__,
+ ),
+ path_to_item=_path_to_item,
+ valid_classes=(self.__class__,),
+ )
+
+ self._data_store = {}
+ self._check_type = _check_type
+ self._spec_property_naming = _spec_property_naming
+ self._path_to_item = _path_to_item
+ self._configuration = _configuration
+ self._visited_composed_classes = _visited_composed_classes + (self.__class__,)
+
+ self.type = type
+ for var_name, var_value in kwargs.items():
+ if var_name not in self.attribute_map and \
+ self._configuration is not None and \
+ self._configuration.discard_unknown_keys and \
+ self.additional_properties_type is None:
+ # discard variable.
+ continue
+ setattr(self, var_name, var_value)
+ if var_name in self.read_only_vars:
+ raise ApiAttributeError(f"`{var_name}` is a read-only attribute. Use `from_openapi_data` to instantiate "
+ f"class with read only attributes.")
diff --git a/sdks/python/client/argo_workflows/model/aws_elastic_block_store_volume_source.py b/sdks/python/client/argo_workflows/model/aws_elastic_block_store_volume_source.py
index 2e920aa7dcd5..e7ddf91b2f02 100644
--- a/sdks/python/client/argo_workflows/model/aws_elastic_block_store_volume_source.py
+++ b/sdks/python/client/argo_workflows/model/aws_elastic_block_store_volume_source.py
@@ -110,7 +110,7 @@ def _from_openapi_data(cls, volume_id, *args, **kwargs): # noqa: E501
"""AWSElasticBlockStoreVolumeSource - a model defined in OpenAPI
Args:
- volume_id (str): Unique ID of the persistent disk resource in AWS (Amazon EBS volume). More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore
+ volume_id (str): volumeID is unique ID of the persistent disk resource in AWS (Amazon EBS volume). More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore
Keyword Args:
_check_type (bool): if True, values for parameters in openapi_types
@@ -143,9 +143,9 @@ def _from_openapi_data(cls, volume_id, *args, **kwargs): # noqa: E501
Animal class but this time we won't travel
through its discriminator because we passed in
_visited_composed_classes = (Animal,)
- fs_type (str): Filesystem type of the volume that you want to mount. Tip: Ensure that the filesystem type is supported by the host operating system. Examples: \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified. More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore. [optional] # noqa: E501
- partition (int): The partition in the volume that you want to mount. If omitted, the default is to mount by volume name. Examples: For volume /dev/sda1, you specify the partition as \"1\". Similarly, the volume partition for /dev/sda is \"0\" (or you can leave the property empty).. [optional] # noqa: E501
- read_only (bool): Specify \"true\" to force and set the ReadOnly property in VolumeMounts to \"true\". If omitted, the default is \"false\". More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore. [optional] # noqa: E501
+ fs_type (str): fsType is the filesystem type of the volume that you want to mount. Tip: Ensure that the filesystem type is supported by the host operating system. Examples: \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified. More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore. [optional] # noqa: E501
+ partition (int): partition is the partition in the volume that you want to mount. If omitted, the default is to mount by volume name. Examples: For volume /dev/sda1, you specify the partition as \"1\". Similarly, the volume partition for /dev/sda is \"0\" (or you can leave the property empty).. [optional] # noqa: E501
+ read_only (bool): readOnly value true will force the readOnly setting in VolumeMounts. More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore. [optional] # noqa: E501
"""
_check_type = kwargs.pop('_check_type', True)
@@ -198,7 +198,7 @@ def __init__(self, volume_id, *args, **kwargs): # noqa: E501
"""AWSElasticBlockStoreVolumeSource - a model defined in OpenAPI
Args:
- volume_id (str): Unique ID of the persistent disk resource in AWS (Amazon EBS volume). More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore
+ volume_id (str): volumeID is unique ID of the persistent disk resource in AWS (Amazon EBS volume). More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore
Keyword Args:
_check_type (bool): if True, values for parameters in openapi_types
@@ -231,9 +231,9 @@ def __init__(self, volume_id, *args, **kwargs): # noqa: E501
Animal class but this time we won't travel
through its discriminator because we passed in
_visited_composed_classes = (Animal,)
- fs_type (str): Filesystem type of the volume that you want to mount. Tip: Ensure that the filesystem type is supported by the host operating system. Examples: \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified. More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore. [optional] # noqa: E501
- partition (int): The partition in the volume that you want to mount. If omitted, the default is to mount by volume name. Examples: For volume /dev/sda1, you specify the partition as \"1\". Similarly, the volume partition for /dev/sda is \"0\" (or you can leave the property empty).. [optional] # noqa: E501
- read_only (bool): Specify \"true\" to force and set the ReadOnly property in VolumeMounts to \"true\". If omitted, the default is \"false\". More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore. [optional] # noqa: E501
+ fs_type (str): fsType is the filesystem type of the volume that you want to mount. Tip: Ensure that the filesystem type is supported by the host operating system. Examples: \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified. More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore. [optional] # noqa: E501
+ partition (int): partition is the partition in the volume that you want to mount. If omitted, the default is to mount by volume name. Examples: For volume /dev/sda1, you specify the partition as \"1\". Similarly, the volume partition for /dev/sda is \"0\" (or you can leave the property empty).. [optional] # noqa: E501
+ read_only (bool): readOnly value true will force the readOnly setting in VolumeMounts. More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore. [optional] # noqa: E501
"""
_check_type = kwargs.pop('_check_type', True)
diff --git a/sdks/python/client/argo_workflows/model/azure_disk_volume_source.py b/sdks/python/client/argo_workflows/model/azure_disk_volume_source.py
index 17ee5b9f0c8e..2d757f74dfe7 100644
--- a/sdks/python/client/argo_workflows/model/azure_disk_volume_source.py
+++ b/sdks/python/client/argo_workflows/model/azure_disk_volume_source.py
@@ -114,8 +114,8 @@ def _from_openapi_data(cls, disk_name, disk_uri, *args, **kwargs): # noqa: E501
"""AzureDiskVolumeSource - a model defined in OpenAPI
Args:
- disk_name (str): The Name of the data disk in the blob storage
- disk_uri (str): The URI the data disk in the blob storage
+ disk_name (str): diskName is the Name of the data disk in the blob storage
+ disk_uri (str): diskURI is the URI of data disk in the blob storage
Keyword Args:
_check_type (bool): if True, values for parameters in openapi_types
@@ -148,10 +148,10 @@ def _from_openapi_data(cls, disk_name, disk_uri, *args, **kwargs): # noqa: E501
Animal class but this time we won't travel
through its discriminator because we passed in
_visited_composed_classes = (Animal,)
- caching_mode (str): Host Caching mode: None, Read Only, Read Write.. [optional] # noqa: E501
- fs_type (str): Filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified.. [optional] # noqa: E501
- kind (str): Expected values Shared: multiple blob disks per storage account Dedicated: single blob disk per storage account Managed: azure managed data disk (only in managed availability set). defaults to shared. [optional] # noqa: E501
- read_only (bool): Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts.. [optional] # noqa: E501
+ caching_mode (str): cachingMode is the Host Caching mode: None, Read Only, Read Write.. [optional] # noqa: E501
+ fs_type (str): fsType is Filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified.. [optional] # noqa: E501
+ kind (str): kind expected values are Shared: multiple blob disks per storage account Dedicated: single blob disk per storage account Managed: azure managed data disk (only in managed availability set). defaults to shared. [optional] # noqa: E501
+ read_only (bool): readOnly Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts.. [optional] # noqa: E501
"""
_check_type = kwargs.pop('_check_type', True)
@@ -205,8 +205,8 @@ def __init__(self, disk_name, disk_uri, *args, **kwargs): # noqa: E501
"""AzureDiskVolumeSource - a model defined in OpenAPI
Args:
- disk_name (str): The Name of the data disk in the blob storage
- disk_uri (str): The URI the data disk in the blob storage
+ disk_name (str): diskName is the Name of the data disk in the blob storage
+ disk_uri (str): diskURI is the URI of data disk in the blob storage
Keyword Args:
_check_type (bool): if True, values for parameters in openapi_types
@@ -239,10 +239,10 @@ def __init__(self, disk_name, disk_uri, *args, **kwargs): # noqa: E501
Animal class but this time we won't travel
through its discriminator because we passed in
_visited_composed_classes = (Animal,)
- caching_mode (str): Host Caching mode: None, Read Only, Read Write.. [optional] # noqa: E501
- fs_type (str): Filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified.. [optional] # noqa: E501
- kind (str): Expected values Shared: multiple blob disks per storage account Dedicated: single blob disk per storage account Managed: azure managed data disk (only in managed availability set). defaults to shared. [optional] # noqa: E501
- read_only (bool): Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts.. [optional] # noqa: E501
+ caching_mode (str): cachingMode is the Host Caching mode: None, Read Only, Read Write.. [optional] # noqa: E501
+ fs_type (str): fsType is Filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified.. [optional] # noqa: E501
+ kind (str): kind expected values are Shared: multiple blob disks per storage account Dedicated: single blob disk per storage account Managed: azure managed data disk (only in managed availability set). defaults to shared. [optional] # noqa: E501
+ read_only (bool): readOnly Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts.. [optional] # noqa: E501
"""
_check_type = kwargs.pop('_check_type', True)
diff --git a/sdks/python/client/argo_workflows/model/azure_file_volume_source.py b/sdks/python/client/argo_workflows/model/azure_file_volume_source.py
index 506429512cb4..a2b51193caf6 100644
--- a/sdks/python/client/argo_workflows/model/azure_file_volume_source.py
+++ b/sdks/python/client/argo_workflows/model/azure_file_volume_source.py
@@ -108,8 +108,8 @@ def _from_openapi_data(cls, secret_name, share_name, *args, **kwargs): # noqa:
"""AzureFileVolumeSource - a model defined in OpenAPI
Args:
- secret_name (str): the name of secret that contains Azure Storage Account Name and Key
- share_name (str): Share Name
+ secret_name (str): secretName is the name of secret that contains Azure Storage Account Name and Key
+ share_name (str): shareName is the azure share Name
Keyword Args:
_check_type (bool): if True, values for parameters in openapi_types
@@ -142,7 +142,7 @@ def _from_openapi_data(cls, secret_name, share_name, *args, **kwargs): # noqa:
Animal class but this time we won't travel
through its discriminator because we passed in
_visited_composed_classes = (Animal,)
- read_only (bool): Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts.. [optional] # noqa: E501
+ read_only (bool): readOnly defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts.. [optional] # noqa: E501
"""
_check_type = kwargs.pop('_check_type', True)
@@ -196,8 +196,8 @@ def __init__(self, secret_name, share_name, *args, **kwargs): # noqa: E501
"""AzureFileVolumeSource - a model defined in OpenAPI
Args:
- secret_name (str): the name of secret that contains Azure Storage Account Name and Key
- share_name (str): Share Name
+ secret_name (str): secretName is the name of secret that contains Azure Storage Account Name and Key
+ share_name (str): shareName is the azure share Name
Keyword Args:
_check_type (bool): if True, values for parameters in openapi_types
@@ -230,7 +230,7 @@ def __init__(self, secret_name, share_name, *args, **kwargs): # noqa: E501
Animal class but this time we won't travel
through its discriminator because we passed in
_visited_composed_classes = (Animal,)
- read_only (bool): Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts.. [optional] # noqa: E501
+ read_only (bool): readOnly defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts.. [optional] # noqa: E501
"""
_check_type = kwargs.pop('_check_type', True)
diff --git a/sdks/python/client/argo_workflows/model/ceph_fs_volume_source.py b/sdks/python/client/argo_workflows/model/ceph_fs_volume_source.py
index 9c998a222022..1ac3c7ea0db1 100644
--- a/sdks/python/client/argo_workflows/model/ceph_fs_volume_source.py
+++ b/sdks/python/client/argo_workflows/model/ceph_fs_volume_source.py
@@ -120,7 +120,7 @@ def _from_openapi_data(cls, monitors, *args, **kwargs): # noqa: E501
"""CephFSVolumeSource - a model defined in OpenAPI
Args:
- monitors ([str]): Required: Monitors is a collection of Ceph monitors More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it
+ monitors ([str]): monitors is Required: Monitors is a collection of Ceph monitors More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it
Keyword Args:
_check_type (bool): if True, values for parameters in openapi_types
@@ -153,11 +153,11 @@ def _from_openapi_data(cls, monitors, *args, **kwargs): # noqa: E501
Animal class but this time we won't travel
through its discriminator because we passed in
_visited_composed_classes = (Animal,)
- path (str): Optional: Used as the mounted root, rather than the full Ceph tree, default is /. [optional] # noqa: E501
- read_only (bool): Optional: Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts. More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it. [optional] # noqa: E501
- secret_file (str): Optional: SecretFile is the path to key ring for User, default is /etc/ceph/user.secret More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it. [optional] # noqa: E501
+ path (str): path is Optional: Used as the mounted root, rather than the full Ceph tree, default is /. [optional] # noqa: E501
+ read_only (bool): readOnly is Optional: Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts. More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it. [optional] # noqa: E501
+ secret_file (str): secretFile is Optional: SecretFile is the path to key ring for User, default is /etc/ceph/user.secret More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it. [optional] # noqa: E501
secret_ref (LocalObjectReference): [optional] # noqa: E501
- user (str): Optional: User is the rados user name, default is admin More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it. [optional] # noqa: E501
+ user (str): user is optional: User is the rados user name, default is admin More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it. [optional] # noqa: E501
"""
_check_type = kwargs.pop('_check_type', True)
@@ -210,7 +210,7 @@ def __init__(self, monitors, *args, **kwargs): # noqa: E501
"""CephFSVolumeSource - a model defined in OpenAPI
Args:
- monitors ([str]): Required: Monitors is a collection of Ceph monitors More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it
+ monitors ([str]): monitors is Required: Monitors is a collection of Ceph monitors More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it
Keyword Args:
_check_type (bool): if True, values for parameters in openapi_types
@@ -243,11 +243,11 @@ def __init__(self, monitors, *args, **kwargs): # noqa: E501
Animal class but this time we won't travel
through its discriminator because we passed in
_visited_composed_classes = (Animal,)
- path (str): Optional: Used as the mounted root, rather than the full Ceph tree, default is /. [optional] # noqa: E501
- read_only (bool): Optional: Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts. More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it. [optional] # noqa: E501
- secret_file (str): Optional: SecretFile is the path to key ring for User, default is /etc/ceph/user.secret More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it. [optional] # noqa: E501
+ path (str): path is Optional: Used as the mounted root, rather than the full Ceph tree, default is /. [optional] # noqa: E501
+ read_only (bool): readOnly is Optional: Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts. More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it. [optional] # noqa: E501
+ secret_file (str): secretFile is Optional: SecretFile is the path to key ring for User, default is /etc/ceph/user.secret More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it. [optional] # noqa: E501
secret_ref (LocalObjectReference): [optional] # noqa: E501
- user (str): Optional: User is the rados user name, default is admin More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it. [optional] # noqa: E501
+ user (str): user is optional: User is the rados user name, default is admin More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it. [optional] # noqa: E501
"""
_check_type = kwargs.pop('_check_type', True)
diff --git a/sdks/python/client/argo_workflows/model/cinder_volume_source.py b/sdks/python/client/argo_workflows/model/cinder_volume_source.py
index fec29d096506..7730c4b7d05f 100644
--- a/sdks/python/client/argo_workflows/model/cinder_volume_source.py
+++ b/sdks/python/client/argo_workflows/model/cinder_volume_source.py
@@ -116,7 +116,7 @@ def _from_openapi_data(cls, volume_id, *args, **kwargs): # noqa: E501
"""CinderVolumeSource - a model defined in OpenAPI
Args:
- volume_id (str): volume id used to identify the volume in cinder. More info: https://examples.k8s.io/mysql-cinder-pd/README.md
+ volume_id (str): volumeID used to identify the volume in cinder. More info: https://examples.k8s.io/mysql-cinder-pd/README.md
Keyword Args:
_check_type (bool): if True, values for parameters in openapi_types
@@ -149,8 +149,8 @@ def _from_openapi_data(cls, volume_id, *args, **kwargs): # noqa: E501
Animal class but this time we won't travel
through its discriminator because we passed in
_visited_composed_classes = (Animal,)
- fs_type (str): Filesystem type to mount. Must be a filesystem type supported by the host operating system. Examples: \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified. More info: https://examples.k8s.io/mysql-cinder-pd/README.md. [optional] # noqa: E501
- read_only (bool): Optional: Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts. More info: https://examples.k8s.io/mysql-cinder-pd/README.md. [optional] # noqa: E501
+ fs_type (str): fsType is the filesystem type to mount. Must be a filesystem type supported by the host operating system. Examples: \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified. More info: https://examples.k8s.io/mysql-cinder-pd/README.md. [optional] # noqa: E501
+ read_only (bool): readOnly defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts. More info: https://examples.k8s.io/mysql-cinder-pd/README.md. [optional] # noqa: E501
secret_ref (LocalObjectReference): [optional] # noqa: E501
"""
@@ -204,7 +204,7 @@ def __init__(self, volume_id, *args, **kwargs): # noqa: E501
"""CinderVolumeSource - a model defined in OpenAPI
Args:
- volume_id (str): volume id used to identify the volume in cinder. More info: https://examples.k8s.io/mysql-cinder-pd/README.md
+ volume_id (str): volumeID used to identify the volume in cinder. More info: https://examples.k8s.io/mysql-cinder-pd/README.md
Keyword Args:
_check_type (bool): if True, values for parameters in openapi_types
@@ -237,8 +237,8 @@ def __init__(self, volume_id, *args, **kwargs): # noqa: E501
Animal class but this time we won't travel
through its discriminator because we passed in
_visited_composed_classes = (Animal,)
- fs_type (str): Filesystem type to mount. Must be a filesystem type supported by the host operating system. Examples: \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified. More info: https://examples.k8s.io/mysql-cinder-pd/README.md. [optional] # noqa: E501
- read_only (bool): Optional: Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts. More info: https://examples.k8s.io/mysql-cinder-pd/README.md. [optional] # noqa: E501
+ fs_type (str): fsType is the filesystem type to mount. Must be a filesystem type supported by the host operating system. Examples: \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified. More info: https://examples.k8s.io/mysql-cinder-pd/README.md. [optional] # noqa: E501
+ read_only (bool): readOnly defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts. More info: https://examples.k8s.io/mysql-cinder-pd/README.md. [optional] # noqa: E501
secret_ref (LocalObjectReference): [optional] # noqa: E501
"""
diff --git a/sdks/python/client/argo_workflows/model/cluster_trust_bundle_projection.py b/sdks/python/client/argo_workflows/model/cluster_trust_bundle_projection.py
new file mode 100644
index 000000000000..2aaae84aa319
--- /dev/null
+++ b/sdks/python/client/argo_workflows/model/cluster_trust_bundle_projection.py
@@ -0,0 +1,283 @@
+"""
+ Argo Workflows API
+
+ Argo Workflows is an open source container-native workflow engine for orchestrating parallel jobs on Kubernetes. For more information, please see https://argo-workflows.readthedocs.io/en/latest/ # noqa: E501
+
+ The version of the OpenAPI document: VERSION
+ Generated by: https://openapi-generator.tech
+"""
+
+
+import re # noqa: F401
+import sys # noqa: F401
+
+from argo_workflows.model_utils import ( # noqa: F401
+ ApiTypeError,
+ ModelComposed,
+ ModelNormal,
+ ModelSimple,
+ cached_property,
+ change_keys_js_to_python,
+ convert_js_args_to_python_args,
+ date,
+ datetime,
+ file_type,
+ none_type,
+ validate_get_composed_info,
+ OpenApiModel
+)
+from argo_workflows.exceptions import ApiAttributeError
+
+
+def lazy_import():
+ from argo_workflows.model.label_selector import LabelSelector
+ globals()['LabelSelector'] = LabelSelector
+
+
+class ClusterTrustBundleProjection(ModelNormal):
+ """NOTE: This class is auto generated by OpenAPI Generator.
+ Ref: https://openapi-generator.tech
+
+ Do not edit the class manually.
+
+ Attributes:
+ allowed_values (dict): The key is the tuple path to the attribute
+ and the for var_name this is (var_name,). The value is a dict
+ with a capitalized key describing the allowed value and an allowed
+ value. These dicts store the allowed enum values.
+ attribute_map (dict): The key is attribute name
+ and the value is json key in definition.
+ discriminator_value_class_map (dict): A dict to go from the discriminator
+ variable value to the discriminator class name.
+ validations (dict): The key is the tuple path to the attribute
+ and the for var_name this is (var_name,). The value is a dict
+ that stores validations for max_length, min_length, max_items,
+ min_items, exclusive_maximum, inclusive_maximum, exclusive_minimum,
+ inclusive_minimum, and regex.
+ additional_properties_type (tuple): A tuple of classes accepted
+ as additional properties values.
+ """
+
+ allowed_values = {
+ }
+
+ validations = {
+ }
+
+ @cached_property
+ def additional_properties_type():
+ """
+ This must be a method because a model may have properties that are
+ of type self, this must run after the class is loaded
+ """
+ lazy_import()
+ return (bool, date, datetime, dict, float, int, list, str, none_type,) # noqa: E501
+
+ _nullable = False
+
+ @cached_property
+ def openapi_types():
+ """
+ This must be a method because a model may have properties that are
+ of type self, this must run after the class is loaded
+
+ Returns
+ openapi_types (dict): The key is attribute name
+ and the value is attribute type.
+ """
+ lazy_import()
+ return {
+ 'path': (str,), # noqa: E501
+ 'label_selector': (LabelSelector,), # noqa: E501
+ 'name': (str,), # noqa: E501
+ 'optional': (bool,), # noqa: E501
+ 'signer_name': (str,), # noqa: E501
+ }
+
+ @cached_property
+ def discriminator():
+ return None
+
+
+ attribute_map = {
+ 'path': 'path', # noqa: E501
+ 'label_selector': 'labelSelector', # noqa: E501
+ 'name': 'name', # noqa: E501
+ 'optional': 'optional', # noqa: E501
+ 'signer_name': 'signerName', # noqa: E501
+ }
+
+ read_only_vars = {
+ }
+
+ _composed_schemas = {}
+
+ @classmethod
+ @convert_js_args_to_python_args
+ def _from_openapi_data(cls, path, *args, **kwargs): # noqa: E501
+ """ClusterTrustBundleProjection - a model defined in OpenAPI
+
+ Args:
+ path (str): Relative path from the volume root to write the bundle.
+
+ Keyword Args:
+ _check_type (bool): if True, values for parameters in openapi_types
+ will be type checked and a TypeError will be
+ raised if the wrong type is input.
+ Defaults to True
+ _path_to_item (tuple/list): This is a list of keys or values to
+ drill down to the model in received_data
+ when deserializing a response
+ _spec_property_naming (bool): True if the variable names in the input data
+ are serialized names, as specified in the OpenAPI document.
+ False if the variable names in the input data
+ are pythonic names, e.g. snake case (default)
+ _configuration (Configuration): the instance to use when
+ deserializing a file_type parameter.
+ If passed, type conversion is attempted
+ If omitted no type conversion is done.
+ _visited_composed_classes (tuple): This stores a tuple of
+ classes that we have traveled through so that
+ if we see that class again we will not use its
+ discriminator again.
+ When traveling through a discriminator, the
+ composed schema that is
+ is traveled through is added to this set.
+ For example if Animal has a discriminator
+ petType and we pass in "Dog", and the class Dog
+ allOf includes Animal, we move through Animal
+ once using the discriminator, and pick Dog.
+ Then in Dog, we will make an instance of the
+ Animal class but this time we won't travel
+ through its discriminator because we passed in
+ _visited_composed_classes = (Animal,)
+ label_selector (LabelSelector): [optional] # noqa: E501
+ name (str): Select a single ClusterTrustBundle by object name. Mutually-exclusive with signerName and labelSelector.. [optional] # noqa: E501
+ optional (bool): If true, don't block pod startup if the referenced ClusterTrustBundle(s) aren't available. If using name, then the named ClusterTrustBundle is allowed not to exist. If using signerName, then the combination of signerName and labelSelector is allowed to match zero ClusterTrustBundles.. [optional] # noqa: E501
+ signer_name (str): Select all ClusterTrustBundles that match this signer name. Mutually-exclusive with name. The contents of all selected ClusterTrustBundles will be unified and deduplicated.. [optional] # noqa: E501
+ """
+
+ _check_type = kwargs.pop('_check_type', True)
+ _spec_property_naming = kwargs.pop('_spec_property_naming', False)
+ _path_to_item = kwargs.pop('_path_to_item', ())
+ _configuration = kwargs.pop('_configuration', None)
+ _visited_composed_classes = kwargs.pop('_visited_composed_classes', ())
+
+ self = super(OpenApiModel, cls).__new__(cls)
+
+ if args:
+ raise ApiTypeError(
+ "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % (
+ args,
+ self.__class__.__name__,
+ ),
+ path_to_item=_path_to_item,
+ valid_classes=(self.__class__,),
+ )
+
+ self._data_store = {}
+ self._check_type = _check_type
+ self._spec_property_naming = _spec_property_naming
+ self._path_to_item = _path_to_item
+ self._configuration = _configuration
+ self._visited_composed_classes = _visited_composed_classes + (self.__class__,)
+
+ self.path = path
+ for var_name, var_value in kwargs.items():
+ if var_name not in self.attribute_map and \
+ self._configuration is not None and \
+ self._configuration.discard_unknown_keys and \
+ self.additional_properties_type is None:
+ # discard variable.
+ continue
+ setattr(self, var_name, var_value)
+ return self
+
+ required_properties = set([
+ '_data_store',
+ '_check_type',
+ '_spec_property_naming',
+ '_path_to_item',
+ '_configuration',
+ '_visited_composed_classes',
+ ])
+
+ @convert_js_args_to_python_args
+ def __init__(self, path, *args, **kwargs): # noqa: E501
+ """ClusterTrustBundleProjection - a model defined in OpenAPI
+
+ Args:
+ path (str): Relative path from the volume root to write the bundle.
+
+ Keyword Args:
+ _check_type (bool): if True, values for parameters in openapi_types
+ will be type checked and a TypeError will be
+ raised if the wrong type is input.
+ Defaults to True
+ _path_to_item (tuple/list): This is a list of keys or values to
+ drill down to the model in received_data
+ when deserializing a response
+ _spec_property_naming (bool): True if the variable names in the input data
+ are serialized names, as specified in the OpenAPI document.
+ False if the variable names in the input data
+ are pythonic names, e.g. snake case (default)
+ _configuration (Configuration): the instance to use when
+ deserializing a file_type parameter.
+ If passed, type conversion is attempted
+ If omitted no type conversion is done.
+ _visited_composed_classes (tuple): This stores a tuple of
+ classes that we have traveled through so that
+ if we see that class again we will not use its
+ discriminator again.
+ When traveling through a discriminator, the
+ composed schema that is
+ is traveled through is added to this set.
+ For example if Animal has a discriminator
+ petType and we pass in "Dog", and the class Dog
+ allOf includes Animal, we move through Animal
+ once using the discriminator, and pick Dog.
+ Then in Dog, we will make an instance of the
+ Animal class but this time we won't travel
+ through its discriminator because we passed in
+ _visited_composed_classes = (Animal,)
+ label_selector (LabelSelector): [optional] # noqa: E501
+ name (str): Select a single ClusterTrustBundle by object name. Mutually-exclusive with signerName and labelSelector.. [optional] # noqa: E501
+ optional (bool): If true, don't block pod startup if the referenced ClusterTrustBundle(s) aren't available. If using name, then the named ClusterTrustBundle is allowed not to exist. If using signerName, then the combination of signerName and labelSelector is allowed to match zero ClusterTrustBundles.. [optional] # noqa: E501
+ signer_name (str): Select all ClusterTrustBundles that match this signer name. Mutually-exclusive with name. The contents of all selected ClusterTrustBundles will be unified and deduplicated.. [optional] # noqa: E501
+ """
+
+ _check_type = kwargs.pop('_check_type', True)
+ _spec_property_naming = kwargs.pop('_spec_property_naming', False)
+ _path_to_item = kwargs.pop('_path_to_item', ())
+ _configuration = kwargs.pop('_configuration', None)
+ _visited_composed_classes = kwargs.pop('_visited_composed_classes', ())
+
+ if args:
+ raise ApiTypeError(
+ "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % (
+ args,
+ self.__class__.__name__,
+ ),
+ path_to_item=_path_to_item,
+ valid_classes=(self.__class__,),
+ )
+
+ self._data_store = {}
+ self._check_type = _check_type
+ self._spec_property_naming = _spec_property_naming
+ self._path_to_item = _path_to_item
+ self._configuration = _configuration
+ self._visited_composed_classes = _visited_composed_classes + (self.__class__,)
+
+ self.path = path
+ for var_name, var_value in kwargs.items():
+ if var_name not in self.attribute_map and \
+ self._configuration is not None and \
+ self._configuration.discard_unknown_keys and \
+ self.additional_properties_type is None:
+ # discard variable.
+ continue
+ setattr(self, var_name, var_value)
+ if var_name in self.read_only_vars:
+ raise ApiAttributeError(f"`{var_name}` is a read-only attribute. Use `from_openapi_data` to instantiate "
+ f"class with read only attributes.")
diff --git a/sdks/python/client/argo_workflows/model/config_map_env_source.py b/sdks/python/client/argo_workflows/model/config_map_env_source.py
index c01e403afeb8..392a9cffb1eb 100644
--- a/sdks/python/client/argo_workflows/model/config_map_env_source.py
+++ b/sdks/python/client/argo_workflows/model/config_map_env_source.py
@@ -136,7 +136,7 @@ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501
Animal class but this time we won't travel
through its discriminator because we passed in
_visited_composed_classes = (Animal,)
- name (str): Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names. [optional] # noqa: E501
+ name (str): Name of the referent. This field is effectively required, but due to backwards compatibility is allowed to be empty. Instances of this type with an empty value here are almost certainly wrong. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names. [optional] # noqa: E501
optional (bool): Specify whether the ConfigMap must be defined. [optional] # noqa: E501
"""
@@ -219,7 +219,7 @@ def __init__(self, *args, **kwargs): # noqa: E501
Animal class but this time we won't travel
through its discriminator because we passed in
_visited_composed_classes = (Animal,)
- name (str): Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names. [optional] # noqa: E501
+ name (str): Name of the referent. This field is effectively required, but due to backwards compatibility is allowed to be empty. Instances of this type with an empty value here are almost certainly wrong. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names. [optional] # noqa: E501
optional (bool): Specify whether the ConfigMap must be defined. [optional] # noqa: E501
"""
diff --git a/sdks/python/client/argo_workflows/model/config_map_key_selector.py b/sdks/python/client/argo_workflows/model/config_map_key_selector.py
index 73d37d46d1cc..7a0685d3bf87 100644
--- a/sdks/python/client/argo_workflows/model/config_map_key_selector.py
+++ b/sdks/python/client/argo_workflows/model/config_map_key_selector.py
@@ -141,7 +141,7 @@ def _from_openapi_data(cls, key, *args, **kwargs): # noqa: E501
Animal class but this time we won't travel
through its discriminator because we passed in
_visited_composed_classes = (Animal,)
- name (str): Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names. [optional] # noqa: E501
+ name (str): Name of the referent. This field is effectively required, but due to backwards compatibility is allowed to be empty. Instances of this type with an empty value here are almost certainly wrong. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names. [optional] # noqa: E501
optional (bool): Specify whether the ConfigMap or its key must be defined. [optional] # noqa: E501
"""
@@ -228,7 +228,7 @@ def __init__(self, key, *args, **kwargs): # noqa: E501
Animal class but this time we won't travel
through its discriminator because we passed in
_visited_composed_classes = (Animal,)
- name (str): Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names. [optional] # noqa: E501
+ name (str): Name of the referent. This field is effectively required, but due to backwards compatibility is allowed to be empty. Instances of this type with an empty value here are almost certainly wrong. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names. [optional] # noqa: E501
optional (bool): Specify whether the ConfigMap or its key must be defined. [optional] # noqa: E501
"""
diff --git a/sdks/python/client/argo_workflows/model/config_map_projection.py b/sdks/python/client/argo_workflows/model/config_map_projection.py
index c806a2c2f636..6d1935de8c42 100644
--- a/sdks/python/client/argo_workflows/model/config_map_projection.py
+++ b/sdks/python/client/argo_workflows/model/config_map_projection.py
@@ -144,9 +144,9 @@ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501
Animal class but this time we won't travel
through its discriminator because we passed in
_visited_composed_classes = (Animal,)
- items ([KeyToPath]): If unspecified, each key-value pair in the Data field of the referenced ConfigMap will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the ConfigMap, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'.. [optional] # noqa: E501
- name (str): Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names. [optional] # noqa: E501
- optional (bool): Specify whether the ConfigMap or its keys must be defined. [optional] # noqa: E501
+ items ([KeyToPath]): items if unspecified, each key-value pair in the Data field of the referenced ConfigMap will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the ConfigMap, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'.. [optional] # noqa: E501
+ name (str): Name of the referent. This field is effectively required, but due to backwards compatibility is allowed to be empty. Instances of this type with an empty value here are almost certainly wrong. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names. [optional] # noqa: E501
+ optional (bool): optional specify whether the ConfigMap or its keys must be defined. [optional] # noqa: E501
"""
_check_type = kwargs.pop('_check_type', True)
@@ -228,9 +228,9 @@ def __init__(self, *args, **kwargs): # noqa: E501
Animal class but this time we won't travel
through its discriminator because we passed in
_visited_composed_classes = (Animal,)
- items ([KeyToPath]): If unspecified, each key-value pair in the Data field of the referenced ConfigMap will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the ConfigMap, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'.. [optional] # noqa: E501
- name (str): Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names. [optional] # noqa: E501
- optional (bool): Specify whether the ConfigMap or its keys must be defined. [optional] # noqa: E501
+ items ([KeyToPath]): items if unspecified, each key-value pair in the Data field of the referenced ConfigMap will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the ConfigMap, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'.. [optional] # noqa: E501
+ name (str): Name of the referent. This field is effectively required, but due to backwards compatibility is allowed to be empty. Instances of this type with an empty value here are almost certainly wrong. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names. [optional] # noqa: E501
+ optional (bool): optional specify whether the ConfigMap or its keys must be defined. [optional] # noqa: E501
"""
_check_type = kwargs.pop('_check_type', True)
diff --git a/sdks/python/client/argo_workflows/model/config_map_volume_source.py b/sdks/python/client/argo_workflows/model/config_map_volume_source.py
index 1cbd2ecced62..e4b653b97475 100644
--- a/sdks/python/client/argo_workflows/model/config_map_volume_source.py
+++ b/sdks/python/client/argo_workflows/model/config_map_volume_source.py
@@ -146,10 +146,10 @@ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501
Animal class but this time we won't travel
through its discriminator because we passed in
_visited_composed_classes = (Animal,)
- default_mode (int): Optional: mode bits used to set permissions on created files by default. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.. [optional] # noqa: E501
- items ([KeyToPath]): If unspecified, each key-value pair in the Data field of the referenced ConfigMap will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the ConfigMap, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'.. [optional] # noqa: E501
- name (str): Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names. [optional] # noqa: E501
- optional (bool): Specify whether the ConfigMap or its keys must be defined. [optional] # noqa: E501
+ default_mode (int): defaultMode is optional: mode bits used to set permissions on created files by default. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.. [optional] # noqa: E501
+ items ([KeyToPath]): items if unspecified, each key-value pair in the Data field of the referenced ConfigMap will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the ConfigMap, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'.. [optional] # noqa: E501
+ name (str): Name of the referent. This field is effectively required, but due to backwards compatibility is allowed to be empty. Instances of this type with an empty value here are almost certainly wrong. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names. [optional] # noqa: E501
+ optional (bool): optional specify whether the ConfigMap or its keys must be defined. [optional] # noqa: E501
"""
_check_type = kwargs.pop('_check_type', True)
@@ -231,10 +231,10 @@ def __init__(self, *args, **kwargs): # noqa: E501
Animal class but this time we won't travel
through its discriminator because we passed in
_visited_composed_classes = (Animal,)
- default_mode (int): Optional: mode bits used to set permissions on created files by default. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.. [optional] # noqa: E501
- items ([KeyToPath]): If unspecified, each key-value pair in the Data field of the referenced ConfigMap will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the ConfigMap, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'.. [optional] # noqa: E501
- name (str): Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names. [optional] # noqa: E501
- optional (bool): Specify whether the ConfigMap or its keys must be defined. [optional] # noqa: E501
+ default_mode (int): defaultMode is optional: mode bits used to set permissions on created files by default. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.. [optional] # noqa: E501
+ items ([KeyToPath]): items if unspecified, each key-value pair in the Data field of the referenced ConfigMap will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the ConfigMap, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'.. [optional] # noqa: E501
+ name (str): Name of the referent. This field is effectively required, but due to backwards compatibility is allowed to be empty. Instances of this type with an empty value here are almost certainly wrong. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names. [optional] # noqa: E501
+ optional (bool): optional specify whether the ConfigMap or its keys must be defined. [optional] # noqa: E501
"""
_check_type = kwargs.pop('_check_type', True)
diff --git a/sdks/python/client/argo_workflows/model/container.py b/sdks/python/client/argo_workflows/model/container.py
index 228ff2fabb8a..4a80cb0a5e89 100644
--- a/sdks/python/client/argo_workflows/model/container.py
+++ b/sdks/python/client/argo_workflows/model/container.py
@@ -31,6 +31,7 @@
def lazy_import():
from argo_workflows.model.container_port import ContainerPort
+ from argo_workflows.model.container_resize_policy import ContainerResizePolicy
from argo_workflows.model.env_from_source import EnvFromSource
from argo_workflows.model.env_var import EnvVar
from argo_workflows.model.lifecycle import Lifecycle
@@ -40,6 +41,7 @@ def lazy_import():
from argo_workflows.model.volume_device import VolumeDevice
from argo_workflows.model.volume_mount import VolumeMount
globals()['ContainerPort'] = ContainerPort
+ globals()['ContainerResizePolicy'] = ContainerResizePolicy
globals()['EnvFromSource'] = EnvFromSource
globals()['EnvVar'] = EnvVar
globals()['Lifecycle'] = Lifecycle
@@ -75,15 +77,6 @@ class Container(ModelNormal):
"""
allowed_values = {
- ('image_pull_policy',): {
- 'ALWAYS': "Always",
- 'IFNOTPRESENT': "IfNotPresent",
- 'NEVER': "Never",
- },
- ('termination_message_policy',): {
- 'FALLBACKTOLOGSONERROR': "FallbackToLogsOnError",
- 'FILE': "File",
- },
}
validations = {
@@ -123,7 +116,9 @@ def openapi_types():
'name': (str,), # noqa: E501
'ports': ([ContainerPort],), # noqa: E501
'readiness_probe': (Probe,), # noqa: E501
+ 'resize_policy': ([ContainerResizePolicy],), # noqa: E501
'resources': (ResourceRequirements,), # noqa: E501
+ 'restart_policy': (str,), # noqa: E501
'security_context': (SecurityContext,), # noqa: E501
'startup_probe': (Probe,), # noqa: E501
'stdin': (bool,), # noqa: E501
@@ -153,7 +148,9 @@ def discriminator():
'name': 'name', # noqa: E501
'ports': 'ports', # noqa: E501
'readiness_probe': 'readinessProbe', # noqa: E501
+ 'resize_policy': 'resizePolicy', # noqa: E501
'resources': 'resources', # noqa: E501
+ 'restart_policy': 'restartPolicy', # noqa: E501
'security_context': 'securityContext', # noqa: E501
'startup_probe': 'startupProbe', # noqa: E501
'stdin': 'stdin', # noqa: E501
@@ -177,7 +174,7 @@ def _from_openapi_data(cls, image, *args, **kwargs): # noqa: E501
"""Container - a model defined in OpenAPI
Args:
- image (str): Docker image name. More info: https://kubernetes.io/docs/concepts/containers/images This field is optional to allow higher level config management to default or override container images in workload controllers like Deployments and StatefulSets.
+ image (str): Container image name. More info: https://kubernetes.io/docs/concepts/containers/images This field is optional to allow higher level config management to default or override container images in workload controllers like Deployments and StatefulSets.
Keyword Args:
_check_type (bool): if True, values for parameters in openapi_types
@@ -210,23 +207,25 @@ def _from_openapi_data(cls, image, *args, **kwargs): # noqa: E501
Animal class but this time we won't travel
through its discriminator because we passed in
_visited_composed_classes = (Animal,)
- args ([str]): Arguments to the entrypoint. The docker image's CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell. [optional] # noqa: E501
- command ([str]): Entrypoint array. Not executed within a shell. The docker image's ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell. [optional] # noqa: E501
+ args ([str]): Arguments to the entrypoint. The container image's CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell. [optional] # noqa: E501
+ command ([str]): Entrypoint array. Not executed within a shell. The container image's ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell. [optional] # noqa: E501
env ([EnvVar]): List of environment variables to set in the container. Cannot be updated.. [optional] # noqa: E501
env_from ([EnvFromSource]): List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated.. [optional] # noqa: E501
- image_pull_policy (str): Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images Possible enum values: - `\"Always\"` means that kubelet always attempts to pull the latest image. Container will fail If the pull fails. - `\"IfNotPresent\"` means that kubelet pulls if the image isn't present on disk. Container will fail if the image isn't present and the pull fails. - `\"Never\"` means that kubelet never pulls an image, but only uses a local image. Container will fail if the image isn't present. [optional] # noqa: E501
+ image_pull_policy (str): Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images. [optional] # noqa: E501
lifecycle (Lifecycle): [optional] # noqa: E501
liveness_probe (Probe): [optional] # noqa: E501
name (str): Name of the container specified as a DNS_LABEL. Each container in a pod must have a unique name (DNS_LABEL). Cannot be updated.. [optional] # noqa: E501
- ports ([ContainerPort]): List of ports to expose from the container. Exposing a port here gives the system additional information about the network connections a container uses, but is primarily informational. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default \"0.0.0.0\" address inside a container will be accessible from the network. Cannot be updated.. [optional] # noqa: E501
+ ports ([ContainerPort]): List of ports to expose from the container. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default \"0.0.0.0\" address inside a container will be accessible from the network. Modifying this array with strategic merge patch may corrupt the data. For more information See https://github.com/kubernetes/kubernetes/issues/108255. Cannot be updated.. [optional] # noqa: E501
readiness_probe (Probe): [optional] # noqa: E501
+ resize_policy ([ContainerResizePolicy]): Resources resize policy for the container.. [optional] # noqa: E501
resources (ResourceRequirements): [optional] # noqa: E501
+ restart_policy (str): RestartPolicy defines the restart behavior of individual containers in a pod. This field may only be set for init containers, and the only allowed value is \"Always\". For non-init containers or when this field is not specified, the restart behavior is defined by the Pod's restart policy and the container type. Setting the RestartPolicy as \"Always\" for the init container will have the following effect: this init container will be continually restarted on exit until all regular containers have terminated. Once all regular containers have completed, all init containers with restartPolicy \"Always\" will be shut down. This lifecycle differs from normal init containers and is often referred to as a \"sidecar\" container. Although this init container still starts in the init container sequence, it does not wait for the container to complete before proceeding to the next init container. Instead, the next init container starts immediately after this init container is started, or after any startupProbe has successfully completed.. [optional] # noqa: E501
security_context (SecurityContext): [optional] # noqa: E501
startup_probe (Probe): [optional] # noqa: E501
stdin (bool): Whether this container should allocate a buffer for stdin in the container runtime. If this is not set, reads from stdin in the container will always result in EOF. Default is false.. [optional] # noqa: E501
stdin_once (bool): Whether the container runtime should close the stdin channel after it has been opened by a single attach. When stdin is true the stdin stream will remain open across multiple attach sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the first client attaches to stdin, and then remains open and accepts data until the client disconnects, at which time stdin is closed and remains closed until the container is restarted. If this flag is false, a container processes that reads from stdin will never receive an EOF. Default is false. [optional] # noqa: E501
termination_message_path (str): Optional: Path at which the file to which the container's termination message will be written is mounted into the container's filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log. Cannot be updated.. [optional] # noqa: E501
- termination_message_policy (str): Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated. Possible enum values: - `\"FallbackToLogsOnError\"` will read the most recent contents of the container logs for the container status message when the container exits with an error and the terminationMessagePath has no contents. - `\"File\"` is the default behavior and will set the container status message to the contents of the container's terminationMessagePath when the container exits.. [optional] # noqa: E501
+ termination_message_policy (str): Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated.. [optional] # noqa: E501
tty (bool): Whether this container should allocate a TTY for itself, also requires 'stdin' to be true. Default is false.. [optional] # noqa: E501
volume_devices ([VolumeDevice]): volumeDevices is the list of block devices to be used by the container.. [optional] # noqa: E501
volume_mounts ([VolumeMount]): Pod volumes to mount into the container's filesystem. Cannot be updated.. [optional] # noqa: E501
@@ -283,7 +282,7 @@ def __init__(self, image, *args, **kwargs): # noqa: E501
"""Container - a model defined in OpenAPI
Args:
- image (str): Docker image name. More info: https://kubernetes.io/docs/concepts/containers/images This field is optional to allow higher level config management to default or override container images in workload controllers like Deployments and StatefulSets.
+ image (str): Container image name. More info: https://kubernetes.io/docs/concepts/containers/images This field is optional to allow higher level config management to default or override container images in workload controllers like Deployments and StatefulSets.
Keyword Args:
_check_type (bool): if True, values for parameters in openapi_types
@@ -316,23 +315,25 @@ def __init__(self, image, *args, **kwargs): # noqa: E501
Animal class but this time we won't travel
through its discriminator because we passed in
_visited_composed_classes = (Animal,)
- args ([str]): Arguments to the entrypoint. The docker image's CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell. [optional] # noqa: E501
- command ([str]): Entrypoint array. Not executed within a shell. The docker image's ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell. [optional] # noqa: E501
+ args ([str]): Arguments to the entrypoint. The container image's CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell. [optional] # noqa: E501
+ command ([str]): Entrypoint array. Not executed within a shell. The container image's ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. \"$$(VAR_NAME)\" will produce the string literal \"$(VAR_NAME)\". Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell. [optional] # noqa: E501
env ([EnvVar]): List of environment variables to set in the container. Cannot be updated.. [optional] # noqa: E501
env_from ([EnvFromSource]): List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated.. [optional] # noqa: E501
- image_pull_policy (str): Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images Possible enum values: - `\"Always\"` means that kubelet always attempts to pull the latest image. Container will fail If the pull fails. - `\"IfNotPresent\"` means that kubelet pulls if the image isn't present on disk. Container will fail if the image isn't present and the pull fails. - `\"Never\"` means that kubelet never pulls an image, but only uses a local image. Container will fail if the image isn't present. [optional] # noqa: E501
+ image_pull_policy (str): Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images. [optional] # noqa: E501
lifecycle (Lifecycle): [optional] # noqa: E501
liveness_probe (Probe): [optional] # noqa: E501
name (str): Name of the container specified as a DNS_LABEL. Each container in a pod must have a unique name (DNS_LABEL). Cannot be updated.. [optional] # noqa: E501
- ports ([ContainerPort]): List of ports to expose from the container. Exposing a port here gives the system additional information about the network connections a container uses, but is primarily informational. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default \"0.0.0.0\" address inside a container will be accessible from the network. Cannot be updated.. [optional] # noqa: E501
+ ports ([ContainerPort]): List of ports to expose from the container. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default \"0.0.0.0\" address inside a container will be accessible from the network. Modifying this array with strategic merge patch may corrupt the data. For more information See https://github.com/kubernetes/kubernetes/issues/108255. Cannot be updated.. [optional] # noqa: E501
readiness_probe (Probe): [optional] # noqa: E501
+ resize_policy ([ContainerResizePolicy]): Resources resize policy for the container.. [optional] # noqa: E501
resources (ResourceRequirements): [optional] # noqa: E501
+ restart_policy (str): RestartPolicy defines the restart behavior of individual containers in a pod. This field may only be set for init containers, and the only allowed value is \"Always\". For non-init containers or when this field is not specified, the restart behavior is defined by the Pod's restart policy and the container type. Setting the RestartPolicy as \"Always\" for the init container will have the following effect: this init container will be continually restarted on exit until all regular containers have terminated. Once all regular containers have completed, all init containers with restartPolicy \"Always\" will be shut down. This lifecycle differs from normal init containers and is often referred to as a \"sidecar\" container. Although this init container still starts in the init container sequence, it does not wait for the container to complete before proceeding to the next init container. Instead, the next init container starts immediately after this init container is started, or after any startupProbe has successfully completed.. [optional] # noqa: E501
security_context (SecurityContext): [optional] # noqa: E501
startup_probe (Probe): [optional] # noqa: E501
stdin (bool): Whether this container should allocate a buffer for stdin in the container runtime. If this is not set, reads from stdin in the container will always result in EOF. Default is false.. [optional] # noqa: E501
stdin_once (bool): Whether the container runtime should close the stdin channel after it has been opened by a single attach. When stdin is true the stdin stream will remain open across multiple attach sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the first client attaches to stdin, and then remains open and accepts data until the client disconnects, at which time stdin is closed and remains closed until the container is restarted. If this flag is false, a container processes that reads from stdin will never receive an EOF. Default is false. [optional] # noqa: E501
termination_message_path (str): Optional: Path at which the file to which the container's termination message will be written is mounted into the container's filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log. Cannot be updated.. [optional] # noqa: E501
- termination_message_policy (str): Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated. Possible enum values: - `\"FallbackToLogsOnError\"` will read the most recent contents of the container logs for the container status message when the container exits with an error and the terminationMessagePath has no contents. - `\"File\"` is the default behavior and will set the container status message to the contents of the container's terminationMessagePath when the container exits.. [optional] # noqa: E501
+ termination_message_policy (str): Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated.. [optional] # noqa: E501
tty (bool): Whether this container should allocate a TTY for itself, also requires 'stdin' to be true. Default is false.. [optional] # noqa: E501
volume_devices ([VolumeDevice]): volumeDevices is the list of block devices to be used by the container.. [optional] # noqa: E501
volume_mounts ([VolumeMount]): Pod volumes to mount into the container's filesystem. Cannot be updated.. [optional] # noqa: E501
diff --git a/sdks/python/client/argo_workflows/model/container_port.py b/sdks/python/client/argo_workflows/model/container_port.py
index 15c182a4735c..ca2eb2373fa2 100644
--- a/sdks/python/client/argo_workflows/model/container_port.py
+++ b/sdks/python/client/argo_workflows/model/container_port.py
@@ -55,11 +55,6 @@ class ContainerPort(ModelNormal):
"""
allowed_values = {
- ('protocol',): {
- 'SCTP': "SCTP",
- 'TCP': "TCP",
- 'UDP': "UDP",
- },
}
validations = {
@@ -153,7 +148,7 @@ def _from_openapi_data(cls, container_port, *args, **kwargs): # noqa: E501
host_ip (str): What host IP to bind the external port to.. [optional] # noqa: E501
host_port (int): Number of port to expose on the host. If specified, this must be a valid port number, 0 < x < 65536. If HostNetwork is specified, this must match ContainerPort. Most containers do not need this.. [optional] # noqa: E501
name (str): If specified, this must be an IANA_SVC_NAME and unique within the pod. Each named port in a pod must have a unique name. Name for the port that can be referred to by services.. [optional] # noqa: E501
- protocol (str): Protocol for port. Must be UDP, TCP, or SCTP. Defaults to \"TCP\". Possible enum values: - `\"SCTP\"` is the SCTP protocol. - `\"TCP\"` is the TCP protocol. - `\"UDP\"` is the UDP protocol.. [optional] # noqa: E501
+ protocol (str): Protocol for port. Must be UDP, TCP, or SCTP. Defaults to \"TCP\".. [optional] # noqa: E501
"""
_check_type = kwargs.pop('_check_type', True)
@@ -242,7 +237,7 @@ def __init__(self, container_port, *args, **kwargs): # noqa: E501
host_ip (str): What host IP to bind the external port to.. [optional] # noqa: E501
host_port (int): Number of port to expose on the host. If specified, this must be a valid port number, 0 < x < 65536. If HostNetwork is specified, this must match ContainerPort. Most containers do not need this.. [optional] # noqa: E501
name (str): If specified, this must be an IANA_SVC_NAME and unique within the pod. Each named port in a pod must have a unique name. Name for the port that can be referred to by services.. [optional] # noqa: E501
- protocol (str): Protocol for port. Must be UDP, TCP, or SCTP. Defaults to \"TCP\". Possible enum values: - `\"SCTP\"` is the SCTP protocol. - `\"TCP\"` is the TCP protocol. - `\"UDP\"` is the UDP protocol.. [optional] # noqa: E501
+ protocol (str): Protocol for port. Must be UDP, TCP, or SCTP. Defaults to \"TCP\".. [optional] # noqa: E501
"""
_check_type = kwargs.pop('_check_type', True)
diff --git a/sdks/python/client/argo_workflows/model/container_resize_policy.py b/sdks/python/client/argo_workflows/model/container_resize_policy.py
new file mode 100644
index 000000000000..13442708c88b
--- /dev/null
+++ b/sdks/python/client/argo_workflows/model/container_resize_policy.py
@@ -0,0 +1,267 @@
+"""
+ Argo Workflows API
+
+ Argo Workflows is an open source container-native workflow engine for orchestrating parallel jobs on Kubernetes. For more information, please see https://argo-workflows.readthedocs.io/en/latest/ # noqa: E501
+
+ The version of the OpenAPI document: VERSION
+ Generated by: https://openapi-generator.tech
+"""
+
+
+import re # noqa: F401
+import sys # noqa: F401
+
+from argo_workflows.model_utils import ( # noqa: F401
+ ApiTypeError,
+ ModelComposed,
+ ModelNormal,
+ ModelSimple,
+ cached_property,
+ change_keys_js_to_python,
+ convert_js_args_to_python_args,
+ date,
+ datetime,
+ file_type,
+ none_type,
+ validate_get_composed_info,
+ OpenApiModel
+)
+from argo_workflows.exceptions import ApiAttributeError
+
+
+
+class ContainerResizePolicy(ModelNormal):
+ """NOTE: This class is auto generated by OpenAPI Generator.
+ Ref: https://openapi-generator.tech
+
+ Do not edit the class manually.
+
+ Attributes:
+ allowed_values (dict): The key is the tuple path to the attribute
+ and the for var_name this is (var_name,). The value is a dict
+ with a capitalized key describing the allowed value and an allowed
+ value. These dicts store the allowed enum values.
+ attribute_map (dict): The key is attribute name
+ and the value is json key in definition.
+ discriminator_value_class_map (dict): A dict to go from the discriminator
+ variable value to the discriminator class name.
+ validations (dict): The key is the tuple path to the attribute
+ and the for var_name this is (var_name,). The value is a dict
+ that stores validations for max_length, min_length, max_items,
+ min_items, exclusive_maximum, inclusive_maximum, exclusive_minimum,
+ inclusive_minimum, and regex.
+ additional_properties_type (tuple): A tuple of classes accepted
+ as additional properties values.
+ """
+
+ allowed_values = {
+ }
+
+ validations = {
+ }
+
+ @cached_property
+ def additional_properties_type():
+ """
+ This must be a method because a model may have properties that are
+ of type self, this must run after the class is loaded
+ """
+ return (bool, date, datetime, dict, float, int, list, str, none_type,) # noqa: E501
+
+ _nullable = False
+
+ @cached_property
+ def openapi_types():
+ """
+ This must be a method because a model may have properties that are
+ of type self, this must run after the class is loaded
+
+ Returns
+ openapi_types (dict): The key is attribute name
+ and the value is attribute type.
+ """
+ return {
+ 'resource_name': (str,), # noqa: E501
+ 'restart_policy': (str,), # noqa: E501
+ }
+
+ @cached_property
+ def discriminator():
+ return None
+
+
+ attribute_map = {
+ 'resource_name': 'resourceName', # noqa: E501
+ 'restart_policy': 'restartPolicy', # noqa: E501
+ }
+
+ read_only_vars = {
+ }
+
+ _composed_schemas = {}
+
+ @classmethod
+ @convert_js_args_to_python_args
+ def _from_openapi_data(cls, resource_name, restart_policy, *args, **kwargs): # noqa: E501
+ """ContainerResizePolicy - a model defined in OpenAPI
+
+ Args:
+ resource_name (str): Name of the resource to which this resource resize policy applies. Supported values: cpu, memory.
+ restart_policy (str): Restart policy to apply when specified resource is resized. If not specified, it defaults to NotRequired.
+
+ Keyword Args:
+ _check_type (bool): if True, values for parameters in openapi_types
+ will be type checked and a TypeError will be
+ raised if the wrong type is input.
+ Defaults to True
+ _path_to_item (tuple/list): This is a list of keys or values to
+ drill down to the model in received_data
+ when deserializing a response
+ _spec_property_naming (bool): True if the variable names in the input data
+ are serialized names, as specified in the OpenAPI document.
+ False if the variable names in the input data
+ are pythonic names, e.g. snake case (default)
+ _configuration (Configuration): the instance to use when
+ deserializing a file_type parameter.
+ If passed, type conversion is attempted
+ If omitted no type conversion is done.
+ _visited_composed_classes (tuple): This stores a tuple of
+ classes that we have traveled through so that
+ if we see that class again we will not use its
+ discriminator again.
+ When traveling through a discriminator, the
+ composed schema that is
+ is traveled through is added to this set.
+ For example if Animal has a discriminator
+ petType and we pass in "Dog", and the class Dog
+ allOf includes Animal, we move through Animal
+ once using the discriminator, and pick Dog.
+ Then in Dog, we will make an instance of the
+ Animal class but this time we won't travel
+ through its discriminator because we passed in
+ _visited_composed_classes = (Animal,)
+ """
+
+ _check_type = kwargs.pop('_check_type', True)
+ _spec_property_naming = kwargs.pop('_spec_property_naming', False)
+ _path_to_item = kwargs.pop('_path_to_item', ())
+ _configuration = kwargs.pop('_configuration', None)
+ _visited_composed_classes = kwargs.pop('_visited_composed_classes', ())
+
+ self = super(OpenApiModel, cls).__new__(cls)
+
+ if args:
+ raise ApiTypeError(
+ "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % (
+ args,
+ self.__class__.__name__,
+ ),
+ path_to_item=_path_to_item,
+ valid_classes=(self.__class__,),
+ )
+
+ self._data_store = {}
+ self._check_type = _check_type
+ self._spec_property_naming = _spec_property_naming
+ self._path_to_item = _path_to_item
+ self._configuration = _configuration
+ self._visited_composed_classes = _visited_composed_classes + (self.__class__,)
+
+ self.resource_name = resource_name
+ self.restart_policy = restart_policy
+ for var_name, var_value in kwargs.items():
+ if var_name not in self.attribute_map and \
+ self._configuration is not None and \
+ self._configuration.discard_unknown_keys and \
+ self.additional_properties_type is None:
+ # discard variable.
+ continue
+ setattr(self, var_name, var_value)
+ return self
+
+ required_properties = set([
+ '_data_store',
+ '_check_type',
+ '_spec_property_naming',
+ '_path_to_item',
+ '_configuration',
+ '_visited_composed_classes',
+ ])
+
+ @convert_js_args_to_python_args
+ def __init__(self, resource_name, restart_policy, *args, **kwargs): # noqa: E501
+ """ContainerResizePolicy - a model defined in OpenAPI
+
+ Args:
+ resource_name (str): Name of the resource to which this resource resize policy applies. Supported values: cpu, memory.
+ restart_policy (str): Restart policy to apply when specified resource is resized. If not specified, it defaults to NotRequired.
+
+ Keyword Args:
+ _check_type (bool): if True, values for parameters in openapi_types
+ will be type checked and a TypeError will be
+ raised if the wrong type is input.
+ Defaults to True
+ _path_to_item (tuple/list): This is a list of keys or values to
+ drill down to the model in received_data
+ when deserializing a response
+ _spec_property_naming (bool): True if the variable names in the input data
+ are serialized names, as specified in the OpenAPI document.
+ False if the variable names in the input data
+ are pythonic names, e.g. snake case (default)
+ _configuration (Configuration): the instance to use when
+ deserializing a file_type parameter.
+ If passed, type conversion is attempted
+ If omitted no type conversion is done.
+ _visited_composed_classes (tuple): This stores a tuple of
+ classes that we have traveled through so that
+ if we see that class again we will not use its
+ discriminator again.
+ When traveling through a discriminator, the
+ composed schema that is
+ is traveled through is added to this set.
+ For example if Animal has a discriminator
+ petType and we pass in "Dog", and the class Dog
+ allOf includes Animal, we move through Animal
+ once using the discriminator, and pick Dog.
+ Then in Dog, we will make an instance of the
+ Animal class but this time we won't travel
+ through its discriminator because we passed in
+ _visited_composed_classes = (Animal,)
+ """
+
+ _check_type = kwargs.pop('_check_type', True)
+ _spec_property_naming = kwargs.pop('_spec_property_naming', False)
+ _path_to_item = kwargs.pop('_path_to_item', ())
+ _configuration = kwargs.pop('_configuration', None)
+ _visited_composed_classes = kwargs.pop('_visited_composed_classes', ())
+
+ if args:
+ raise ApiTypeError(
+ "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % (
+ args,
+ self.__class__.__name__,
+ ),
+ path_to_item=_path_to_item,
+ valid_classes=(self.__class__,),
+ )
+
+ self._data_store = {}
+ self._check_type = _check_type
+ self._spec_property_naming = _spec_property_naming
+ self._path_to_item = _path_to_item
+ self._configuration = _configuration
+ self._visited_composed_classes = _visited_composed_classes + (self.__class__,)
+
+ self.resource_name = resource_name
+ self.restart_policy = restart_policy
+ for var_name, var_value in kwargs.items():
+ if var_name not in self.attribute_map and \
+ self._configuration is not None and \
+ self._configuration.discard_unknown_keys and \
+ self.additional_properties_type is None:
+ # discard variable.
+ continue
+ setattr(self, var_name, var_value)
+ if var_name in self.read_only_vars:
+ raise ApiAttributeError(f"`{var_name}` is a read-only attribute. Use `from_openapi_data` to instantiate "
+ f"class with read only attributes.")
diff --git a/sdks/python/client/argo_workflows/model/csi_volume_source.py b/sdks/python/client/argo_workflows/model/csi_volume_source.py
index cfa528787e97..0dbb5a1153c5 100644
--- a/sdks/python/client/argo_workflows/model/csi_volume_source.py
+++ b/sdks/python/client/argo_workflows/model/csi_volume_source.py
@@ -118,7 +118,7 @@ def _from_openapi_data(cls, driver, *args, **kwargs): # noqa: E501
"""CSIVolumeSource - a model defined in OpenAPI
Args:
- driver (str): Driver is the name of the CSI driver that handles this volume. Consult with your admin for the correct name as registered in the cluster.
+ driver (str): driver is the name of the CSI driver that handles this volume. Consult with your admin for the correct name as registered in the cluster.
Keyword Args:
_check_type (bool): if True, values for parameters in openapi_types
@@ -151,10 +151,10 @@ def _from_openapi_data(cls, driver, *args, **kwargs): # noqa: E501
Animal class but this time we won't travel
through its discriminator because we passed in
_visited_composed_classes = (Animal,)
- fs_type (str): Filesystem type to mount. Ex. \"ext4\", \"xfs\", \"ntfs\". If not provided, the empty value is passed to the associated CSI driver which will determine the default filesystem to apply.. [optional] # noqa: E501
+ fs_type (str): fsType to mount. Ex. \"ext4\", \"xfs\", \"ntfs\". If not provided, the empty value is passed to the associated CSI driver which will determine the default filesystem to apply.. [optional] # noqa: E501
node_publish_secret_ref (LocalObjectReference): [optional] # noqa: E501
- read_only (bool): Specifies a read-only configuration for the volume. Defaults to false (read/write).. [optional] # noqa: E501
- volume_attributes ({str: (str,)}): VolumeAttributes stores driver-specific properties that are passed to the CSI driver. Consult your driver's documentation for supported values.. [optional] # noqa: E501
+ read_only (bool): readOnly specifies a read-only configuration for the volume. Defaults to false (read/write).. [optional] # noqa: E501
+ volume_attributes ({str: (str,)}): volumeAttributes stores driver-specific properties that are passed to the CSI driver. Consult your driver's documentation for supported values.. [optional] # noqa: E501
"""
_check_type = kwargs.pop('_check_type', True)
@@ -207,7 +207,7 @@ def __init__(self, driver, *args, **kwargs): # noqa: E501
"""CSIVolumeSource - a model defined in OpenAPI
Args:
- driver (str): Driver is the name of the CSI driver that handles this volume. Consult with your admin for the correct name as registered in the cluster.
+ driver (str): driver is the name of the CSI driver that handles this volume. Consult with your admin for the correct name as registered in the cluster.
Keyword Args:
_check_type (bool): if True, values for parameters in openapi_types
@@ -240,10 +240,10 @@ def __init__(self, driver, *args, **kwargs): # noqa: E501
Animal class but this time we won't travel
through its discriminator because we passed in
_visited_composed_classes = (Animal,)
- fs_type (str): Filesystem type to mount. Ex. \"ext4\", \"xfs\", \"ntfs\". If not provided, the empty value is passed to the associated CSI driver which will determine the default filesystem to apply.. [optional] # noqa: E501
+ fs_type (str): fsType to mount. Ex. \"ext4\", \"xfs\", \"ntfs\". If not provided, the empty value is passed to the associated CSI driver which will determine the default filesystem to apply.. [optional] # noqa: E501
node_publish_secret_ref (LocalObjectReference): [optional] # noqa: E501
- read_only (bool): Specifies a read-only configuration for the volume. Defaults to false (read/write).. [optional] # noqa: E501
- volume_attributes ({str: (str,)}): VolumeAttributes stores driver-specific properties that are passed to the CSI driver. Consult your driver's documentation for supported values.. [optional] # noqa: E501
+ read_only (bool): readOnly specifies a read-only configuration for the volume. Defaults to false (read/write).. [optional] # noqa: E501
+ volume_attributes ({str: (str,)}): volumeAttributes stores driver-specific properties that are passed to the CSI driver. Consult your driver's documentation for supported values.. [optional] # noqa: E501
"""
_check_type = kwargs.pop('_check_type', True)
diff --git a/sdks/python/client/argo_workflows/model/empty_dir_volume_source.py b/sdks/python/client/argo_workflows/model/empty_dir_volume_source.py
index e8ccff6a2235..0552646f0ed5 100644
--- a/sdks/python/client/argo_workflows/model/empty_dir_volume_source.py
+++ b/sdks/python/client/argo_workflows/model/empty_dir_volume_source.py
@@ -136,8 +136,8 @@ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501
Animal class but this time we won't travel
through its discriminator because we passed in
_visited_composed_classes = (Animal,)
- medium (str): What type of storage medium should back this directory. The default is \"\" which means to use the node's default medium. Must be an empty string (default) or Memory. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir. [optional] # noqa: E501
- size_limit (str): Quantity is a fixed-point representation of a number. It provides convenient marshaling/unmarshaling in JSON and YAML, in addition to String() and AsInt64() accessors. The serialization format is: ::= (Note that may be empty, from the \"\" case in .) ::= 0 | 1 | ... | 9 ::= | ::= | . | . | . ::= \"+\" | \"-\" ::= | ::= | | ::= Ki | Mi | Gi | Ti | Pi | Ei (International System of units; See: http://physics.nist.gov/cuu/Units/binary.html) ::= m | \"\" | k | M | G | T | P | E (Note that 1024 = 1Ki but 1000 = 1k; I didn't choose the capitalization.) ::= \"e\" | \"E\" No matter which of the three exponent forms is used, no quantity may represent a number greater than 2^63-1 in magnitude, nor may it have more than 3 decimal places. Numbers larger or more precise will be capped or rounded up. (E.g.: 0.1m will rounded up to 1m.) This may be extended in the future if we require larger or smaller quantities. When a Quantity is parsed from a string, it will remember the type of suffix it had, and will use the same type again when it is serialized. Before serializing, Quantity will be put in \"canonical form\". This means that Exponent/suffix will be adjusted up or down (with a corresponding increase or decrease in Mantissa) such that: a. No precision is lost b. No fractional digits will be emitted c. The exponent (or suffix) is as large as possible. The sign will be omitted unless the number is negative. Examples: 1.5 will be serialized as \"1500m\" 1.5Gi will be serialized as \"1536Mi\" Note that the quantity will NEVER be internally represented by a floating point number. That is the whole point of this exercise. Non-canonical values will still parse as long as they are well formed, but will be re-emitted in their canonical form. (So always use canonical form, or don't diff.) This format is intended to make it difficult to use these numbers without writing some sort of special handling code in the hopes that that will cause implementors to also use a fixed point implementation.. [optional] # noqa: E501
+ medium (str): medium represents what type of storage medium should back this directory. The default is \"\" which means to use the node's default medium. Must be an empty string (default) or Memory. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir. [optional] # noqa: E501
+ size_limit (str): Quantity is a fixed-point representation of a number. It provides convenient marshaling/unmarshaling in JSON and YAML, in addition to String() and AsInt64() accessors. The serialization format is: ``` ::= (Note that may be empty, from the \"\" case in .) ::= 0 | 1 | ... | 9 ::= | ::= | . | . | . ::= \"+\" | \"-\" ::= | ::= | | ::= Ki | Mi | Gi | Ti | Pi | Ei (International System of units; See: http://physics.nist.gov/cuu/Units/binary.html) ::= m | \"\" | k | M | G | T | P | E (Note that 1024 = 1Ki but 1000 = 1k; I didn't choose the capitalization.) ::= \"e\" | \"E\" ``` No matter which of the three exponent forms is used, no quantity may represent a number greater than 2^63-1 in magnitude, nor may it have more than 3 decimal places. Numbers larger or more precise will be capped or rounded up. (E.g.: 0.1m will rounded up to 1m.) This may be extended in the future if we require larger or smaller quantities. When a Quantity is parsed from a string, it will remember the type of suffix it had, and will use the same type again when it is serialized. Before serializing, Quantity will be put in \"canonical form\". This means that Exponent/suffix will be adjusted up or down (with a corresponding increase or decrease in Mantissa) such that: - No precision is lost - No fractional digits will be emitted - The exponent (or suffix) is as large as possible. The sign will be omitted unless the number is negative. Examples: - 1.5 will be serialized as \"1500m\" - 1.5Gi will be serialized as \"1536Mi\" Note that the quantity will NEVER be internally represented by a floating point number. That is the whole point of this exercise. Non-canonical values will still parse as long as they are well formed, but will be re-emitted in their canonical form. (So always use canonical form, or don't diff.) This format is intended to make it difficult to use these numbers without writing some sort of special handling code in the hopes that that will cause implementors to also use a fixed point implementation.. [optional] # noqa: E501
"""
_check_type = kwargs.pop('_check_type', True)
@@ -219,8 +219,8 @@ def __init__(self, *args, **kwargs): # noqa: E501
Animal class but this time we won't travel
through its discriminator because we passed in
_visited_composed_classes = (Animal,)
- medium (str): What type of storage medium should back this directory. The default is \"\" which means to use the node's default medium. Must be an empty string (default) or Memory. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir. [optional] # noqa: E501
- size_limit (str): Quantity is a fixed-point representation of a number. It provides convenient marshaling/unmarshaling in JSON and YAML, in addition to String() and AsInt64() accessors. The serialization format is: ::= (Note that may be empty, from the \"\" case in .) ::= 0 | 1 | ... | 9 ::= | ::= | . | . | . ::= \"+\" | \"-\" ::= | ::= | | ::= Ki | Mi | Gi | Ti | Pi | Ei (International System of units; See: http://physics.nist.gov/cuu/Units/binary.html) ::= m | \"\" | k | M | G | T | P | E (Note that 1024 = 1Ki but 1000 = 1k; I didn't choose the capitalization.) ::= \"e\" | \"E\" No matter which of the three exponent forms is used, no quantity may represent a number greater than 2^63-1 in magnitude, nor may it have more than 3 decimal places. Numbers larger or more precise will be capped or rounded up. (E.g.: 0.1m will rounded up to 1m.) This may be extended in the future if we require larger or smaller quantities. When a Quantity is parsed from a string, it will remember the type of suffix it had, and will use the same type again when it is serialized. Before serializing, Quantity will be put in \"canonical form\". This means that Exponent/suffix will be adjusted up or down (with a corresponding increase or decrease in Mantissa) such that: a. No precision is lost b. No fractional digits will be emitted c. The exponent (or suffix) is as large as possible. The sign will be omitted unless the number is negative. Examples: 1.5 will be serialized as \"1500m\" 1.5Gi will be serialized as \"1536Mi\" Note that the quantity will NEVER be internally represented by a floating point number. That is the whole point of this exercise. Non-canonical values will still parse as long as they are well formed, but will be re-emitted in their canonical form. (So always use canonical form, or don't diff.) This format is intended to make it difficult to use these numbers without writing some sort of special handling code in the hopes that that will cause implementors to also use a fixed point implementation.. [optional] # noqa: E501
+ medium (str): medium represents what type of storage medium should back this directory. The default is \"\" which means to use the node's default medium. Must be an empty string (default) or Memory. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir. [optional] # noqa: E501
+ size_limit (str): Quantity is a fixed-point representation of a number. It provides convenient marshaling/unmarshaling in JSON and YAML, in addition to String() and AsInt64() accessors. The serialization format is: ``` ::= (Note that may be empty, from the \"\" case in .) ::= 0 | 1 | ... | 9 ::= | ::= | . | . | . ::= \"+\" | \"-\" ::= | ::= | | ::= Ki | Mi | Gi | Ti | Pi | Ei (International System of units; See: http://physics.nist.gov/cuu/Units/binary.html) ::= m | \"\" | k | M | G | T | P | E (Note that 1024 = 1Ki but 1000 = 1k; I didn't choose the capitalization.) ::= \"e\" | \"E\" ``` No matter which of the three exponent forms is used, no quantity may represent a number greater than 2^63-1 in magnitude, nor may it have more than 3 decimal places. Numbers larger or more precise will be capped or rounded up. (E.g.: 0.1m will rounded up to 1m.) This may be extended in the future if we require larger or smaller quantities. When a Quantity is parsed from a string, it will remember the type of suffix it had, and will use the same type again when it is serialized. Before serializing, Quantity will be put in \"canonical form\". This means that Exponent/suffix will be adjusted up or down (with a corresponding increase or decrease in Mantissa) such that: - No precision is lost - No fractional digits will be emitted - The exponent (or suffix) is as large as possible. The sign will be omitted unless the number is negative. Examples: - 1.5 will be serialized as \"1500m\" - 1.5Gi will be serialized as \"1536Mi\" Note that the quantity will NEVER be internally represented by a floating point number. That is the whole point of this exercise. Non-canonical values will still parse as long as they are well formed, but will be re-emitted in their canonical form. (So always use canonical form, or don't diff.) This format is intended to make it difficult to use these numbers without writing some sort of special handling code in the hopes that that will cause implementors to also use a fixed point implementation.. [optional] # noqa: E501
"""
_check_type = kwargs.pop('_check_type', True)
diff --git a/sdks/python/client/argo_workflows/model/fc_volume_source.py b/sdks/python/client/argo_workflows/model/fc_volume_source.py
index 1c87fc425e23..2460c6b086d5 100644
--- a/sdks/python/client/argo_workflows/model/fc_volume_source.py
+++ b/sdks/python/client/argo_workflows/model/fc_volume_source.py
@@ -142,11 +142,11 @@ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501
Animal class but this time we won't travel
through its discriminator because we passed in
_visited_composed_classes = (Animal,)
- fs_type (str): Filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified.. [optional] # noqa: E501
- lun (int): Optional: FC target lun number. [optional] # noqa: E501
- read_only (bool): Optional: Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts.. [optional] # noqa: E501
- target_wwns ([str]): Optional: FC target worldwide names (WWNs). [optional] # noqa: E501
- wwids ([str]): Optional: FC volume world wide identifiers (wwids) Either wwids or combination of targetWWNs and lun must be set, but not both simultaneously.. [optional] # noqa: E501
+ fs_type (str): fsType is the filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified.. [optional] # noqa: E501
+ lun (int): lun is Optional: FC target lun number. [optional] # noqa: E501
+ read_only (bool): readOnly is Optional: Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts.. [optional] # noqa: E501
+ target_wwns ([str]): targetWWNs is Optional: FC target worldwide names (WWNs). [optional] # noqa: E501
+ wwids ([str]): wwids Optional: FC volume world wide identifiers (wwids) Either wwids or combination of targetWWNs and lun must be set, but not both simultaneously.. [optional] # noqa: E501
"""
_check_type = kwargs.pop('_check_type', True)
@@ -228,11 +228,11 @@ def __init__(self, *args, **kwargs): # noqa: E501
Animal class but this time we won't travel
through its discriminator because we passed in
_visited_composed_classes = (Animal,)
- fs_type (str): Filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified.. [optional] # noqa: E501
- lun (int): Optional: FC target lun number. [optional] # noqa: E501
- read_only (bool): Optional: Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts.. [optional] # noqa: E501
- target_wwns ([str]): Optional: FC target worldwide names (WWNs). [optional] # noqa: E501
- wwids ([str]): Optional: FC volume world wide identifiers (wwids) Either wwids or combination of targetWWNs and lun must be set, but not both simultaneously.. [optional] # noqa: E501
+ fs_type (str): fsType is the filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified.. [optional] # noqa: E501
+ lun (int): lun is Optional: FC target lun number. [optional] # noqa: E501
+ read_only (bool): readOnly is Optional: Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts.. [optional] # noqa: E501
+ target_wwns ([str]): targetWWNs is Optional: FC target worldwide names (WWNs). [optional] # noqa: E501
+ wwids ([str]): wwids Optional: FC volume world wide identifiers (wwids) Either wwids or combination of targetWWNs and lun must be set, but not both simultaneously.. [optional] # noqa: E501
"""
_check_type = kwargs.pop('_check_type', True)
diff --git a/sdks/python/client/argo_workflows/model/flex_volume_source.py b/sdks/python/client/argo_workflows/model/flex_volume_source.py
index 910e2cb85a23..bf593a370c36 100644
--- a/sdks/python/client/argo_workflows/model/flex_volume_source.py
+++ b/sdks/python/client/argo_workflows/model/flex_volume_source.py
@@ -118,7 +118,7 @@ def _from_openapi_data(cls, driver, *args, **kwargs): # noqa: E501
"""FlexVolumeSource - a model defined in OpenAPI
Args:
- driver (str): Driver is the name of the driver to use for this volume.
+ driver (str): driver is the name of the driver to use for this volume.
Keyword Args:
_check_type (bool): if True, values for parameters in openapi_types
@@ -151,9 +151,9 @@ def _from_openapi_data(cls, driver, *args, **kwargs): # noqa: E501
Animal class but this time we won't travel
through its discriminator because we passed in
_visited_composed_classes = (Animal,)
- fs_type (str): Filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. \"ext4\", \"xfs\", \"ntfs\". The default filesystem depends on FlexVolume script.. [optional] # noqa: E501
- options ({str: (str,)}): Optional: Extra command options if any.. [optional] # noqa: E501
- read_only (bool): Optional: Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts.. [optional] # noqa: E501
+ fs_type (str): fsType is the filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. \"ext4\", \"xfs\", \"ntfs\". The default filesystem depends on FlexVolume script.. [optional] # noqa: E501
+ options ({str: (str,)}): options is Optional: this field holds extra command options if any.. [optional] # noqa: E501
+ read_only (bool): readOnly is Optional: defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts.. [optional] # noqa: E501
secret_ref (LocalObjectReference): [optional] # noqa: E501
"""
@@ -207,7 +207,7 @@ def __init__(self, driver, *args, **kwargs): # noqa: E501
"""FlexVolumeSource - a model defined in OpenAPI
Args:
- driver (str): Driver is the name of the driver to use for this volume.
+ driver (str): driver is the name of the driver to use for this volume.
Keyword Args:
_check_type (bool): if True, values for parameters in openapi_types
@@ -240,9 +240,9 @@ def __init__(self, driver, *args, **kwargs): # noqa: E501
Animal class but this time we won't travel
through its discriminator because we passed in
_visited_composed_classes = (Animal,)
- fs_type (str): Filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. \"ext4\", \"xfs\", \"ntfs\". The default filesystem depends on FlexVolume script.. [optional] # noqa: E501
- options ({str: (str,)}): Optional: Extra command options if any.. [optional] # noqa: E501
- read_only (bool): Optional: Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts.. [optional] # noqa: E501
+ fs_type (str): fsType is the filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. \"ext4\", \"xfs\", \"ntfs\". The default filesystem depends on FlexVolume script.. [optional] # noqa: E501
+ options ({str: (str,)}): options is Optional: this field holds extra command options if any.. [optional] # noqa: E501
+ read_only (bool): readOnly is Optional: defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts.. [optional] # noqa: E501
secret_ref (LocalObjectReference): [optional] # noqa: E501
"""
diff --git a/sdks/python/client/argo_workflows/model/flocker_volume_source.py b/sdks/python/client/argo_workflows/model/flocker_volume_source.py
index a362f844f36e..768edc753698 100644
--- a/sdks/python/client/argo_workflows/model/flocker_volume_source.py
+++ b/sdks/python/client/argo_workflows/model/flocker_volume_source.py
@@ -136,8 +136,8 @@ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501
Animal class but this time we won't travel
through its discriminator because we passed in
_visited_composed_classes = (Animal,)
- dataset_name (str): Name of the dataset stored as metadata -> name on the dataset for Flocker should be considered as deprecated. [optional] # noqa: E501
- dataset_uuid (str): UUID of the dataset. This is unique identifier of a Flocker dataset. [optional] # noqa: E501
+ dataset_name (str): datasetName is Name of the dataset stored as metadata -> name on the dataset for Flocker should be considered as deprecated. [optional] # noqa: E501
+ dataset_uuid (str): datasetUUID is the UUID of the dataset. This is unique identifier of a Flocker dataset. [optional] # noqa: E501
"""
_check_type = kwargs.pop('_check_type', True)
@@ -219,8 +219,8 @@ def __init__(self, *args, **kwargs): # noqa: E501
Animal class but this time we won't travel
through its discriminator because we passed in
_visited_composed_classes = (Animal,)
- dataset_name (str): Name of the dataset stored as metadata -> name on the dataset for Flocker should be considered as deprecated. [optional] # noqa: E501
- dataset_uuid (str): UUID of the dataset. This is unique identifier of a Flocker dataset. [optional] # noqa: E501
+ dataset_name (str): datasetName is Name of the dataset stored as metadata -> name on the dataset for Flocker should be considered as deprecated. [optional] # noqa: E501
+ dataset_uuid (str): datasetUUID is the UUID of the dataset. This is unique identifier of a Flocker dataset. [optional] # noqa: E501
"""
_check_type = kwargs.pop('_check_type', True)
diff --git a/sdks/python/client/argo_workflows/model/gce_persistent_disk_volume_source.py b/sdks/python/client/argo_workflows/model/gce_persistent_disk_volume_source.py
index 46f9a5b1d50d..5c4d824f3398 100644
--- a/sdks/python/client/argo_workflows/model/gce_persistent_disk_volume_source.py
+++ b/sdks/python/client/argo_workflows/model/gce_persistent_disk_volume_source.py
@@ -110,7 +110,7 @@ def _from_openapi_data(cls, pd_name, *args, **kwargs): # noqa: E501
"""GCEPersistentDiskVolumeSource - a model defined in OpenAPI
Args:
- pd_name (str): Unique name of the PD resource in GCE. Used to identify the disk in GCE. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk
+ pd_name (str): pdName is unique name of the PD resource in GCE. Used to identify the disk in GCE. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk
Keyword Args:
_check_type (bool): if True, values for parameters in openapi_types
@@ -143,9 +143,9 @@ def _from_openapi_data(cls, pd_name, *args, **kwargs): # noqa: E501
Animal class but this time we won't travel
through its discriminator because we passed in
_visited_composed_classes = (Animal,)
- fs_type (str): Filesystem type of the volume that you want to mount. Tip: Ensure that the filesystem type is supported by the host operating system. Examples: \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk. [optional] # noqa: E501
- partition (int): The partition in the volume that you want to mount. If omitted, the default is to mount by volume name. Examples: For volume /dev/sda1, you specify the partition as \"1\". Similarly, the volume partition for /dev/sda is \"0\" (or you can leave the property empty). More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk. [optional] # noqa: E501
- read_only (bool): ReadOnly here will force the ReadOnly setting in VolumeMounts. Defaults to false. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk. [optional] # noqa: E501
+ fs_type (str): fsType is filesystem type of the volume that you want to mount. Tip: Ensure that the filesystem type is supported by the host operating system. Examples: \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk. [optional] # noqa: E501
+ partition (int): partition is the partition in the volume that you want to mount. If omitted, the default is to mount by volume name. Examples: For volume /dev/sda1, you specify the partition as \"1\". Similarly, the volume partition for /dev/sda is \"0\" (or you can leave the property empty). More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk. [optional] # noqa: E501
+ read_only (bool): readOnly here will force the ReadOnly setting in VolumeMounts. Defaults to false. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk. [optional] # noqa: E501
"""
_check_type = kwargs.pop('_check_type', True)
@@ -198,7 +198,7 @@ def __init__(self, pd_name, *args, **kwargs): # noqa: E501
"""GCEPersistentDiskVolumeSource - a model defined in OpenAPI
Args:
- pd_name (str): Unique name of the PD resource in GCE. Used to identify the disk in GCE. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk
+ pd_name (str): pdName is unique name of the PD resource in GCE. Used to identify the disk in GCE. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk
Keyword Args:
_check_type (bool): if True, values for parameters in openapi_types
@@ -231,9 +231,9 @@ def __init__(self, pd_name, *args, **kwargs): # noqa: E501
Animal class but this time we won't travel
through its discriminator because we passed in
_visited_composed_classes = (Animal,)
- fs_type (str): Filesystem type of the volume that you want to mount. Tip: Ensure that the filesystem type is supported by the host operating system. Examples: \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk. [optional] # noqa: E501
- partition (int): The partition in the volume that you want to mount. If omitted, the default is to mount by volume name. Examples: For volume /dev/sda1, you specify the partition as \"1\". Similarly, the volume partition for /dev/sda is \"0\" (or you can leave the property empty). More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk. [optional] # noqa: E501
- read_only (bool): ReadOnly here will force the ReadOnly setting in VolumeMounts. Defaults to false. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk. [optional] # noqa: E501
+ fs_type (str): fsType is filesystem type of the volume that you want to mount. Tip: Ensure that the filesystem type is supported by the host operating system. Examples: \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk. [optional] # noqa: E501
+ partition (int): partition is the partition in the volume that you want to mount. If omitted, the default is to mount by volume name. Examples: For volume /dev/sda1, you specify the partition as \"1\". Similarly, the volume partition for /dev/sda is \"0\" (or you can leave the property empty). More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk. [optional] # noqa: E501
+ read_only (bool): readOnly here will force the ReadOnly setting in VolumeMounts. Defaults to false. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk. [optional] # noqa: E501
"""
_check_type = kwargs.pop('_check_type', True)
diff --git a/sdks/python/client/argo_workflows/model/git_repo_volume_source.py b/sdks/python/client/argo_workflows/model/git_repo_volume_source.py
index ad898421a0fc..ef1983cebee0 100644
--- a/sdks/python/client/argo_workflows/model/git_repo_volume_source.py
+++ b/sdks/python/client/argo_workflows/model/git_repo_volume_source.py
@@ -108,7 +108,7 @@ def _from_openapi_data(cls, repository, *args, **kwargs): # noqa: E501
"""GitRepoVolumeSource - a model defined in OpenAPI
Args:
- repository (str): Repository URL
+ repository (str): repository is the URL
Keyword Args:
_check_type (bool): if True, values for parameters in openapi_types
@@ -141,8 +141,8 @@ def _from_openapi_data(cls, repository, *args, **kwargs): # noqa: E501
Animal class but this time we won't travel
through its discriminator because we passed in
_visited_composed_classes = (Animal,)
- directory (str): Target directory name. Must not contain or start with '..'. If '.' is supplied, the volume directory will be the git repository. Otherwise, if specified, the volume will contain the git repository in the subdirectory with the given name.. [optional] # noqa: E501
- revision (str): Commit hash for the specified revision.. [optional] # noqa: E501
+ directory (str): directory is the target directory name. Must not contain or start with '..'. If '.' is supplied, the volume directory will be the git repository. Otherwise, if specified, the volume will contain the git repository in the subdirectory with the given name.. [optional] # noqa: E501
+ revision (str): revision is the commit hash for the specified revision.. [optional] # noqa: E501
"""
_check_type = kwargs.pop('_check_type', True)
@@ -195,7 +195,7 @@ def __init__(self, repository, *args, **kwargs): # noqa: E501
"""GitRepoVolumeSource - a model defined in OpenAPI
Args:
- repository (str): Repository URL
+ repository (str): repository is the URL
Keyword Args:
_check_type (bool): if True, values for parameters in openapi_types
@@ -228,8 +228,8 @@ def __init__(self, repository, *args, **kwargs): # noqa: E501
Animal class but this time we won't travel
through its discriminator because we passed in
_visited_composed_classes = (Animal,)
- directory (str): Target directory name. Must not contain or start with '..'. If '.' is supplied, the volume directory will be the git repository. Otherwise, if specified, the volume will contain the git repository in the subdirectory with the given name.. [optional] # noqa: E501
- revision (str): Commit hash for the specified revision.. [optional] # noqa: E501
+ directory (str): directory is the target directory name. Must not contain or start with '..'. If '.' is supplied, the volume directory will be the git repository. Otherwise, if specified, the volume will contain the git repository in the subdirectory with the given name.. [optional] # noqa: E501
+ revision (str): revision is the commit hash for the specified revision.. [optional] # noqa: E501
"""
_check_type = kwargs.pop('_check_type', True)
diff --git a/sdks/python/client/argo_workflows/model/glusterfs_volume_source.py b/sdks/python/client/argo_workflows/model/glusterfs_volume_source.py
index 6d39843cc0b1..1491e33cb763 100644
--- a/sdks/python/client/argo_workflows/model/glusterfs_volume_source.py
+++ b/sdks/python/client/argo_workflows/model/glusterfs_volume_source.py
@@ -108,8 +108,8 @@ def _from_openapi_data(cls, endpoints, path, *args, **kwargs): # noqa: E501
"""GlusterfsVolumeSource - a model defined in OpenAPI
Args:
- endpoints (str): EndpointsName is the endpoint name that details Glusterfs topology. More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod
- path (str): Path is the Glusterfs volume path. More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod
+ endpoints (str): endpoints is the endpoint name that details Glusterfs topology. More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod
+ path (str): path is the Glusterfs volume path. More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod
Keyword Args:
_check_type (bool): if True, values for parameters in openapi_types
@@ -142,7 +142,7 @@ def _from_openapi_data(cls, endpoints, path, *args, **kwargs): # noqa: E501
Animal class but this time we won't travel
through its discriminator because we passed in
_visited_composed_classes = (Animal,)
- read_only (bool): ReadOnly here will force the Glusterfs volume to be mounted with read-only permissions. Defaults to false. More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod. [optional] # noqa: E501
+ read_only (bool): readOnly here will force the Glusterfs volume to be mounted with read-only permissions. Defaults to false. More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod. [optional] # noqa: E501
"""
_check_type = kwargs.pop('_check_type', True)
@@ -196,8 +196,8 @@ def __init__(self, endpoints, path, *args, **kwargs): # noqa: E501
"""GlusterfsVolumeSource - a model defined in OpenAPI
Args:
- endpoints (str): EndpointsName is the endpoint name that details Glusterfs topology. More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod
- path (str): Path is the Glusterfs volume path. More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod
+ endpoints (str): endpoints is the endpoint name that details Glusterfs topology. More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod
+ path (str): path is the Glusterfs volume path. More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod
Keyword Args:
_check_type (bool): if True, values for parameters in openapi_types
@@ -230,7 +230,7 @@ def __init__(self, endpoints, path, *args, **kwargs): # noqa: E501
Animal class but this time we won't travel
through its discriminator because we passed in
_visited_composed_classes = (Animal,)
- read_only (bool): ReadOnly here will force the Glusterfs volume to be mounted with read-only permissions. Defaults to false. More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod. [optional] # noqa: E501
+ read_only (bool): readOnly here will force the Glusterfs volume to be mounted with read-only permissions. Defaults to false. More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod. [optional] # noqa: E501
"""
_check_type = kwargs.pop('_check_type', True)
diff --git a/sdks/python/client/argo_workflows/model/host_alias.py b/sdks/python/client/argo_workflows/model/host_alias.py
index 7d1640053212..324180a0989c 100644
--- a/sdks/python/client/argo_workflows/model/host_alias.py
+++ b/sdks/python/client/argo_workflows/model/host_alias.py
@@ -81,8 +81,8 @@ def openapi_types():
and the value is attribute type.
"""
return {
- 'hostnames': ([str],), # noqa: E501
'ip': (str,), # noqa: E501
+ 'hostnames': ([str],), # noqa: E501
}
@cached_property
@@ -91,8 +91,8 @@ def discriminator():
attribute_map = {
- 'hostnames': 'hostnames', # noqa: E501
'ip': 'ip', # noqa: E501
+ 'hostnames': 'hostnames', # noqa: E501
}
read_only_vars = {
@@ -102,9 +102,12 @@ def discriminator():
@classmethod
@convert_js_args_to_python_args
- def _from_openapi_data(cls, *args, **kwargs): # noqa: E501
+ def _from_openapi_data(cls, ip, *args, **kwargs): # noqa: E501
"""HostAlias - a model defined in OpenAPI
+ Args:
+ ip (str): IP address of the host file entry.
+
Keyword Args:
_check_type (bool): if True, values for parameters in openapi_types
will be type checked and a TypeError will be
@@ -137,7 +140,6 @@ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501
through its discriminator because we passed in
_visited_composed_classes = (Animal,)
hostnames ([str]): Hostnames for the above IP address.. [optional] # noqa: E501
- ip (str): IP address of the host file entry.. [optional] # noqa: E501
"""
_check_type = kwargs.pop('_check_type', True)
@@ -165,6 +167,7 @@ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501
self._configuration = _configuration
self._visited_composed_classes = _visited_composed_classes + (self.__class__,)
+ self.ip = ip
for var_name, var_value in kwargs.items():
if var_name not in self.attribute_map and \
self._configuration is not None and \
@@ -185,9 +188,12 @@ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501
])
@convert_js_args_to_python_args
- def __init__(self, *args, **kwargs): # noqa: E501
+ def __init__(self, ip, *args, **kwargs): # noqa: E501
"""HostAlias - a model defined in OpenAPI
+ Args:
+ ip (str): IP address of the host file entry.
+
Keyword Args:
_check_type (bool): if True, values for parameters in openapi_types
will be type checked and a TypeError will be
@@ -220,7 +226,6 @@ def __init__(self, *args, **kwargs): # noqa: E501
through its discriminator because we passed in
_visited_composed_classes = (Animal,)
hostnames ([str]): Hostnames for the above IP address.. [optional] # noqa: E501
- ip (str): IP address of the host file entry.. [optional] # noqa: E501
"""
_check_type = kwargs.pop('_check_type', True)
@@ -246,6 +251,7 @@ def __init__(self, *args, **kwargs): # noqa: E501
self._configuration = _configuration
self._visited_composed_classes = _visited_composed_classes + (self.__class__,)
+ self.ip = ip
for var_name, var_value in kwargs.items():
if var_name not in self.attribute_map and \
self._configuration is not None and \
diff --git a/sdks/python/client/argo_workflows/model/host_path_volume_source.py b/sdks/python/client/argo_workflows/model/host_path_volume_source.py
index 6f9191ddf18c..88cd8206f47e 100644
--- a/sdks/python/client/argo_workflows/model/host_path_volume_source.py
+++ b/sdks/python/client/argo_workflows/model/host_path_volume_source.py
@@ -106,7 +106,7 @@ def _from_openapi_data(cls, path, *args, **kwargs): # noqa: E501
"""HostPathVolumeSource - a model defined in OpenAPI
Args:
- path (str): Path of the directory on the host. If the path is a symlink, it will follow the link to the real path. More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath
+ path (str): path of the directory on the host. If the path is a symlink, it will follow the link to the real path. More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath
Keyword Args:
_check_type (bool): if True, values for parameters in openapi_types
@@ -139,7 +139,7 @@ def _from_openapi_data(cls, path, *args, **kwargs): # noqa: E501
Animal class but this time we won't travel
through its discriminator because we passed in
_visited_composed_classes = (Animal,)
- type (str): Type for HostPath Volume Defaults to \"\" More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath. [optional] # noqa: E501
+ type (str): type for HostPath Volume Defaults to \"\" More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath. [optional] # noqa: E501
"""
_check_type = kwargs.pop('_check_type', True)
@@ -192,7 +192,7 @@ def __init__(self, path, *args, **kwargs): # noqa: E501
"""HostPathVolumeSource - a model defined in OpenAPI
Args:
- path (str): Path of the directory on the host. If the path is a symlink, it will follow the link to the real path. More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath
+ path (str): path of the directory on the host. If the path is a symlink, it will follow the link to the real path. More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath
Keyword Args:
_check_type (bool): if True, values for parameters in openapi_types
@@ -225,7 +225,7 @@ def __init__(self, path, *args, **kwargs): # noqa: E501
Animal class but this time we won't travel
through its discriminator because we passed in
_visited_composed_classes = (Animal,)
- type (str): Type for HostPath Volume Defaults to \"\" More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath. [optional] # noqa: E501
+ type (str): type for HostPath Volume Defaults to \"\" More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath. [optional] # noqa: E501
"""
_check_type = kwargs.pop('_check_type', True)
diff --git a/sdks/python/client/argo_workflows/model/http_get_action.py b/sdks/python/client/argo_workflows/model/http_get_action.py
index 86a125d711f6..720481ca12c4 100644
--- a/sdks/python/client/argo_workflows/model/http_get_action.py
+++ b/sdks/python/client/argo_workflows/model/http_get_action.py
@@ -59,10 +59,6 @@ class HTTPGetAction(ModelNormal):
"""
allowed_values = {
- ('scheme',): {
- 'HTTP': "HTTP",
- 'HTTPS': "HTTPS",
- },
}
validations = {
@@ -158,7 +154,7 @@ def _from_openapi_data(cls, port, *args, **kwargs): # noqa: E501
host (str): Host name to connect to, defaults to the pod IP. You probably want to set \"Host\" in httpHeaders instead.. [optional] # noqa: E501
http_headers ([HTTPHeader]): Custom headers to set in the request. HTTP allows repeated headers.. [optional] # noqa: E501
path (str): Path to access on the HTTP server.. [optional] # noqa: E501
- scheme (str): Scheme to use for connecting to the host. Defaults to HTTP. Possible enum values: - `\"HTTP\"` means that the scheme used will be http:// - `\"HTTPS\"` means that the scheme used will be https://. [optional] # noqa: E501
+ scheme (str): Scheme to use for connecting to the host. Defaults to HTTP.. [optional] # noqa: E501
"""
_check_type = kwargs.pop('_check_type', True)
@@ -247,7 +243,7 @@ def __init__(self, port, *args, **kwargs): # noqa: E501
host (str): Host name to connect to, defaults to the pod IP. You probably want to set \"Host\" in httpHeaders instead.. [optional] # noqa: E501
http_headers ([HTTPHeader]): Custom headers to set in the request. HTTP allows repeated headers.. [optional] # noqa: E501
path (str): Path to access on the HTTP server.. [optional] # noqa: E501
- scheme (str): Scheme to use for connecting to the host. Defaults to HTTP. Possible enum values: - `\"HTTP\"` means that the scheme used will be http:// - `\"HTTPS\"` means that the scheme used will be https://. [optional] # noqa: E501
+ scheme (str): Scheme to use for connecting to the host. Defaults to HTTP.. [optional] # noqa: E501
"""
_check_type = kwargs.pop('_check_type', True)
diff --git a/sdks/python/client/argo_workflows/model/http_header.py b/sdks/python/client/argo_workflows/model/http_header.py
index de7ff70e9a83..e1d80342bada 100644
--- a/sdks/python/client/argo_workflows/model/http_header.py
+++ b/sdks/python/client/argo_workflows/model/http_header.py
@@ -106,7 +106,7 @@ def _from_openapi_data(cls, name, value, *args, **kwargs): # noqa: E501
"""HTTPHeader - a model defined in OpenAPI
Args:
- name (str): The header field name
+ name (str): The header field name. This will be canonicalized upon output, so case-variant names will be understood as the same header.
value (str): The header field value
Keyword Args:
@@ -193,7 +193,7 @@ def __init__(self, name, value, *args, **kwargs): # noqa: E501
"""HTTPHeader - a model defined in OpenAPI
Args:
- name (str): The header field name
+ name (str): The header field name. This will be canonicalized upon output, so case-variant names will be understood as the same header.
value (str): The header field value
Keyword Args:
diff --git a/sdks/python/client/argo_workflows/model/io_argoproj_workflow_v1alpha1_container_node.py b/sdks/python/client/argo_workflows/model/io_argoproj_workflow_v1alpha1_container_node.py
index ddca8f08b4fe..d1c7cb07a4e7 100644
--- a/sdks/python/client/argo_workflows/model/io_argoproj_workflow_v1alpha1_container_node.py
+++ b/sdks/python/client/argo_workflows/model/io_argoproj_workflow_v1alpha1_container_node.py
@@ -31,6 +31,7 @@
def lazy_import():
from argo_workflows.model.container_port import ContainerPort
+ from argo_workflows.model.container_resize_policy import ContainerResizePolicy
from argo_workflows.model.env_from_source import EnvFromSource
from argo_workflows.model.env_var import EnvVar
from argo_workflows.model.lifecycle import Lifecycle
@@ -40,6 +41,7 @@ def lazy_import():
from argo_workflows.model.volume_device import VolumeDevice
from argo_workflows.model.volume_mount import VolumeMount
globals()['ContainerPort'] = ContainerPort
+ globals()['ContainerResizePolicy'] = ContainerResizePolicy
globals()['EnvFromSource'] = EnvFromSource
globals()['EnvVar'] = EnvVar
globals()['Lifecycle'] = Lifecycle
@@ -115,7 +117,9 @@ def openapi_types():
'liveness_probe': (Probe,), # noqa: E501
'ports': ([ContainerPort],), # noqa: E501
'readiness_probe': (Probe,), # noqa: E501
+ 'resize_policy': ([ContainerResizePolicy],), # noqa: E501
'resources': (ResourceRequirements,), # noqa: E501
+ 'restart_policy': (str,), # noqa: E501
'security_context': (SecurityContext,), # noqa: E501
'startup_probe': (Probe,), # noqa: E501
'stdin': (bool,), # noqa: E501
@@ -146,7 +150,9 @@ def discriminator():
'liveness_probe': 'livenessProbe', # noqa: E501
'ports': 'ports', # noqa: E501
'readiness_probe': 'readinessProbe', # noqa: E501
+ 'resize_policy': 'resizePolicy', # noqa: E501
'resources': 'resources', # noqa: E501
+ 'restart_policy': 'restartPolicy', # noqa: E501
'security_context': 'securityContext', # noqa: E501
'startup_probe': 'startupProbe', # noqa: E501
'stdin': 'stdin', # noqa: E501
@@ -214,7 +220,9 @@ def _from_openapi_data(cls, name, *args, **kwargs): # noqa: E501
liveness_probe (Probe): [optional] # noqa: E501
ports ([ContainerPort]): List of ports to expose from the container. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default \"0.0.0.0\" address inside a container will be accessible from the network. Modifying this array with strategic merge patch may corrupt the data. For more information See https://github.com/kubernetes/kubernetes/issues/108255. Cannot be updated.. [optional] # noqa: E501
readiness_probe (Probe): [optional] # noqa: E501
+ resize_policy ([ContainerResizePolicy]): Resources resize policy for the container.. [optional] # noqa: E501
resources (ResourceRequirements): [optional] # noqa: E501
+ restart_policy (str): RestartPolicy defines the restart behavior of individual containers in a pod. This field may only be set for init containers, and the only allowed value is \"Always\". For non-init containers or when this field is not specified, the restart behavior is defined by the Pod's restart policy and the container type. Setting the RestartPolicy as \"Always\" for the init container will have the following effect: this init container will be continually restarted on exit until all regular containers have terminated. Once all regular containers have completed, all init containers with restartPolicy \"Always\" will be shut down. This lifecycle differs from normal init containers and is often referred to as a \"sidecar\" container. Although this init container still starts in the init container sequence, it does not wait for the container to complete before proceeding to the next init container. Instead, the next init container starts immediately after this init container is started, or after any startupProbe has successfully completed.. [optional] # noqa: E501
security_context (SecurityContext): [optional] # noqa: E501
startup_probe (Probe): [optional] # noqa: E501
stdin (bool): Whether this container should allocate a buffer for stdin in the container runtime. If this is not set, reads from stdin in the container will always result in EOF. Default is false.. [optional] # noqa: E501
@@ -321,7 +329,9 @@ def __init__(self, name, *args, **kwargs): # noqa: E501
liveness_probe (Probe): [optional] # noqa: E501
ports ([ContainerPort]): List of ports to expose from the container. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default \"0.0.0.0\" address inside a container will be accessible from the network. Modifying this array with strategic merge patch may corrupt the data. For more information See https://github.com/kubernetes/kubernetes/issues/108255. Cannot be updated.. [optional] # noqa: E501
readiness_probe (Probe): [optional] # noqa: E501
+ resize_policy ([ContainerResizePolicy]): Resources resize policy for the container.. [optional] # noqa: E501
resources (ResourceRequirements): [optional] # noqa: E501
+ restart_policy (str): RestartPolicy defines the restart behavior of individual containers in a pod. This field may only be set for init containers, and the only allowed value is \"Always\". For non-init containers or when this field is not specified, the restart behavior is defined by the Pod's restart policy and the container type. Setting the RestartPolicy as \"Always\" for the init container will have the following effect: this init container will be continually restarted on exit until all regular containers have terminated. Once all regular containers have completed, all init containers with restartPolicy \"Always\" will be shut down. This lifecycle differs from normal init containers and is often referred to as a \"sidecar\" container. Although this init container still starts in the init container sequence, it does not wait for the container to complete before proceeding to the next init container. Instead, the next init container starts immediately after this init container is started, or after any startupProbe has successfully completed.. [optional] # noqa: E501
security_context (SecurityContext): [optional] # noqa: E501
startup_probe (Probe): [optional] # noqa: E501
stdin (bool): Whether this container should allocate a buffer for stdin in the container runtime. If this is not set, reads from stdin in the container will always result in EOF. Default is false.. [optional] # noqa: E501
diff --git a/sdks/python/client/argo_workflows/model/io_argoproj_workflow_v1alpha1_cron_workflow_spec.py b/sdks/python/client/argo_workflows/model/io_argoproj_workflow_v1alpha1_cron_workflow_spec.py
index c46fe57be116..21f45702493c 100644
--- a/sdks/python/client/argo_workflows/model/io_argoproj_workflow_v1alpha1_cron_workflow_spec.py
+++ b/sdks/python/client/argo_workflows/model/io_argoproj_workflow_v1alpha1_cron_workflow_spec.py
@@ -91,16 +91,17 @@ def openapi_types():
"""
lazy_import()
return {
- 'schedule': (str,), # noqa: E501
'workflow_spec': (IoArgoprojWorkflowV1alpha1WorkflowSpec,), # noqa: E501
'concurrency_policy': (str,), # noqa: E501
'failed_jobs_history_limit': (int,), # noqa: E501
+ 'schedule': (str,), # noqa: E501
'schedules': ([str],), # noqa: E501
'starting_deadline_seconds': (int,), # noqa: E501
'stop_strategy': (IoArgoprojWorkflowV1alpha1StopStrategy,), # noqa: E501
'successful_jobs_history_limit': (int,), # noqa: E501
'suspend': (bool,), # noqa: E501
'timezone': (str,), # noqa: E501
+ 'when': (str,), # noqa: E501
'workflow_metadata': (ObjectMeta,), # noqa: E501
}
@@ -110,16 +111,17 @@ def discriminator():
attribute_map = {
- 'schedule': 'schedule', # noqa: E501
'workflow_spec': 'workflowSpec', # noqa: E501
'concurrency_policy': 'concurrencyPolicy', # noqa: E501
'failed_jobs_history_limit': 'failedJobsHistoryLimit', # noqa: E501
+ 'schedule': 'schedule', # noqa: E501
'schedules': 'schedules', # noqa: E501
'starting_deadline_seconds': 'startingDeadlineSeconds', # noqa: E501
'stop_strategy': 'stopStrategy', # noqa: E501
'successful_jobs_history_limit': 'successfulJobsHistoryLimit', # noqa: E501
'suspend': 'suspend', # noqa: E501
'timezone': 'timezone', # noqa: E501
+ 'when': 'when', # noqa: E501
'workflow_metadata': 'workflowMetadata', # noqa: E501
}
@@ -130,11 +132,10 @@ def discriminator():
@classmethod
@convert_js_args_to_python_args
- def _from_openapi_data(cls, schedule, workflow_spec, *args, **kwargs): # noqa: E501
+ def _from_openapi_data(cls, workflow_spec, *args, **kwargs): # noqa: E501
"""IoArgoprojWorkflowV1alpha1CronWorkflowSpec - a model defined in OpenAPI
Args:
- schedule (str): Schedule is a schedule to run the Workflow in Cron format
workflow_spec (IoArgoprojWorkflowV1alpha1WorkflowSpec):
Keyword Args:
@@ -170,12 +171,14 @@ def _from_openapi_data(cls, schedule, workflow_spec, *args, **kwargs): # noqa:
_visited_composed_classes = (Animal,)
concurrency_policy (str): ConcurrencyPolicy is the K8s-style concurrency policy that will be used. [optional] # noqa: E501
failed_jobs_history_limit (int): FailedJobsHistoryLimit is the number of failed jobs to be kept at a time. [optional] # noqa: E501
- schedules ([str]): Schedules is a list of schedules to run the Workflow in Cron format. [optional] # noqa: E501
+ schedule (str): Schedule is a schedule to run the Workflow in Cron format. Deprecated, use Schedules. [optional] # noqa: E501
+ schedules ([str]): v3.6 and after: Schedules is a list of schedules to run the Workflow in Cron format. [optional] # noqa: E501
starting_deadline_seconds (int): StartingDeadlineSeconds is the K8s-style deadline that will limit the time a CronWorkflow will be run after its original scheduled time if it is missed.. [optional] # noqa: E501
stop_strategy (IoArgoprojWorkflowV1alpha1StopStrategy): [optional] # noqa: E501
successful_jobs_history_limit (int): SuccessfulJobsHistoryLimit is the number of successful jobs to be kept at a time. [optional] # noqa: E501
suspend (bool): Suspend is a flag that will stop new CronWorkflows from running if set to true. [optional] # noqa: E501
timezone (str): Timezone is the timezone against which the cron schedule will be calculated, e.g. \"Asia/Tokyo\". Default is machine's local time.. [optional] # noqa: E501
+ when (str): v3.6 and after: When is an expression that determines if a run should be scheduled.. [optional] # noqa: E501
workflow_metadata (ObjectMeta): [optional] # noqa: E501
"""
@@ -204,7 +207,6 @@ def _from_openapi_data(cls, schedule, workflow_spec, *args, **kwargs): # noqa:
self._configuration = _configuration
self._visited_composed_classes = _visited_composed_classes + (self.__class__,)
- self.schedule = schedule
self.workflow_spec = workflow_spec
for var_name, var_value in kwargs.items():
if var_name not in self.attribute_map and \
@@ -226,11 +228,10 @@ def _from_openapi_data(cls, schedule, workflow_spec, *args, **kwargs): # noqa:
])
@convert_js_args_to_python_args
- def __init__(self, schedule, workflow_spec, *args, **kwargs): # noqa: E501
+ def __init__(self, workflow_spec, *args, **kwargs): # noqa: E501
"""IoArgoprojWorkflowV1alpha1CronWorkflowSpec - a model defined in OpenAPI
Args:
- schedule (str): Schedule is a schedule to run the Workflow in Cron format
workflow_spec (IoArgoprojWorkflowV1alpha1WorkflowSpec):
Keyword Args:
@@ -266,12 +267,14 @@ def __init__(self, schedule, workflow_spec, *args, **kwargs): # noqa: E501
_visited_composed_classes = (Animal,)
concurrency_policy (str): ConcurrencyPolicy is the K8s-style concurrency policy that will be used. [optional] # noqa: E501
failed_jobs_history_limit (int): FailedJobsHistoryLimit is the number of failed jobs to be kept at a time. [optional] # noqa: E501
- schedules ([str]): Schedules is a list of schedules to run the Workflow in Cron format. [optional] # noqa: E501
+ schedule (str): Schedule is a schedule to run the Workflow in Cron format. Deprecated, use Schedules. [optional] # noqa: E501
+ schedules ([str]): v3.6 and after: Schedules is a list of schedules to run the Workflow in Cron format. [optional] # noqa: E501
starting_deadline_seconds (int): StartingDeadlineSeconds is the K8s-style deadline that will limit the time a CronWorkflow will be run after its original scheduled time if it is missed.. [optional] # noqa: E501
stop_strategy (IoArgoprojWorkflowV1alpha1StopStrategy): [optional] # noqa: E501
successful_jobs_history_limit (int): SuccessfulJobsHistoryLimit is the number of successful jobs to be kept at a time. [optional] # noqa: E501
suspend (bool): Suspend is a flag that will stop new CronWorkflows from running if set to true. [optional] # noqa: E501
timezone (str): Timezone is the timezone against which the cron schedule will be calculated, e.g. \"Asia/Tokyo\". Default is machine's local time.. [optional] # noqa: E501
+ when (str): v3.6 and after: When is an expression that determines if a run should be scheduled.. [optional] # noqa: E501
workflow_metadata (ObjectMeta): [optional] # noqa: E501
"""
@@ -298,7 +301,6 @@ def __init__(self, schedule, workflow_spec, *args, **kwargs): # noqa: E501
self._configuration = _configuration
self._visited_composed_classes = _visited_composed_classes + (self.__class__,)
- self.schedule = schedule
self.workflow_spec = workflow_spec
for var_name, var_value in kwargs.items():
if var_name not in self.attribute_map and \
diff --git a/sdks/python/client/argo_workflows/model/io_argoproj_workflow_v1alpha1_git_artifact.py b/sdks/python/client/argo_workflows/model/io_argoproj_workflow_v1alpha1_git_artifact.py
index 41b4b8287f67..fd9a08532bb8 100644
--- a/sdks/python/client/argo_workflows/model/io_argoproj_workflow_v1alpha1_git_artifact.py
+++ b/sdks/python/client/argo_workflows/model/io_argoproj_workflow_v1alpha1_git_artifact.py
@@ -93,6 +93,7 @@ def openapi_types():
'disable_submodules': (bool,), # noqa: E501
'fetch': ([str],), # noqa: E501
'insecure_ignore_host_key': (bool,), # noqa: E501
+ 'insecure_skip_tls': (bool,), # noqa: E501
'password_secret': (SecretKeySelector,), # noqa: E501
'revision': (str,), # noqa: E501
'single_branch': (bool,), # noqa: E501
@@ -112,6 +113,7 @@ def discriminator():
'disable_submodules': 'disableSubmodules', # noqa: E501
'fetch': 'fetch', # noqa: E501
'insecure_ignore_host_key': 'insecureIgnoreHostKey', # noqa: E501
+ 'insecure_skip_tls': 'insecureSkipTLS', # noqa: E501
'password_secret': 'passwordSecret', # noqa: E501
'revision': 'revision', # noqa: E501
'single_branch': 'singleBranch', # noqa: E501
@@ -168,6 +170,7 @@ def _from_openapi_data(cls, repo, *args, **kwargs): # noqa: E501
disable_submodules (bool): DisableSubmodules disables submodules during git clone. [optional] # noqa: E501
fetch ([str]): Fetch specifies a number of refs that should be fetched before checkout. [optional] # noqa: E501
insecure_ignore_host_key (bool): InsecureIgnoreHostKey disables SSH strict host key checking during git clone. [optional] # noqa: E501
+ insecure_skip_tls (bool): InsecureSkipTLS disables server certificate verification resulting in insecure HTTPS connections. [optional] # noqa: E501
password_secret (SecretKeySelector): [optional] # noqa: E501
revision (str): Revision is the git commit, tag, branch to checkout. [optional] # noqa: E501
single_branch (bool): SingleBranch enables single branch clone, using the `branch` parameter. [optional] # noqa: E501
@@ -263,6 +266,7 @@ def __init__(self, repo, *args, **kwargs): # noqa: E501
disable_submodules (bool): DisableSubmodules disables submodules during git clone. [optional] # noqa: E501
fetch ([str]): Fetch specifies a number of refs that should be fetched before checkout. [optional] # noqa: E501
insecure_ignore_host_key (bool): InsecureIgnoreHostKey disables SSH strict host key checking during git clone. [optional] # noqa: E501
+ insecure_skip_tls (bool): InsecureSkipTLS disables server certificate verification resulting in insecure HTTPS connections. [optional] # noqa: E501
password_secret (SecretKeySelector): [optional] # noqa: E501
revision (str): Revision is the git commit, tag, branch to checkout. [optional] # noqa: E501
single_branch (bool): SingleBranch enables single branch clone, using the `branch` parameter. [optional] # noqa: E501
diff --git a/sdks/python/client/argo_workflows/model/io_argoproj_workflow_v1alpha1_s3_artifact.py b/sdks/python/client/argo_workflows/model/io_argoproj_workflow_v1alpha1_s3_artifact.py
index fd019b40a4b6..9b6e62a81885 100644
--- a/sdks/python/client/argo_workflows/model/io_argoproj_workflow_v1alpha1_s3_artifact.py
+++ b/sdks/python/client/argo_workflows/model/io_argoproj_workflow_v1alpha1_s3_artifact.py
@@ -102,6 +102,7 @@ def openapi_types():
'region': (str,), # noqa: E501
'role_arn': (str,), # noqa: E501
'secret_key_secret': (SecretKeySelector,), # noqa: E501
+ 'session_token_secret': (SecretKeySelector,), # noqa: E501
'use_sdk_creds': (bool,), # noqa: E501
}
@@ -122,6 +123,7 @@ def discriminator():
'region': 'region', # noqa: E501
'role_arn': 'roleARN', # noqa: E501
'secret_key_secret': 'secretKeySecret', # noqa: E501
+ 'session_token_secret': 'sessionTokenSecret', # noqa: E501
'use_sdk_creds': 'useSDKCreds', # noqa: E501
}
@@ -177,6 +179,7 @@ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501
region (str): Region contains the optional bucket region. [optional] # noqa: E501
role_arn (str): RoleARN is the Amazon Resource Name (ARN) of the role to assume.. [optional] # noqa: E501
secret_key_secret (SecretKeySelector): [optional] # noqa: E501
+ session_token_secret (SecretKeySelector): [optional] # noqa: E501
use_sdk_creds (bool): UseSDKCreds tells the driver to figure out credentials based on sdk defaults.. [optional] # noqa: E501
"""
@@ -270,6 +273,7 @@ def __init__(self, *args, **kwargs): # noqa: E501
region (str): Region contains the optional bucket region. [optional] # noqa: E501
role_arn (str): RoleARN is the Amazon Resource Name (ARN) of the role to assume.. [optional] # noqa: E501
secret_key_secret (SecretKeySelector): [optional] # noqa: E501
+ session_token_secret (SecretKeySelector): [optional] # noqa: E501
use_sdk_creds (bool): UseSDKCreds tells the driver to figure out credentials based on sdk defaults.. [optional] # noqa: E501
"""
diff --git a/sdks/python/client/argo_workflows/model/io_argoproj_workflow_v1alpha1_s3_artifact_repository.py b/sdks/python/client/argo_workflows/model/io_argoproj_workflow_v1alpha1_s3_artifact_repository.py
index c61fa854ac92..18f16fa8237f 100644
--- a/sdks/python/client/argo_workflows/model/io_argoproj_workflow_v1alpha1_s3_artifact_repository.py
+++ b/sdks/python/client/argo_workflows/model/io_argoproj_workflow_v1alpha1_s3_artifact_repository.py
@@ -103,6 +103,7 @@ def openapi_types():
'region': (str,), # noqa: E501
'role_arn': (str,), # noqa: E501
'secret_key_secret': (SecretKeySelector,), # noqa: E501
+ 'session_token_secret': (SecretKeySelector,), # noqa: E501
'use_sdk_creds': (bool,), # noqa: E501
}
@@ -124,6 +125,7 @@ def discriminator():
'region': 'region', # noqa: E501
'role_arn': 'roleARN', # noqa: E501
'secret_key_secret': 'secretKeySecret', # noqa: E501
+ 'session_token_secret': 'sessionTokenSecret', # noqa: E501
'use_sdk_creds': 'useSDKCreds', # noqa: E501
}
@@ -180,6 +182,7 @@ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501
region (str): Region contains the optional bucket region. [optional] # noqa: E501
role_arn (str): RoleARN is the Amazon Resource Name (ARN) of the role to assume.. [optional] # noqa: E501
secret_key_secret (SecretKeySelector): [optional] # noqa: E501
+ session_token_secret (SecretKeySelector): [optional] # noqa: E501
use_sdk_creds (bool): UseSDKCreds tells the driver to figure out credentials based on sdk defaults.. [optional] # noqa: E501
"""
@@ -274,6 +277,7 @@ def __init__(self, *args, **kwargs): # noqa: E501
region (str): Region contains the optional bucket region. [optional] # noqa: E501
role_arn (str): RoleARN is the Amazon Resource Name (ARN) of the role to assume.. [optional] # noqa: E501
secret_key_secret (SecretKeySelector): [optional] # noqa: E501
+ session_token_secret (SecretKeySelector): [optional] # noqa: E501
use_sdk_creds (bool): UseSDKCreds tells the driver to figure out credentials based on sdk defaults.. [optional] # noqa: E501
"""
diff --git a/sdks/python/client/argo_workflows/model/io_argoproj_workflow_v1alpha1_script_template.py b/sdks/python/client/argo_workflows/model/io_argoproj_workflow_v1alpha1_script_template.py
index 705f283bf03d..3da02d7cd4d1 100644
--- a/sdks/python/client/argo_workflows/model/io_argoproj_workflow_v1alpha1_script_template.py
+++ b/sdks/python/client/argo_workflows/model/io_argoproj_workflow_v1alpha1_script_template.py
@@ -31,6 +31,7 @@
def lazy_import():
from argo_workflows.model.container_port import ContainerPort
+ from argo_workflows.model.container_resize_policy import ContainerResizePolicy
from argo_workflows.model.env_from_source import EnvFromSource
from argo_workflows.model.env_var import EnvVar
from argo_workflows.model.lifecycle import Lifecycle
@@ -40,6 +41,7 @@ def lazy_import():
from argo_workflows.model.volume_device import VolumeDevice
from argo_workflows.model.volume_mount import VolumeMount
globals()['ContainerPort'] = ContainerPort
+ globals()['ContainerResizePolicy'] = ContainerResizePolicy
globals()['EnvFromSource'] = EnvFromSource
globals()['EnvVar'] = EnvVar
globals()['Lifecycle'] = Lifecycle
@@ -115,7 +117,9 @@ def openapi_types():
'name': (str,), # noqa: E501
'ports': ([ContainerPort],), # noqa: E501
'readiness_probe': (Probe,), # noqa: E501
+ 'resize_policy': ([ContainerResizePolicy],), # noqa: E501
'resources': (ResourceRequirements,), # noqa: E501
+ 'restart_policy': (str,), # noqa: E501
'security_context': (SecurityContext,), # noqa: E501
'startup_probe': (Probe,), # noqa: E501
'stdin': (bool,), # noqa: E501
@@ -146,7 +150,9 @@ def discriminator():
'name': 'name', # noqa: E501
'ports': 'ports', # noqa: E501
'readiness_probe': 'readinessProbe', # noqa: E501
+ 'resize_policy': 'resizePolicy', # noqa: E501
'resources': 'resources', # noqa: E501
+ 'restart_policy': 'restartPolicy', # noqa: E501
'security_context': 'securityContext', # noqa: E501
'startup_probe': 'startupProbe', # noqa: E501
'stdin': 'stdin', # noqa: E501
@@ -214,7 +220,9 @@ def _from_openapi_data(cls, image, source, *args, **kwargs): # noqa: E501
name (str): Name of the container specified as a DNS_LABEL. Each container in a pod must have a unique name (DNS_LABEL). Cannot be updated.. [optional] # noqa: E501
ports ([ContainerPort]): List of ports to expose from the container. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default \"0.0.0.0\" address inside a container will be accessible from the network. Modifying this array with strategic merge patch may corrupt the data. For more information See https://github.com/kubernetes/kubernetes/issues/108255. Cannot be updated.. [optional] # noqa: E501
readiness_probe (Probe): [optional] # noqa: E501
+ resize_policy ([ContainerResizePolicy]): Resources resize policy for the container.. [optional] # noqa: E501
resources (ResourceRequirements): [optional] # noqa: E501
+ restart_policy (str): RestartPolicy defines the restart behavior of individual containers in a pod. This field may only be set for init containers, and the only allowed value is \"Always\". For non-init containers or when this field is not specified, the restart behavior is defined by the Pod's restart policy and the container type. Setting the RestartPolicy as \"Always\" for the init container will have the following effect: this init container will be continually restarted on exit until all regular containers have terminated. Once all regular containers have completed, all init containers with restartPolicy \"Always\" will be shut down. This lifecycle differs from normal init containers and is often referred to as a \"sidecar\" container. Although this init container still starts in the init container sequence, it does not wait for the container to complete before proceeding to the next init container. Instead, the next init container starts immediately after this init container is started, or after any startupProbe has successfully completed.. [optional] # noqa: E501
security_context (SecurityContext): [optional] # noqa: E501
startup_probe (Probe): [optional] # noqa: E501
stdin (bool): Whether this container should allocate a buffer for stdin in the container runtime. If this is not set, reads from stdin in the container will always result in EOF. Default is false.. [optional] # noqa: E501
@@ -322,7 +330,9 @@ def __init__(self, image, source, *args, **kwargs): # noqa: E501
name (str): Name of the container specified as a DNS_LABEL. Each container in a pod must have a unique name (DNS_LABEL). Cannot be updated.. [optional] # noqa: E501
ports ([ContainerPort]): List of ports to expose from the container. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default \"0.0.0.0\" address inside a container will be accessible from the network. Modifying this array with strategic merge patch may corrupt the data. For more information See https://github.com/kubernetes/kubernetes/issues/108255. Cannot be updated.. [optional] # noqa: E501
readiness_probe (Probe): [optional] # noqa: E501
+ resize_policy ([ContainerResizePolicy]): Resources resize policy for the container.. [optional] # noqa: E501
resources (ResourceRequirements): [optional] # noqa: E501
+ restart_policy (str): RestartPolicy defines the restart behavior of individual containers in a pod. This field may only be set for init containers, and the only allowed value is \"Always\". For non-init containers or when this field is not specified, the restart behavior is defined by the Pod's restart policy and the container type. Setting the RestartPolicy as \"Always\" for the init container will have the following effect: this init container will be continually restarted on exit until all regular containers have terminated. Once all regular containers have completed, all init containers with restartPolicy \"Always\" will be shut down. This lifecycle differs from normal init containers and is often referred to as a \"sidecar\" container. Although this init container still starts in the init container sequence, it does not wait for the container to complete before proceeding to the next init container. Instead, the next init container starts immediately after this init container is started, or after any startupProbe has successfully completed.. [optional] # noqa: E501
security_context (SecurityContext): [optional] # noqa: E501
startup_probe (Probe): [optional] # noqa: E501
stdin (bool): Whether this container should allocate a buffer for stdin in the container runtime. If this is not set, reads from stdin in the container will always result in EOF. Default is false.. [optional] # noqa: E501
diff --git a/sdks/python/client/argo_workflows/model/io_argoproj_workflow_v1alpha1_stop_strategy.py b/sdks/python/client/argo_workflows/model/io_argoproj_workflow_v1alpha1_stop_strategy.py
index 9bf92e344fbc..4293f0145f15 100644
--- a/sdks/python/client/argo_workflows/model/io_argoproj_workflow_v1alpha1_stop_strategy.py
+++ b/sdks/python/client/argo_workflows/model/io_argoproj_workflow_v1alpha1_stop_strategy.py
@@ -81,7 +81,7 @@ def openapi_types():
and the value is attribute type.
"""
return {
- 'condition': (str,), # noqa: E501
+ 'expression': (str,), # noqa: E501
}
@cached_property
@@ -90,7 +90,7 @@ def discriminator():
attribute_map = {
- 'condition': 'condition', # noqa: E501
+ 'expression': 'expression', # noqa: E501
}
read_only_vars = {
@@ -100,11 +100,11 @@ def discriminator():
@classmethod
@convert_js_args_to_python_args
- def _from_openapi_data(cls, condition, *args, **kwargs): # noqa: E501
+ def _from_openapi_data(cls, expression, *args, **kwargs): # noqa: E501
"""IoArgoprojWorkflowV1alpha1StopStrategy - a model defined in OpenAPI
Args:
- condition (str): v3.6 and after: Condition is an expression that stops scheduling workflows when true. Use the variables `failed` or `succeeded` to access the number of failed or successful child workflows.
+ expression (str): v3.6 and after: Expression is an expression that stops scheduling workflows when true. Use the variables `cronworkflow`.`failed` or `cronworkflow`.`succeeded` to access the number of failed or successful child workflows.
Keyword Args:
_check_type (bool): if True, values for parameters in openapi_types
@@ -164,7 +164,7 @@ def _from_openapi_data(cls, condition, *args, **kwargs): # noqa: E501
self._configuration = _configuration
self._visited_composed_classes = _visited_composed_classes + (self.__class__,)
- self.condition = condition
+ self.expression = expression
for var_name, var_value in kwargs.items():
if var_name not in self.attribute_map and \
self._configuration is not None and \
@@ -185,11 +185,11 @@ def _from_openapi_data(cls, condition, *args, **kwargs): # noqa: E501
])
@convert_js_args_to_python_args
- def __init__(self, condition, *args, **kwargs): # noqa: E501
+ def __init__(self, expression, *args, **kwargs): # noqa: E501
"""IoArgoprojWorkflowV1alpha1StopStrategy - a model defined in OpenAPI
Args:
- condition (str): v3.6 and after: Condition is an expression that stops scheduling workflows when true. Use the variables `failed` or `succeeded` to access the number of failed or successful child workflows.
+ expression (str): v3.6 and after: Expression is an expression that stops scheduling workflows when true. Use the variables `cronworkflow`.`failed` or `cronworkflow`.`succeeded` to access the number of failed or successful child workflows.
Keyword Args:
_check_type (bool): if True, values for parameters in openapi_types
@@ -247,7 +247,7 @@ def __init__(self, condition, *args, **kwargs): # noqa: E501
self._configuration = _configuration
self._visited_composed_classes = _visited_composed_classes + (self.__class__,)
- self.condition = condition
+ self.expression = expression
for var_name, var_value in kwargs.items():
if var_name not in self.attribute_map and \
self._configuration is not None and \
diff --git a/sdks/python/client/argo_workflows/model/io_argoproj_workflow_v1alpha1_synchronization.py b/sdks/python/client/argo_workflows/model/io_argoproj_workflow_v1alpha1_synchronization.py
index 3c3a131cbb58..c92ea14a75b2 100644
--- a/sdks/python/client/argo_workflows/model/io_argoproj_workflow_v1alpha1_synchronization.py
+++ b/sdks/python/client/argo_workflows/model/io_argoproj_workflow_v1alpha1_synchronization.py
@@ -90,7 +90,9 @@ def openapi_types():
lazy_import()
return {
'mutex': (IoArgoprojWorkflowV1alpha1Mutex,), # noqa: E501
+ 'mutexes': ([IoArgoprojWorkflowV1alpha1Mutex],), # noqa: E501
'semaphore': (IoArgoprojWorkflowV1alpha1SemaphoreRef,), # noqa: E501
+ 'semaphores': ([IoArgoprojWorkflowV1alpha1SemaphoreRef],), # noqa: E501
}
@cached_property
@@ -100,7 +102,9 @@ def discriminator():
attribute_map = {
'mutex': 'mutex', # noqa: E501
+ 'mutexes': 'mutexes', # noqa: E501
'semaphore': 'semaphore', # noqa: E501
+ 'semaphores': 'semaphores', # noqa: E501
}
read_only_vars = {
@@ -145,7 +149,9 @@ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501
through its discriminator because we passed in
_visited_composed_classes = (Animal,)
mutex (IoArgoprojWorkflowV1alpha1Mutex): [optional] # noqa: E501
+ mutexes ([IoArgoprojWorkflowV1alpha1Mutex]): v3.6 and after: Mutexes holds the list of Mutex lock details. [optional] # noqa: E501
semaphore (IoArgoprojWorkflowV1alpha1SemaphoreRef): [optional] # noqa: E501
+ semaphores ([IoArgoprojWorkflowV1alpha1SemaphoreRef]): v3.6 and after: Semaphores holds the list of Semaphores configuration. [optional] # noqa: E501
"""
_check_type = kwargs.pop('_check_type', True)
@@ -228,7 +234,9 @@ def __init__(self, *args, **kwargs): # noqa: E501
through its discriminator because we passed in
_visited_composed_classes = (Animal,)
mutex (IoArgoprojWorkflowV1alpha1Mutex): [optional] # noqa: E501
+ mutexes ([IoArgoprojWorkflowV1alpha1Mutex]): v3.6 and after: Mutexes holds the list of Mutex lock details. [optional] # noqa: E501
semaphore (IoArgoprojWorkflowV1alpha1SemaphoreRef): [optional] # noqa: E501
+ semaphores ([IoArgoprojWorkflowV1alpha1SemaphoreRef]): v3.6 and after: Semaphores holds the list of Semaphores configuration. [optional] # noqa: E501
"""
_check_type = kwargs.pop('_check_type', True)
diff --git a/sdks/python/client/argo_workflows/model/io_argoproj_workflow_v1alpha1_user_container.py b/sdks/python/client/argo_workflows/model/io_argoproj_workflow_v1alpha1_user_container.py
index e34e9a108e5b..5fb8d3ee11c6 100644
--- a/sdks/python/client/argo_workflows/model/io_argoproj_workflow_v1alpha1_user_container.py
+++ b/sdks/python/client/argo_workflows/model/io_argoproj_workflow_v1alpha1_user_container.py
@@ -31,6 +31,7 @@
def lazy_import():
from argo_workflows.model.container_port import ContainerPort
+ from argo_workflows.model.container_resize_policy import ContainerResizePolicy
from argo_workflows.model.env_from_source import EnvFromSource
from argo_workflows.model.env_var import EnvVar
from argo_workflows.model.lifecycle import Lifecycle
@@ -40,6 +41,7 @@ def lazy_import():
from argo_workflows.model.volume_device import VolumeDevice
from argo_workflows.model.volume_mount import VolumeMount
globals()['ContainerPort'] = ContainerPort
+ globals()['ContainerResizePolicy'] = ContainerResizePolicy
globals()['EnvFromSource'] = EnvFromSource
globals()['EnvVar'] = EnvVar
globals()['Lifecycle'] = Lifecycle
@@ -115,7 +117,9 @@ def openapi_types():
'mirror_volume_mounts': (bool,), # noqa: E501
'ports': ([ContainerPort],), # noqa: E501
'readiness_probe': (Probe,), # noqa: E501
+ 'resize_policy': ([ContainerResizePolicy],), # noqa: E501
'resources': (ResourceRequirements,), # noqa: E501
+ 'restart_policy': (str,), # noqa: E501
'security_context': (SecurityContext,), # noqa: E501
'startup_probe': (Probe,), # noqa: E501
'stdin': (bool,), # noqa: E501
@@ -146,7 +150,9 @@ def discriminator():
'mirror_volume_mounts': 'mirrorVolumeMounts', # noqa: E501
'ports': 'ports', # noqa: E501
'readiness_probe': 'readinessProbe', # noqa: E501
+ 'resize_policy': 'resizePolicy', # noqa: E501
'resources': 'resources', # noqa: E501
+ 'restart_policy': 'restartPolicy', # noqa: E501
'security_context': 'securityContext', # noqa: E501
'startup_probe': 'startupProbe', # noqa: E501
'stdin': 'stdin', # noqa: E501
@@ -214,7 +220,9 @@ def _from_openapi_data(cls, name, *args, **kwargs): # noqa: E501
mirror_volume_mounts (bool): MirrorVolumeMounts will mount the same volumes specified in the main container to the container (including artifacts), at the same mountPaths. This enables dind daemon to partially see the same filesystem as the main container in order to use features such as docker volume binding. [optional] # noqa: E501
ports ([ContainerPort]): List of ports to expose from the container. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default \"0.0.0.0\" address inside a container will be accessible from the network. Modifying this array with strategic merge patch may corrupt the data. For more information See https://github.com/kubernetes/kubernetes/issues/108255. Cannot be updated.. [optional] # noqa: E501
readiness_probe (Probe): [optional] # noqa: E501
+ resize_policy ([ContainerResizePolicy]): Resources resize policy for the container.. [optional] # noqa: E501
resources (ResourceRequirements): [optional] # noqa: E501
+ restart_policy (str): RestartPolicy defines the restart behavior of individual containers in a pod. This field may only be set for init containers, and the only allowed value is \"Always\". For non-init containers or when this field is not specified, the restart behavior is defined by the Pod's restart policy and the container type. Setting the RestartPolicy as \"Always\" for the init container will have the following effect: this init container will be continually restarted on exit until all regular containers have terminated. Once all regular containers have completed, all init containers with restartPolicy \"Always\" will be shut down. This lifecycle differs from normal init containers and is often referred to as a \"sidecar\" container. Although this init container still starts in the init container sequence, it does not wait for the container to complete before proceeding to the next init container. Instead, the next init container starts immediately after this init container is started, or after any startupProbe has successfully completed.. [optional] # noqa: E501
security_context (SecurityContext): [optional] # noqa: E501
startup_probe (Probe): [optional] # noqa: E501
stdin (bool): Whether this container should allocate a buffer for stdin in the container runtime. If this is not set, reads from stdin in the container will always result in EOF. Default is false.. [optional] # noqa: E501
@@ -321,7 +329,9 @@ def __init__(self, name, *args, **kwargs): # noqa: E501
mirror_volume_mounts (bool): MirrorVolumeMounts will mount the same volumes specified in the main container to the container (including artifacts), at the same mountPaths. This enables dind daemon to partially see the same filesystem as the main container in order to use features such as docker volume binding. [optional] # noqa: E501
ports ([ContainerPort]): List of ports to expose from the container. Not specifying a port here DOES NOT prevent that port from being exposed. Any port which is listening on the default \"0.0.0.0\" address inside a container will be accessible from the network. Modifying this array with strategic merge patch may corrupt the data. For more information See https://github.com/kubernetes/kubernetes/issues/108255. Cannot be updated.. [optional] # noqa: E501
readiness_probe (Probe): [optional] # noqa: E501
+ resize_policy ([ContainerResizePolicy]): Resources resize policy for the container.. [optional] # noqa: E501
resources (ResourceRequirements): [optional] # noqa: E501
+ restart_policy (str): RestartPolicy defines the restart behavior of individual containers in a pod. This field may only be set for init containers, and the only allowed value is \"Always\". For non-init containers or when this field is not specified, the restart behavior is defined by the Pod's restart policy and the container type. Setting the RestartPolicy as \"Always\" for the init container will have the following effect: this init container will be continually restarted on exit until all regular containers have terminated. Once all regular containers have completed, all init containers with restartPolicy \"Always\" will be shut down. This lifecycle differs from normal init containers and is often referred to as a \"sidecar\" container. Although this init container still starts in the init container sequence, it does not wait for the container to complete before proceeding to the next init container. Instead, the next init container starts immediately after this init container is started, or after any startupProbe has successfully completed.. [optional] # noqa: E501
security_context (SecurityContext): [optional] # noqa: E501
startup_probe (Probe): [optional] # noqa: E501
stdin (bool): Whether this container should allocate a buffer for stdin in the container runtime. If this is not set, reads from stdin in the container will always result in EOF. Default is false.. [optional] # noqa: E501
diff --git a/sdks/python/client/argo_workflows/model/io_k8s_api_policy_v1_pod_disruption_budget_spec.py b/sdks/python/client/argo_workflows/model/io_k8s_api_policy_v1_pod_disruption_budget_spec.py
index 4f71a528489e..5450eb710a35 100644
--- a/sdks/python/client/argo_workflows/model/io_k8s_api_policy_v1_pod_disruption_budget_spec.py
+++ b/sdks/python/client/argo_workflows/model/io_k8s_api_policy_v1_pod_disruption_budget_spec.py
@@ -90,6 +90,7 @@ def openapi_types():
'max_unavailable': (str,), # noqa: E501
'min_available': (str,), # noqa: E501
'selector': (LabelSelector,), # noqa: E501
+ 'unhealthy_pod_eviction_policy': (str,), # noqa: E501
}
@cached_property
@@ -101,6 +102,7 @@ def discriminator():
'max_unavailable': 'maxUnavailable', # noqa: E501
'min_available': 'minAvailable', # noqa: E501
'selector': 'selector', # noqa: E501
+ 'unhealthy_pod_eviction_policy': 'unhealthyPodEvictionPolicy', # noqa: E501
}
read_only_vars = {
@@ -147,6 +149,7 @@ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501
max_unavailable (str): [optional] # noqa: E501
min_available (str): [optional] # noqa: E501
selector (LabelSelector): [optional] # noqa: E501
+ unhealthy_pod_eviction_policy (str): UnhealthyPodEvictionPolicy defines the criteria for when unhealthy pods should be considered for eviction. Current implementation considers healthy pods, as pods that have status.conditions item with type=\"Ready\",status=\"True\". Valid policies are IfHealthyBudget and AlwaysAllow. If no policy is specified, the default behavior will be used, which corresponds to the IfHealthyBudget policy. IfHealthyBudget policy means that running pods (status.phase=\"Running\"), but not yet healthy can be evicted only if the guarded application is not disrupted (status.currentHealthy is at least equal to status.desiredHealthy). Healthy pods will be subject to the PDB for eviction. AlwaysAllow policy means that all running pods (status.phase=\"Running\"), but not yet healthy are considered disrupted and can be evicted regardless of whether the criteria in a PDB is met. This means perspective running pods of a disrupted application might not get a chance to become healthy. Healthy pods will be subject to the PDB for eviction. Additional policies may be added in the future. Clients making eviction decisions should disallow eviction of unhealthy pods if they encounter an unrecognized policy in this field. This field is beta-level. The eviction API uses this field when the feature gate PDBUnhealthyPodEvictionPolicy is enabled (enabled by default).. [optional] # noqa: E501
"""
_check_type = kwargs.pop('_check_type', True)
@@ -231,6 +234,7 @@ def __init__(self, *args, **kwargs): # noqa: E501
max_unavailable (str): [optional] # noqa: E501
min_available (str): [optional] # noqa: E501
selector (LabelSelector): [optional] # noqa: E501
+ unhealthy_pod_eviction_policy (str): UnhealthyPodEvictionPolicy defines the criteria for when unhealthy pods should be considered for eviction. Current implementation considers healthy pods, as pods that have status.conditions item with type=\"Ready\",status=\"True\". Valid policies are IfHealthyBudget and AlwaysAllow. If no policy is specified, the default behavior will be used, which corresponds to the IfHealthyBudget policy. IfHealthyBudget policy means that running pods (status.phase=\"Running\"), but not yet healthy can be evicted only if the guarded application is not disrupted (status.currentHealthy is at least equal to status.desiredHealthy). Healthy pods will be subject to the PDB for eviction. AlwaysAllow policy means that all running pods (status.phase=\"Running\"), but not yet healthy are considered disrupted and can be evicted regardless of whether the criteria in a PDB is met. This means perspective running pods of a disrupted application might not get a chance to become healthy. Healthy pods will be subject to the PDB for eviction. Additional policies may be added in the future. Clients making eviction decisions should disallow eviction of unhealthy pods if they encounter an unrecognized policy in this field. This field is beta-level. The eviction API uses this field when the feature gate PDBUnhealthyPodEvictionPolicy is enabled (enabled by default).. [optional] # noqa: E501
"""
_check_type = kwargs.pop('_check_type', True)
diff --git a/sdks/python/client/argo_workflows/model/iscsi_volume_source.py b/sdks/python/client/argo_workflows/model/iscsi_volume_source.py
index 2ae5e355f608..742d40780e2e 100644
--- a/sdks/python/client/argo_workflows/model/iscsi_volume_source.py
+++ b/sdks/python/client/argo_workflows/model/iscsi_volume_source.py
@@ -130,9 +130,9 @@ def _from_openapi_data(cls, iqn, lun, target_portal, *args, **kwargs): # noqa:
"""ISCSIVolumeSource - a model defined in OpenAPI
Args:
- iqn (str): Target iSCSI Qualified Name.
- lun (int): iSCSI Target Lun number.
- target_portal (str): iSCSI Target Portal. The Portal is either an IP or ip_addr:port if the port is other than default (typically TCP ports 860 and 3260).
+ iqn (str): iqn is the target iSCSI Qualified Name.
+ lun (int): lun represents iSCSI Target Lun number.
+ target_portal (str): targetPortal is iSCSI Target Portal. The Portal is either an IP or ip_addr:port if the port is other than default (typically TCP ports 860 and 3260).
Keyword Args:
_check_type (bool): if True, values for parameters in openapi_types
@@ -165,13 +165,13 @@ def _from_openapi_data(cls, iqn, lun, target_portal, *args, **kwargs): # noqa:
Animal class but this time we won't travel
through its discriminator because we passed in
_visited_composed_classes = (Animal,)
- chap_auth_discovery (bool): whether support iSCSI Discovery CHAP authentication. [optional] # noqa: E501
- chap_auth_session (bool): whether support iSCSI Session CHAP authentication. [optional] # noqa: E501
- fs_type (str): Filesystem type of the volume that you want to mount. Tip: Ensure that the filesystem type is supported by the host operating system. Examples: \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified. More info: https://kubernetes.io/docs/concepts/storage/volumes#iscsi. [optional] # noqa: E501
- initiator_name (str): Custom iSCSI Initiator Name. If initiatorName is specified with iscsiInterface simultaneously, new iSCSI interface : will be created for the connection.. [optional] # noqa: E501
- iscsi_interface (str): iSCSI Interface Name that uses an iSCSI transport. Defaults to 'default' (tcp).. [optional] # noqa: E501
- portals ([str]): iSCSI Target Portal List. The portal is either an IP or ip_addr:port if the port is other than default (typically TCP ports 860 and 3260).. [optional] # noqa: E501
- read_only (bool): ReadOnly here will force the ReadOnly setting in VolumeMounts. Defaults to false.. [optional] # noqa: E501
+ chap_auth_discovery (bool): chapAuthDiscovery defines whether support iSCSI Discovery CHAP authentication. [optional] # noqa: E501
+ chap_auth_session (bool): chapAuthSession defines whether support iSCSI Session CHAP authentication. [optional] # noqa: E501
+ fs_type (str): fsType is the filesystem type of the volume that you want to mount. Tip: Ensure that the filesystem type is supported by the host operating system. Examples: \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified. More info: https://kubernetes.io/docs/concepts/storage/volumes#iscsi. [optional] # noqa: E501
+ initiator_name (str): initiatorName is the custom iSCSI Initiator Name. If initiatorName is specified with iscsiInterface simultaneously, new iSCSI interface : will be created for the connection.. [optional] # noqa: E501
+ iscsi_interface (str): iscsiInterface is the interface Name that uses an iSCSI transport. Defaults to 'default' (tcp).. [optional] # noqa: E501
+ portals ([str]): portals is the iSCSI Target Portal List. The portal is either an IP or ip_addr:port if the port is other than default (typically TCP ports 860 and 3260).. [optional] # noqa: E501
+ read_only (bool): readOnly here will force the ReadOnly setting in VolumeMounts. Defaults to false.. [optional] # noqa: E501
secret_ref (LocalObjectReference): [optional] # noqa: E501
"""
@@ -227,9 +227,9 @@ def __init__(self, iqn, lun, target_portal, *args, **kwargs): # noqa: E501
"""ISCSIVolumeSource - a model defined in OpenAPI
Args:
- iqn (str): Target iSCSI Qualified Name.
- lun (int): iSCSI Target Lun number.
- target_portal (str): iSCSI Target Portal. The Portal is either an IP or ip_addr:port if the port is other than default (typically TCP ports 860 and 3260).
+ iqn (str): iqn is the target iSCSI Qualified Name.
+ lun (int): lun represents iSCSI Target Lun number.
+ target_portal (str): targetPortal is iSCSI Target Portal. The Portal is either an IP or ip_addr:port if the port is other than default (typically TCP ports 860 and 3260).
Keyword Args:
_check_type (bool): if True, values for parameters in openapi_types
@@ -262,13 +262,13 @@ def __init__(self, iqn, lun, target_portal, *args, **kwargs): # noqa: E501
Animal class but this time we won't travel
through its discriminator because we passed in
_visited_composed_classes = (Animal,)
- chap_auth_discovery (bool): whether support iSCSI Discovery CHAP authentication. [optional] # noqa: E501
- chap_auth_session (bool): whether support iSCSI Session CHAP authentication. [optional] # noqa: E501
- fs_type (str): Filesystem type of the volume that you want to mount. Tip: Ensure that the filesystem type is supported by the host operating system. Examples: \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified. More info: https://kubernetes.io/docs/concepts/storage/volumes#iscsi. [optional] # noqa: E501
- initiator_name (str): Custom iSCSI Initiator Name. If initiatorName is specified with iscsiInterface simultaneously, new iSCSI interface : will be created for the connection.. [optional] # noqa: E501
- iscsi_interface (str): iSCSI Interface Name that uses an iSCSI transport. Defaults to 'default' (tcp).. [optional] # noqa: E501
- portals ([str]): iSCSI Target Portal List. The portal is either an IP or ip_addr:port if the port is other than default (typically TCP ports 860 and 3260).. [optional] # noqa: E501
- read_only (bool): ReadOnly here will force the ReadOnly setting in VolumeMounts. Defaults to false.. [optional] # noqa: E501
+ chap_auth_discovery (bool): chapAuthDiscovery defines whether support iSCSI Discovery CHAP authentication. [optional] # noqa: E501
+ chap_auth_session (bool): chapAuthSession defines whether support iSCSI Session CHAP authentication. [optional] # noqa: E501
+ fs_type (str): fsType is the filesystem type of the volume that you want to mount. Tip: Ensure that the filesystem type is supported by the host operating system. Examples: \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified. More info: https://kubernetes.io/docs/concepts/storage/volumes#iscsi. [optional] # noqa: E501
+ initiator_name (str): initiatorName is the custom iSCSI Initiator Name. If initiatorName is specified with iscsiInterface simultaneously, new iSCSI interface : will be created for the connection.. [optional] # noqa: E501
+ iscsi_interface (str): iscsiInterface is the interface Name that uses an iSCSI transport. Defaults to 'default' (tcp).. [optional] # noqa: E501
+ portals ([str]): portals is the iSCSI Target Portal List. The portal is either an IP or ip_addr:port if the port is other than default (typically TCP ports 860 and 3260).. [optional] # noqa: E501
+ read_only (bool): readOnly here will force the ReadOnly setting in VolumeMounts. Defaults to false.. [optional] # noqa: E501
secret_ref (LocalObjectReference): [optional] # noqa: E501
"""
diff --git a/sdks/python/client/argo_workflows/model/key_to_path.py b/sdks/python/client/argo_workflows/model/key_to_path.py
index 73e3a740d4a4..11587c81552e 100644
--- a/sdks/python/client/argo_workflows/model/key_to_path.py
+++ b/sdks/python/client/argo_workflows/model/key_to_path.py
@@ -108,8 +108,8 @@ def _from_openapi_data(cls, key, path, *args, **kwargs): # noqa: E501
"""KeyToPath - a model defined in OpenAPI
Args:
- key (str): The key to project.
- path (str): The relative path of the file to map the key to. May not be an absolute path. May not contain the path element '..'. May not start with the string '..'.
+ key (str): key is the key to project.
+ path (str): path is the relative path of the file to map the key to. May not be an absolute path. May not contain the path element '..'. May not start with the string '..'.
Keyword Args:
_check_type (bool): if True, values for parameters in openapi_types
@@ -142,7 +142,7 @@ def _from_openapi_data(cls, key, path, *args, **kwargs): # noqa: E501
Animal class but this time we won't travel
through its discriminator because we passed in
_visited_composed_classes = (Animal,)
- mode (int): Optional: mode bits used to set permissions on this file. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.. [optional] # noqa: E501
+ mode (int): mode is Optional: mode bits used to set permissions on this file. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.. [optional] # noqa: E501
"""
_check_type = kwargs.pop('_check_type', True)
@@ -196,8 +196,8 @@ def __init__(self, key, path, *args, **kwargs): # noqa: E501
"""KeyToPath - a model defined in OpenAPI
Args:
- key (str): The key to project.
- path (str): The relative path of the file to map the key to. May not be an absolute path. May not contain the path element '..'. May not start with the string '..'.
+ key (str): key is the key to project.
+ path (str): path is the relative path of the file to map the key to. May not be an absolute path. May not contain the path element '..'. May not start with the string '..'.
Keyword Args:
_check_type (bool): if True, values for parameters in openapi_types
@@ -230,7 +230,7 @@ def __init__(self, key, path, *args, **kwargs): # noqa: E501
Animal class but this time we won't travel
through its discriminator because we passed in
_visited_composed_classes = (Animal,)
- mode (int): Optional: mode bits used to set permissions on this file. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.. [optional] # noqa: E501
+ mode (int): mode is Optional: mode bits used to set permissions on this file. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. If not specified, the volume defaultMode will be used. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.. [optional] # noqa: E501
"""
_check_type = kwargs.pop('_check_type', True)
diff --git a/sdks/python/client/argo_workflows/model/lifecycle_handler.py b/sdks/python/client/argo_workflows/model/lifecycle_handler.py
index d672083fc770..9e2e0c7a94c7 100644
--- a/sdks/python/client/argo_workflows/model/lifecycle_handler.py
+++ b/sdks/python/client/argo_workflows/model/lifecycle_handler.py
@@ -32,9 +32,11 @@
def lazy_import():
from argo_workflows.model.exec_action import ExecAction
from argo_workflows.model.http_get_action import HTTPGetAction
+ from argo_workflows.model.sleep_action import SleepAction
from argo_workflows.model.tcp_socket_action import TCPSocketAction
globals()['ExecAction'] = ExecAction
globals()['HTTPGetAction'] = HTTPGetAction
+ globals()['SleepAction'] = SleepAction
globals()['TCPSocketAction'] = TCPSocketAction
@@ -93,6 +95,7 @@ def openapi_types():
return {
'_exec': (ExecAction,), # noqa: E501
'http_get': (HTTPGetAction,), # noqa: E501
+ 'sleep': (SleepAction,), # noqa: E501
'tcp_socket': (TCPSocketAction,), # noqa: E501
}
@@ -104,6 +107,7 @@ def discriminator():
attribute_map = {
'_exec': 'exec', # noqa: E501
'http_get': 'httpGet', # noqa: E501
+ 'sleep': 'sleep', # noqa: E501
'tcp_socket': 'tcpSocket', # noqa: E501
}
@@ -150,6 +154,7 @@ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501
_visited_composed_classes = (Animal,)
_exec (ExecAction): [optional] # noqa: E501
http_get (HTTPGetAction): [optional] # noqa: E501
+ sleep (SleepAction): [optional] # noqa: E501
tcp_socket (TCPSocketAction): [optional] # noqa: E501
"""
@@ -234,6 +239,7 @@ def __init__(self, *args, **kwargs): # noqa: E501
_visited_composed_classes = (Animal,)
_exec (ExecAction): [optional] # noqa: E501
http_get (HTTPGetAction): [optional] # noqa: E501
+ sleep (SleepAction): [optional] # noqa: E501
tcp_socket (TCPSocketAction): [optional] # noqa: E501
"""
diff --git a/sdks/python/client/argo_workflows/model/list_meta.py b/sdks/python/client/argo_workflows/model/list_meta.py
index c2d2f917b35d..e0c7b940021a 100644
--- a/sdks/python/client/argo_workflows/model/list_meta.py
+++ b/sdks/python/client/argo_workflows/model/list_meta.py
@@ -143,7 +143,7 @@ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501
_continue (str): continue may be set if the user set a limit on the number of items returned, and indicates that the server has more data available. The value is opaque and may be used to issue another request to the endpoint that served this list to retrieve the next set of available objects. Continuing a consistent list may not be possible if the server configuration has changed or more than a few minutes have passed. The resourceVersion field returned when using this continue value will be identical to the value in the first response, unless you have received this token from an error message.. [optional] # noqa: E501
remaining_item_count (int): remainingItemCount is the number of subsequent items in the list which are not included in this list response. If the list request contained label or field selectors, then the number of remaining items is unknown and the field will be left unset and omitted during serialization. If the list is complete (either because it is not chunking or because this is the last chunk), then there are no more remaining items and this field will be left unset and omitted during serialization. Servers older than v1.15 do not set this field. The intended use of the remainingItemCount is *estimating* the size of a collection. Clients should not rely on the remainingItemCount to be set or to be exact.. [optional] # noqa: E501
resource_version (str): String that identifies the server's internal version of this object that can be used by clients to determine when objects have changed. Value must be treated as opaque by clients and passed unmodified back to the server. Populated by the system. Read-only. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency. [optional] # noqa: E501
- self_link (str): selfLink is a URL representing this object. Populated by the system. Read-only. DEPRECATED Kubernetes will stop propagating this field in 1.20 release and the field is planned to be removed in 1.21 release.. [optional] # noqa: E501
+ self_link (str): Deprecated: selfLink is a legacy read-only field that is no longer populated by the system.. [optional] # noqa: E501
"""
_check_type = kwargs.pop('_check_type', True)
@@ -228,7 +228,7 @@ def __init__(self, *args, **kwargs): # noqa: E501
_continue (str): continue may be set if the user set a limit on the number of items returned, and indicates that the server has more data available. The value is opaque and may be used to issue another request to the endpoint that served this list to retrieve the next set of available objects. Continuing a consistent list may not be possible if the server configuration has changed or more than a few minutes have passed. The resourceVersion field returned when using this continue value will be identical to the value in the first response, unless you have received this token from an error message.. [optional] # noqa: E501
remaining_item_count (int): remainingItemCount is the number of subsequent items in the list which are not included in this list response. If the list request contained label or field selectors, then the number of remaining items is unknown and the field will be left unset and omitted during serialization. If the list is complete (either because it is not chunking or because this is the last chunk), then there are no more remaining items and this field will be left unset and omitted during serialization. Servers older than v1.15 do not set this field. The intended use of the remainingItemCount is *estimating* the size of a collection. Clients should not rely on the remainingItemCount to be set or to be exact.. [optional] # noqa: E501
resource_version (str): String that identifies the server's internal version of this object that can be used by clients to determine when objects have changed. Value must be treated as opaque by clients and passed unmodified back to the server. Populated by the system. Read-only. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency. [optional] # noqa: E501
- self_link (str): selfLink is a URL representing this object. Populated by the system. Read-only. DEPRECATED Kubernetes will stop propagating this field in 1.20 release and the field is planned to be removed in 1.21 release.. [optional] # noqa: E501
+ self_link (str): Deprecated: selfLink is a legacy read-only field that is no longer populated by the system.. [optional] # noqa: E501
"""
_check_type = kwargs.pop('_check_type', True)
diff --git a/sdks/python/client/argo_workflows/model/local_object_reference.py b/sdks/python/client/argo_workflows/model/local_object_reference.py
index 59420f662f05..84a57812be5d 100644
--- a/sdks/python/client/argo_workflows/model/local_object_reference.py
+++ b/sdks/python/client/argo_workflows/model/local_object_reference.py
@@ -134,7 +134,7 @@ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501
Animal class but this time we won't travel
through its discriminator because we passed in
_visited_composed_classes = (Animal,)
- name (str): Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names. [optional] # noqa: E501
+ name (str): Name of the referent. This field is effectively required, but due to backwards compatibility is allowed to be empty. Instances of this type with an empty value here are almost certainly wrong. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names. [optional] # noqa: E501
"""
_check_type = kwargs.pop('_check_type', True)
@@ -216,7 +216,7 @@ def __init__(self, *args, **kwargs): # noqa: E501
Animal class but this time we won't travel
through its discriminator because we passed in
_visited_composed_classes = (Animal,)
- name (str): Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names. [optional] # noqa: E501
+ name (str): Name of the referent. This field is effectively required, but due to backwards compatibility is allowed to be empty. Instances of this type with an empty value here are almost certainly wrong. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names. [optional] # noqa: E501
"""
_check_type = kwargs.pop('_check_type', True)
diff --git a/sdks/python/client/argo_workflows/model/modify_volume_status.py b/sdks/python/client/argo_workflows/model/modify_volume_status.py
new file mode 100644
index 000000000000..5e5c8036ad80
--- /dev/null
+++ b/sdks/python/client/argo_workflows/model/modify_volume_status.py
@@ -0,0 +1,265 @@
+"""
+ Argo Workflows API
+
+ Argo Workflows is an open source container-native workflow engine for orchestrating parallel jobs on Kubernetes. For more information, please see https://argo-workflows.readthedocs.io/en/latest/ # noqa: E501
+
+ The version of the OpenAPI document: VERSION
+ Generated by: https://openapi-generator.tech
+"""
+
+
+import re # noqa: F401
+import sys # noqa: F401
+
+from argo_workflows.model_utils import ( # noqa: F401
+ ApiTypeError,
+ ModelComposed,
+ ModelNormal,
+ ModelSimple,
+ cached_property,
+ change_keys_js_to_python,
+ convert_js_args_to_python_args,
+ date,
+ datetime,
+ file_type,
+ none_type,
+ validate_get_composed_info,
+ OpenApiModel
+)
+from argo_workflows.exceptions import ApiAttributeError
+
+
+
+class ModifyVolumeStatus(ModelNormal):
+ """NOTE: This class is auto generated by OpenAPI Generator.
+ Ref: https://openapi-generator.tech
+
+ Do not edit the class manually.
+
+ Attributes:
+ allowed_values (dict): The key is the tuple path to the attribute
+ and the for var_name this is (var_name,). The value is a dict
+ with a capitalized key describing the allowed value and an allowed
+ value. These dicts store the allowed enum values.
+ attribute_map (dict): The key is attribute name
+ and the value is json key in definition.
+ discriminator_value_class_map (dict): A dict to go from the discriminator
+ variable value to the discriminator class name.
+ validations (dict): The key is the tuple path to the attribute
+ and the for var_name this is (var_name,). The value is a dict
+ that stores validations for max_length, min_length, max_items,
+ min_items, exclusive_maximum, inclusive_maximum, exclusive_minimum,
+ inclusive_minimum, and regex.
+ additional_properties_type (tuple): A tuple of classes accepted
+ as additional properties values.
+ """
+
+ allowed_values = {
+ }
+
+ validations = {
+ }
+
+ @cached_property
+ def additional_properties_type():
+ """
+ This must be a method because a model may have properties that are
+ of type self, this must run after the class is loaded
+ """
+ return (bool, date, datetime, dict, float, int, list, str, none_type,) # noqa: E501
+
+ _nullable = False
+
+ @cached_property
+ def openapi_types():
+ """
+ This must be a method because a model may have properties that are
+ of type self, this must run after the class is loaded
+
+ Returns
+ openapi_types (dict): The key is attribute name
+ and the value is attribute type.
+ """
+ return {
+ 'status': (str,), # noqa: E501
+ 'target_volume_attributes_class_name': (str,), # noqa: E501
+ }
+
+ @cached_property
+ def discriminator():
+ return None
+
+
+ attribute_map = {
+ 'status': 'status', # noqa: E501
+ 'target_volume_attributes_class_name': 'targetVolumeAttributesClassName', # noqa: E501
+ }
+
+ read_only_vars = {
+ }
+
+ _composed_schemas = {}
+
+ @classmethod
+ @convert_js_args_to_python_args
+ def _from_openapi_data(cls, status, *args, **kwargs): # noqa: E501
+ """ModifyVolumeStatus - a model defined in OpenAPI
+
+ Args:
+ status (str): status is the status of the ControllerModifyVolume operation. It can be in any of following states: - Pending Pending indicates that the PersistentVolumeClaim cannot be modified due to unmet requirements, such as the specified VolumeAttributesClass not existing. - InProgress InProgress indicates that the volume is being modified. - Infeasible Infeasible indicates that the request has been rejected as invalid by the CSI driver. To resolve the error, a valid VolumeAttributesClass needs to be specified. Note: New statuses can be added in the future. Consumers should check for unknown statuses and fail appropriately.
+
+ Keyword Args:
+ _check_type (bool): if True, values for parameters in openapi_types
+ will be type checked and a TypeError will be
+ raised if the wrong type is input.
+ Defaults to True
+ _path_to_item (tuple/list): This is a list of keys or values to
+ drill down to the model in received_data
+ when deserializing a response
+ _spec_property_naming (bool): True if the variable names in the input data
+ are serialized names, as specified in the OpenAPI document.
+ False if the variable names in the input data
+ are pythonic names, e.g. snake case (default)
+ _configuration (Configuration): the instance to use when
+ deserializing a file_type parameter.
+ If passed, type conversion is attempted
+ If omitted no type conversion is done.
+ _visited_composed_classes (tuple): This stores a tuple of
+ classes that we have traveled through so that
+ if we see that class again we will not use its
+ discriminator again.
+ When traveling through a discriminator, the
+ composed schema that is
+ is traveled through is added to this set.
+ For example if Animal has a discriminator
+ petType and we pass in "Dog", and the class Dog
+ allOf includes Animal, we move through Animal
+ once using the discriminator, and pick Dog.
+ Then in Dog, we will make an instance of the
+ Animal class but this time we won't travel
+ through its discriminator because we passed in
+ _visited_composed_classes = (Animal,)
+ target_volume_attributes_class_name (str): targetVolumeAttributesClassName is the name of the VolumeAttributesClass the PVC currently being reconciled. [optional] # noqa: E501
+ """
+
+ _check_type = kwargs.pop('_check_type', True)
+ _spec_property_naming = kwargs.pop('_spec_property_naming', False)
+ _path_to_item = kwargs.pop('_path_to_item', ())
+ _configuration = kwargs.pop('_configuration', None)
+ _visited_composed_classes = kwargs.pop('_visited_composed_classes', ())
+
+ self = super(OpenApiModel, cls).__new__(cls)
+
+ if args:
+ raise ApiTypeError(
+ "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % (
+ args,
+ self.__class__.__name__,
+ ),
+ path_to_item=_path_to_item,
+ valid_classes=(self.__class__,),
+ )
+
+ self._data_store = {}
+ self._check_type = _check_type
+ self._spec_property_naming = _spec_property_naming
+ self._path_to_item = _path_to_item
+ self._configuration = _configuration
+ self._visited_composed_classes = _visited_composed_classes + (self.__class__,)
+
+ self.status = status
+ for var_name, var_value in kwargs.items():
+ if var_name not in self.attribute_map and \
+ self._configuration is not None and \
+ self._configuration.discard_unknown_keys and \
+ self.additional_properties_type is None:
+ # discard variable.
+ continue
+ setattr(self, var_name, var_value)
+ return self
+
+ required_properties = set([
+ '_data_store',
+ '_check_type',
+ '_spec_property_naming',
+ '_path_to_item',
+ '_configuration',
+ '_visited_composed_classes',
+ ])
+
+ @convert_js_args_to_python_args
+ def __init__(self, status, *args, **kwargs): # noqa: E501
+ """ModifyVolumeStatus - a model defined in OpenAPI
+
+ Args:
+ status (str): status is the status of the ControllerModifyVolume operation. It can be in any of following states: - Pending Pending indicates that the PersistentVolumeClaim cannot be modified due to unmet requirements, such as the specified VolumeAttributesClass not existing. - InProgress InProgress indicates that the volume is being modified. - Infeasible Infeasible indicates that the request has been rejected as invalid by the CSI driver. To resolve the error, a valid VolumeAttributesClass needs to be specified. Note: New statuses can be added in the future. Consumers should check for unknown statuses and fail appropriately.
+
+ Keyword Args:
+ _check_type (bool): if True, values for parameters in openapi_types
+ will be type checked and a TypeError will be
+ raised if the wrong type is input.
+ Defaults to True
+ _path_to_item (tuple/list): This is a list of keys or values to
+ drill down to the model in received_data
+ when deserializing a response
+ _spec_property_naming (bool): True if the variable names in the input data
+ are serialized names, as specified in the OpenAPI document.
+ False if the variable names in the input data
+ are pythonic names, e.g. snake case (default)
+ _configuration (Configuration): the instance to use when
+ deserializing a file_type parameter.
+ If passed, type conversion is attempted
+ If omitted no type conversion is done.
+ _visited_composed_classes (tuple): This stores a tuple of
+ classes that we have traveled through so that
+ if we see that class again we will not use its
+ discriminator again.
+ When traveling through a discriminator, the
+ composed schema that is
+ is traveled through is added to this set.
+ For example if Animal has a discriminator
+ petType and we pass in "Dog", and the class Dog
+ allOf includes Animal, we move through Animal
+ once using the discriminator, and pick Dog.
+ Then in Dog, we will make an instance of the
+ Animal class but this time we won't travel
+ through its discriminator because we passed in
+ _visited_composed_classes = (Animal,)
+ target_volume_attributes_class_name (str): targetVolumeAttributesClassName is the name of the VolumeAttributesClass the PVC currently being reconciled. [optional] # noqa: E501
+ """
+
+ _check_type = kwargs.pop('_check_type', True)
+ _spec_property_naming = kwargs.pop('_spec_property_naming', False)
+ _path_to_item = kwargs.pop('_path_to_item', ())
+ _configuration = kwargs.pop('_configuration', None)
+ _visited_composed_classes = kwargs.pop('_visited_composed_classes', ())
+
+ if args:
+ raise ApiTypeError(
+ "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % (
+ args,
+ self.__class__.__name__,
+ ),
+ path_to_item=_path_to_item,
+ valid_classes=(self.__class__,),
+ )
+
+ self._data_store = {}
+ self._check_type = _check_type
+ self._spec_property_naming = _spec_property_naming
+ self._path_to_item = _path_to_item
+ self._configuration = _configuration
+ self._visited_composed_classes = _visited_composed_classes + (self.__class__,)
+
+ self.status = status
+ for var_name, var_value in kwargs.items():
+ if var_name not in self.attribute_map and \
+ self._configuration is not None and \
+ self._configuration.discard_unknown_keys and \
+ self.additional_properties_type is None:
+ # discard variable.
+ continue
+ setattr(self, var_name, var_value)
+ if var_name in self.read_only_vars:
+ raise ApiAttributeError(f"`{var_name}` is a read-only attribute. Use `from_openapi_data` to instantiate "
+ f"class with read only attributes.")
diff --git a/sdks/python/client/argo_workflows/model/nfs_volume_source.py b/sdks/python/client/argo_workflows/model/nfs_volume_source.py
index b7a0a13f5ce5..fb426fea3b88 100644
--- a/sdks/python/client/argo_workflows/model/nfs_volume_source.py
+++ b/sdks/python/client/argo_workflows/model/nfs_volume_source.py
@@ -108,8 +108,8 @@ def _from_openapi_data(cls, path, server, *args, **kwargs): # noqa: E501
"""NFSVolumeSource - a model defined in OpenAPI
Args:
- path (str): Path that is exported by the NFS server. More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs
- server (str): Server is the hostname or IP address of the NFS server. More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs
+ path (str): path that is exported by the NFS server. More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs
+ server (str): server is the hostname or IP address of the NFS server. More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs
Keyword Args:
_check_type (bool): if True, values for parameters in openapi_types
@@ -142,7 +142,7 @@ def _from_openapi_data(cls, path, server, *args, **kwargs): # noqa: E501
Animal class but this time we won't travel
through its discriminator because we passed in
_visited_composed_classes = (Animal,)
- read_only (bool): ReadOnly here will force the NFS export to be mounted with read-only permissions. Defaults to false. More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs. [optional] # noqa: E501
+ read_only (bool): readOnly here will force the NFS export to be mounted with read-only permissions. Defaults to false. More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs. [optional] # noqa: E501
"""
_check_type = kwargs.pop('_check_type', True)
@@ -196,8 +196,8 @@ def __init__(self, path, server, *args, **kwargs): # noqa: E501
"""NFSVolumeSource - a model defined in OpenAPI
Args:
- path (str): Path that is exported by the NFS server. More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs
- server (str): Server is the hostname or IP address of the NFS server. More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs
+ path (str): path that is exported by the NFS server. More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs
+ server (str): server is the hostname or IP address of the NFS server. More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs
Keyword Args:
_check_type (bool): if True, values for parameters in openapi_types
@@ -230,7 +230,7 @@ def __init__(self, path, server, *args, **kwargs): # noqa: E501
Animal class but this time we won't travel
through its discriminator because we passed in
_visited_composed_classes = (Animal,)
- read_only (bool): ReadOnly here will force the NFS export to be mounted with read-only permissions. Defaults to false. More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs. [optional] # noqa: E501
+ read_only (bool): readOnly here will force the NFS export to be mounted with read-only permissions. Defaults to false. More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs. [optional] # noqa: E501
"""
_check_type = kwargs.pop('_check_type', True)
diff --git a/sdks/python/client/argo_workflows/model/node_selector_requirement.py b/sdks/python/client/argo_workflows/model/node_selector_requirement.py
index a887c2bcf074..71908b03277a 100644
--- a/sdks/python/client/argo_workflows/model/node_selector_requirement.py
+++ b/sdks/python/client/argo_workflows/model/node_selector_requirement.py
@@ -55,14 +55,6 @@ class NodeSelectorRequirement(ModelNormal):
"""
allowed_values = {
- ('operator',): {
- 'DOESNOTEXIST': "DoesNotExist",
- 'EXISTS': "Exists",
- 'GT': "Gt",
- 'IN': "In",
- 'LT': "Lt",
- 'NOTIN': "NotIn",
- },
}
validations = {
@@ -117,7 +109,7 @@ def _from_openapi_data(cls, key, operator, *args, **kwargs): # noqa: E501
Args:
key (str): The label key that the selector applies to.
- operator (str): Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt. Possible enum values: - `\"DoesNotExist\"` - `\"Exists\"` - `\"Gt\"` - `\"In\"` - `\"Lt\"` - `\"NotIn\"`
+ operator (str): Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
Keyword Args:
_check_type (bool): if True, values for parameters in openapi_types
@@ -205,7 +197,7 @@ def __init__(self, key, operator, *args, **kwargs): # noqa: E501
Args:
key (str): The label key that the selector applies to.
- operator (str): Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt. Possible enum values: - `\"DoesNotExist\"` - `\"Exists\"` - `\"Gt\"` - `\"In\"` - `\"Lt\"` - `\"NotIn\"`
+ operator (str): Represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
Keyword Args:
_check_type (bool): if True, values for parameters in openapi_types
diff --git a/sdks/python/client/argo_workflows/model/object_meta.py b/sdks/python/client/argo_workflows/model/object_meta.py
index 1bf09981c09e..c3d81906530b 100644
--- a/sdks/python/client/argo_workflows/model/object_meta.py
+++ b/sdks/python/client/argo_workflows/model/object_meta.py
@@ -90,7 +90,6 @@ def openapi_types():
lazy_import()
return {
'annotations': ({str: (str,)},), # noqa: E501
- 'cluster_name': (str,), # noqa: E501
'creation_timestamp': (datetime,), # noqa: E501
'deletion_grace_period_seconds': (int,), # noqa: E501
'deletion_timestamp': (datetime,), # noqa: E501
@@ -114,7 +113,6 @@ def discriminator():
attribute_map = {
'annotations': 'annotations', # noqa: E501
- 'cluster_name': 'clusterName', # noqa: E501
'creation_timestamp': 'creationTimestamp', # noqa: E501
'deletion_grace_period_seconds': 'deletionGracePeriodSeconds', # noqa: E501
'deletion_timestamp': 'deletionTimestamp', # noqa: E501
@@ -172,22 +170,21 @@ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501
Animal class but this time we won't travel
through its discriminator because we passed in
_visited_composed_classes = (Animal,)
- annotations ({str: (str,)}): Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations. [optional] # noqa: E501
- cluster_name (str): The name of the cluster which the object belongs to. This is used to distinguish resources with same name and namespace in different clusters. This field is not set anywhere right now and apiserver is going to ignore it if set in create or update request.. [optional] # noqa: E501
+ annotations ({str: (str,)}): Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations. [optional] # noqa: E501
creation_timestamp (datetime): Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.. [optional] # noqa: E501
deletion_grace_period_seconds (int): Number of seconds allowed for this object to gracefully terminate before it will be removed from the system. Only set when deletionTimestamp is also set. May only be shortened. Read-only.. [optional] # noqa: E501
deletion_timestamp (datetime): Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.. [optional] # noqa: E501
finalizers ([str]): Must be empty before the object is deleted from the registry. Each entry is an identifier for the responsible component that will remove the entry from the list. If the deletionTimestamp of the object is non-nil, entries in this list can only be removed. Finalizers may be processed and removed in any order. Order is NOT enforced because it introduces significant risk of stuck finalizers. finalizers is a shared field, any actor with permission can reorder it. If the finalizer list is processed in order, then this can lead to a situation in which the component responsible for the first finalizer in the list is waiting for a signal (field value, external system, or other) produced by a component responsible for a finalizer later in the list, resulting in a deadlock. Without enforced ordering finalizers are free to order amongst themselves and are not vulnerable to ordering changes in the list.. [optional] # noqa: E501
- generate_name (str): GenerateName is an optional prefix, used by the server, to generate a unique name ONLY IF the Name field has not been provided. If this field is used, the name returned to the client will be different than the name passed. This value will also be combined with a unique suffix. The provided value has the same validation rules as the Name field, and may be truncated by the length of the suffix required to make the value unique on the server. If this field is specified and the generated name exists, the server will NOT return a 409 - instead, it will either return 201 Created or 500 with Reason ServerTimeout indicating a unique name could not be found in the time allotted, and the client should retry (optionally after the time indicated in the Retry-After header). Applied only if Name is not specified. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#idempotency. [optional] # noqa: E501
+ generate_name (str): GenerateName is an optional prefix, used by the server, to generate a unique name ONLY IF the Name field has not been provided. If this field is used, the name returned to the client will be different than the name passed. This value will also be combined with a unique suffix. The provided value has the same validation rules as the Name field, and may be truncated by the length of the suffix required to make the value unique on the server. If this field is specified and the generated name exists, the server will return a 409. Applied only if Name is not specified. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#idempotency. [optional] # noqa: E501
generation (int): A sequence number representing a specific generation of the desired state. Populated by the system. Read-only.. [optional] # noqa: E501
- labels ({str: (str,)}): Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels. [optional] # noqa: E501
+ labels ({str: (str,)}): Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels. [optional] # noqa: E501
managed_fields ([ManagedFieldsEntry]): ManagedFields maps workflow-id and version to the set of fields that are managed by that workflow. This is mostly for internal housekeeping, and users typically shouldn't need to set or understand this field. A workflow can be the user's name, a controller's name, or the name of a specific apply path like \"ci-cd\". The set of fields is always in the version that the workflow used when modifying the object.. [optional] # noqa: E501
- name (str): Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names. [optional] # noqa: E501
- namespace (str): Namespace defines the space within which each name must be unique. An empty namespace is equivalent to the \"default\" namespace, but \"default\" is the canonical representation. Not all objects are required to be scoped to a namespace - the value of this field for those objects will be empty. Must be a DNS_LABEL. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/namespaces. [optional] # noqa: E501
+ name (str): Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#names. [optional] # noqa: E501
+ namespace (str): Namespace defines the space within which each name must be unique. An empty namespace is equivalent to the \"default\" namespace, but \"default\" is the canonical representation. Not all objects are required to be scoped to a namespace - the value of this field for those objects will be empty. Must be a DNS_LABEL. Cannot be updated. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces. [optional] # noqa: E501
owner_references ([OwnerReference]): List of objects depended by this object. If ALL objects in the list have been deleted, this object will be garbage collected. If this object is managed by a controller, then an entry in this list will point to this controller, with the controller field set to true. There cannot be more than one managing controller.. [optional] # noqa: E501
resource_version (str): An opaque value that represents the internal version of this object that can be used by clients to determine when objects have changed. May be used for optimistic concurrency, change detection, and the watch operation on a resource or set of resources. Clients must treat these values as opaque and passed unmodified back to the server. They may only be valid for a particular resource or set of resources. Populated by the system. Read-only. Value must be treated as opaque by clients and . More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency. [optional] # noqa: E501
- self_link (str): SelfLink is a URL representing this object. Populated by the system. Read-only. DEPRECATED Kubernetes will stop propagating this field in 1.20 release and the field is planned to be removed in 1.21 release.. [optional] # noqa: E501
- uid (str): UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations. Populated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids. [optional] # noqa: E501
+ self_link (str): Deprecated: selfLink is a legacy read-only field that is no longer populated by the system.. [optional] # noqa: E501
+ uid (str): UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations. Populated by the system. Read-only. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#uids. [optional] # noqa: E501
"""
_check_type = kwargs.pop('_check_type', True)
@@ -269,22 +266,21 @@ def __init__(self, *args, **kwargs): # noqa: E501
Animal class but this time we won't travel
through its discriminator because we passed in
_visited_composed_classes = (Animal,)
- annotations ({str: (str,)}): Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations. [optional] # noqa: E501
- cluster_name (str): The name of the cluster which the object belongs to. This is used to distinguish resources with same name and namespace in different clusters. This field is not set anywhere right now and apiserver is going to ignore it if set in create or update request.. [optional] # noqa: E501
+ annotations ({str: (str,)}): Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations. [optional] # noqa: E501
creation_timestamp (datetime): Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.. [optional] # noqa: E501
deletion_grace_period_seconds (int): Number of seconds allowed for this object to gracefully terminate before it will be removed from the system. Only set when deletionTimestamp is also set. May only be shortened. Read-only.. [optional] # noqa: E501
deletion_timestamp (datetime): Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.. [optional] # noqa: E501
finalizers ([str]): Must be empty before the object is deleted from the registry. Each entry is an identifier for the responsible component that will remove the entry from the list. If the deletionTimestamp of the object is non-nil, entries in this list can only be removed. Finalizers may be processed and removed in any order. Order is NOT enforced because it introduces significant risk of stuck finalizers. finalizers is a shared field, any actor with permission can reorder it. If the finalizer list is processed in order, then this can lead to a situation in which the component responsible for the first finalizer in the list is waiting for a signal (field value, external system, or other) produced by a component responsible for a finalizer later in the list, resulting in a deadlock. Without enforced ordering finalizers are free to order amongst themselves and are not vulnerable to ordering changes in the list.. [optional] # noqa: E501
- generate_name (str): GenerateName is an optional prefix, used by the server, to generate a unique name ONLY IF the Name field has not been provided. If this field is used, the name returned to the client will be different than the name passed. This value will also be combined with a unique suffix. The provided value has the same validation rules as the Name field, and may be truncated by the length of the suffix required to make the value unique on the server. If this field is specified and the generated name exists, the server will NOT return a 409 - instead, it will either return 201 Created or 500 with Reason ServerTimeout indicating a unique name could not be found in the time allotted, and the client should retry (optionally after the time indicated in the Retry-After header). Applied only if Name is not specified. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#idempotency. [optional] # noqa: E501
+ generate_name (str): GenerateName is an optional prefix, used by the server, to generate a unique name ONLY IF the Name field has not been provided. If this field is used, the name returned to the client will be different than the name passed. This value will also be combined with a unique suffix. The provided value has the same validation rules as the Name field, and may be truncated by the length of the suffix required to make the value unique on the server. If this field is specified and the generated name exists, the server will return a 409. Applied only if Name is not specified. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#idempotency. [optional] # noqa: E501
generation (int): A sequence number representing a specific generation of the desired state. Populated by the system. Read-only.. [optional] # noqa: E501
- labels ({str: (str,)}): Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels. [optional] # noqa: E501
+ labels ({str: (str,)}): Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels. [optional] # noqa: E501
managed_fields ([ManagedFieldsEntry]): ManagedFields maps workflow-id and version to the set of fields that are managed by that workflow. This is mostly for internal housekeeping, and users typically shouldn't need to set or understand this field. A workflow can be the user's name, a controller's name, or the name of a specific apply path like \"ci-cd\". The set of fields is always in the version that the workflow used when modifying the object.. [optional] # noqa: E501
- name (str): Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names. [optional] # noqa: E501
- namespace (str): Namespace defines the space within which each name must be unique. An empty namespace is equivalent to the \"default\" namespace, but \"default\" is the canonical representation. Not all objects are required to be scoped to a namespace - the value of this field for those objects will be empty. Must be a DNS_LABEL. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/namespaces. [optional] # noqa: E501
+ name (str): Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#names. [optional] # noqa: E501
+ namespace (str): Namespace defines the space within which each name must be unique. An empty namespace is equivalent to the \"default\" namespace, but \"default\" is the canonical representation. Not all objects are required to be scoped to a namespace - the value of this field for those objects will be empty. Must be a DNS_LABEL. Cannot be updated. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces. [optional] # noqa: E501
owner_references ([OwnerReference]): List of objects depended by this object. If ALL objects in the list have been deleted, this object will be garbage collected. If this object is managed by a controller, then an entry in this list will point to this controller, with the controller field set to true. There cannot be more than one managing controller.. [optional] # noqa: E501
resource_version (str): An opaque value that represents the internal version of this object that can be used by clients to determine when objects have changed. May be used for optimistic concurrency, change detection, and the watch operation on a resource or set of resources. Clients must treat these values as opaque and passed unmodified back to the server. They may only be valid for a particular resource or set of resources. Populated by the system. Read-only. Value must be treated as opaque by clients and . More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency. [optional] # noqa: E501
- self_link (str): SelfLink is a URL representing this object. Populated by the system. Read-only. DEPRECATED Kubernetes will stop propagating this field in 1.20 release and the field is planned to be removed in 1.21 release.. [optional] # noqa: E501
- uid (str): UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations. Populated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids. [optional] # noqa: E501
+ self_link (str): Deprecated: selfLink is a legacy read-only field that is no longer populated by the system.. [optional] # noqa: E501
+ uid (str): UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations. Populated by the system. Read-only. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#uids. [optional] # noqa: E501
"""
_check_type = kwargs.pop('_check_type', True)
diff --git a/sdks/python/client/argo_workflows/model/owner_reference.py b/sdks/python/client/argo_workflows/model/owner_reference.py
index 2d4370a53023..de92bdab3351 100644
--- a/sdks/python/client/argo_workflows/model/owner_reference.py
+++ b/sdks/python/client/argo_workflows/model/owner_reference.py
@@ -116,8 +116,8 @@ def _from_openapi_data(cls, api_version, kind, name, uid, *args, **kwargs): # n
Args:
api_version (str): API version of the referent.
kind (str): Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
- name (str): Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names
- uid (str): UID of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#uids
+ name (str): Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#names
+ uid (str): UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#uids
Keyword Args:
_check_type (bool): if True, values for parameters in openapi_types
@@ -150,7 +150,7 @@ def _from_openapi_data(cls, api_version, kind, name, uid, *args, **kwargs): # n
Animal class but this time we won't travel
through its discriminator because we passed in
_visited_composed_classes = (Animal,)
- block_owner_deletion (bool): If true, AND if the owner has the \"foregroundDeletion\" finalizer, then the owner cannot be deleted from the key-value store until this reference is removed. Defaults to false. To set this field, a user needs \"delete\" permission of the owner, otherwise 422 (Unprocessable Entity) will be returned.. [optional] # noqa: E501
+ block_owner_deletion (bool): If true, AND if the owner has the \"foregroundDeletion\" finalizer, then the owner cannot be deleted from the key-value store until this reference is removed. See https://kubernetes.io/docs/concepts/architecture/garbage-collection/#foreground-deletion for how the garbage collector interacts with this field and enforces the foreground deletion. Defaults to false. To set this field, a user needs \"delete\" permission of the owner, otherwise 422 (Unprocessable Entity) will be returned.. [optional] # noqa: E501
controller (bool): If true, this reference points to the managing controller.. [optional] # noqa: E501
"""
@@ -209,8 +209,8 @@ def __init__(self, api_version, kind, name, uid, *args, **kwargs): # noqa: E501
Args:
api_version (str): API version of the referent.
kind (str): Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
- name (str): Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names
- uid (str): UID of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#uids
+ name (str): Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#names
+ uid (str): UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#uids
Keyword Args:
_check_type (bool): if True, values for parameters in openapi_types
@@ -243,7 +243,7 @@ def __init__(self, api_version, kind, name, uid, *args, **kwargs): # noqa: E501
Animal class but this time we won't travel
through its discriminator because we passed in
_visited_composed_classes = (Animal,)
- block_owner_deletion (bool): If true, AND if the owner has the \"foregroundDeletion\" finalizer, then the owner cannot be deleted from the key-value store until this reference is removed. Defaults to false. To set this field, a user needs \"delete\" permission of the owner, otherwise 422 (Unprocessable Entity) will be returned.. [optional] # noqa: E501
+ block_owner_deletion (bool): If true, AND if the owner has the \"foregroundDeletion\" finalizer, then the owner cannot be deleted from the key-value store until this reference is removed. See https://kubernetes.io/docs/concepts/architecture/garbage-collection/#foreground-deletion for how the garbage collector interacts with this field and enforces the foreground deletion. Defaults to false. To set this field, a user needs \"delete\" permission of the owner, otherwise 422 (Unprocessable Entity) will be returned.. [optional] # noqa: E501
controller (bool): If true, this reference points to the managing controller.. [optional] # noqa: E501
"""
diff --git a/sdks/python/client/argo_workflows/model/persistent_volume_claim_condition.py b/sdks/python/client/argo_workflows/model/persistent_volume_claim_condition.py
index 10c3ee2b90d0..e29da4738f14 100644
--- a/sdks/python/client/argo_workflows/model/persistent_volume_claim_condition.py
+++ b/sdks/python/client/argo_workflows/model/persistent_volume_claim_condition.py
@@ -55,10 +55,6 @@ class PersistentVolumeClaimCondition(ModelNormal):
"""
allowed_values = {
- ('type',): {
- 'FILESYSTEMRESIZEPENDING': "FileSystemResizePending",
- 'RESIZING': "Resizing",
- },
}
validations = {
@@ -119,7 +115,7 @@ def _from_openapi_data(cls, status, type, *args, **kwargs): # noqa: E501
Args:
status (str):
- type (str): Possible enum values: - `\"FileSystemResizePending\"` - controller resize is finished and a file system resize is pending on node - `\"Resizing\"` - a user trigger resize of pvc has been started
+ type (str):
Keyword Args:
_check_type (bool): if True, values for parameters in openapi_types
@@ -154,8 +150,8 @@ def _from_openapi_data(cls, status, type, *args, **kwargs): # noqa: E501
_visited_composed_classes = (Animal,)
last_probe_time (datetime): Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.. [optional] # noqa: E501
last_transition_time (datetime): Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.. [optional] # noqa: E501
- message (str): Human-readable message indicating details about last transition.. [optional] # noqa: E501
- reason (str): Unique, this should be a short, machine understandable string that gives the reason for condition's last transition. If it reports \"ResizeStarted\" that means the underlying persistent volume is being resized.. [optional] # noqa: E501
+ message (str): message is the human-readable message indicating details about last transition.. [optional] # noqa: E501
+ reason (str): reason is a unique, this should be a short, machine understandable string that gives the reason for condition's last transition. If it reports \"Resizing\" that means the underlying persistent volume is being resized.. [optional] # noqa: E501
"""
_check_type = kwargs.pop('_check_type', True)
@@ -210,7 +206,7 @@ def __init__(self, status, type, *args, **kwargs): # noqa: E501
Args:
status (str):
- type (str): Possible enum values: - `\"FileSystemResizePending\"` - controller resize is finished and a file system resize is pending on node - `\"Resizing\"` - a user trigger resize of pvc has been started
+ type (str):
Keyword Args:
_check_type (bool): if True, values for parameters in openapi_types
@@ -245,8 +241,8 @@ def __init__(self, status, type, *args, **kwargs): # noqa: E501
_visited_composed_classes = (Animal,)
last_probe_time (datetime): Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.. [optional] # noqa: E501
last_transition_time (datetime): Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.. [optional] # noqa: E501
- message (str): Human-readable message indicating details about last transition.. [optional] # noqa: E501
- reason (str): Unique, this should be a short, machine understandable string that gives the reason for condition's last transition. If it reports \"ResizeStarted\" that means the underlying persistent volume is being resized.. [optional] # noqa: E501
+ message (str): message is the human-readable message indicating details about last transition.. [optional] # noqa: E501
+ reason (str): reason is a unique, this should be a short, machine understandable string that gives the reason for condition's last transition. If it reports \"Resizing\" that means the underlying persistent volume is being resized.. [optional] # noqa: E501
"""
_check_type = kwargs.pop('_check_type', True)
diff --git a/sdks/python/client/argo_workflows/model/persistent_volume_claim_spec.py b/sdks/python/client/argo_workflows/model/persistent_volume_claim_spec.py
index d610e2305ec4..bf5b1ddd552c 100644
--- a/sdks/python/client/argo_workflows/model/persistent_volume_claim_spec.py
+++ b/sdks/python/client/argo_workflows/model/persistent_volume_claim_spec.py
@@ -31,11 +31,13 @@
def lazy_import():
from argo_workflows.model.label_selector import LabelSelector
- from argo_workflows.model.resource_requirements import ResourceRequirements
from argo_workflows.model.typed_local_object_reference import TypedLocalObjectReference
+ from argo_workflows.model.typed_object_reference import TypedObjectReference
+ from argo_workflows.model.volume_resource_requirements import VolumeResourceRequirements
globals()['LabelSelector'] = LabelSelector
- globals()['ResourceRequirements'] = ResourceRequirements
globals()['TypedLocalObjectReference'] = TypedLocalObjectReference
+ globals()['TypedObjectReference'] = TypedObjectReference
+ globals()['VolumeResourceRequirements'] = VolumeResourceRequirements
class PersistentVolumeClaimSpec(ModelNormal):
@@ -93,10 +95,11 @@ def openapi_types():
return {
'access_modes': ([str],), # noqa: E501
'data_source': (TypedLocalObjectReference,), # noqa: E501
- 'data_source_ref': (TypedLocalObjectReference,), # noqa: E501
- 'resources': (ResourceRequirements,), # noqa: E501
+ 'data_source_ref': (TypedObjectReference,), # noqa: E501
+ 'resources': (VolumeResourceRequirements,), # noqa: E501
'selector': (LabelSelector,), # noqa: E501
'storage_class_name': (str,), # noqa: E501
+ 'volume_attributes_class_name': (str,), # noqa: E501
'volume_mode': (str,), # noqa: E501
'volume_name': (str,), # noqa: E501
}
@@ -113,6 +116,7 @@ def discriminator():
'resources': 'resources', # noqa: E501
'selector': 'selector', # noqa: E501
'storage_class_name': 'storageClassName', # noqa: E501
+ 'volume_attributes_class_name': 'volumeAttributesClassName', # noqa: E501
'volume_mode': 'volumeMode', # noqa: E501
'volume_name': 'volumeName', # noqa: E501
}
@@ -158,14 +162,15 @@ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501
Animal class but this time we won't travel
through its discriminator because we passed in
_visited_composed_classes = (Animal,)
- access_modes ([str]): AccessModes contains the desired access modes the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1. [optional] # noqa: E501
+ access_modes ([str]): accessModes contains the desired access modes the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1. [optional] # noqa: E501
data_source (TypedLocalObjectReference): [optional] # noqa: E501
- data_source_ref (TypedLocalObjectReference): [optional] # noqa: E501
- resources (ResourceRequirements): [optional] # noqa: E501
+ data_source_ref (TypedObjectReference): [optional] # noqa: E501
+ resources (VolumeResourceRequirements): [optional] # noqa: E501
selector (LabelSelector): [optional] # noqa: E501
- storage_class_name (str): Name of the StorageClass required by the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1. [optional] # noqa: E501
+ storage_class_name (str): storageClassName is the name of the StorageClass required by the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1. [optional] # noqa: E501
+ volume_attributes_class_name (str): volumeAttributesClassName may be used to set the VolumeAttributesClass used by this claim. If specified, the CSI driver will create or update the volume with the attributes defined in the corresponding VolumeAttributesClass. This has a different purpose than storageClassName, it can be changed after the claim is created. An empty string value means that no VolumeAttributesClass will be applied to the claim but it's not allowed to reset this field to empty string once it is set. If unspecified and the PersistentVolumeClaim is unbound, the default VolumeAttributesClass will be set by the persistentvolume controller if it exists. If the resource referred to by volumeAttributesClass does not exist, this PersistentVolumeClaim will be set to a Pending state, as reflected by the modifyVolumeStatus field, until such as a resource exists. More info: https://kubernetes.io/docs/concepts/storage/volume-attributes-classes/ (Alpha) Using this field requires the VolumeAttributesClass feature gate to be enabled.. [optional] # noqa: E501
volume_mode (str): volumeMode defines what type of volume is required by the claim. Value of Filesystem is implied when not included in claim spec.. [optional] # noqa: E501
- volume_name (str): VolumeName is the binding reference to the PersistentVolume backing this claim.. [optional] # noqa: E501
+ volume_name (str): volumeName is the binding reference to the PersistentVolume backing this claim.. [optional] # noqa: E501
"""
_check_type = kwargs.pop('_check_type', True)
@@ -247,14 +252,15 @@ def __init__(self, *args, **kwargs): # noqa: E501
Animal class but this time we won't travel
through its discriminator because we passed in
_visited_composed_classes = (Animal,)
- access_modes ([str]): AccessModes contains the desired access modes the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1. [optional] # noqa: E501
+ access_modes ([str]): accessModes contains the desired access modes the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1. [optional] # noqa: E501
data_source (TypedLocalObjectReference): [optional] # noqa: E501
- data_source_ref (TypedLocalObjectReference): [optional] # noqa: E501
- resources (ResourceRequirements): [optional] # noqa: E501
+ data_source_ref (TypedObjectReference): [optional] # noqa: E501
+ resources (VolumeResourceRequirements): [optional] # noqa: E501
selector (LabelSelector): [optional] # noqa: E501
- storage_class_name (str): Name of the StorageClass required by the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1. [optional] # noqa: E501
+ storage_class_name (str): storageClassName is the name of the StorageClass required by the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1. [optional] # noqa: E501
+ volume_attributes_class_name (str): volumeAttributesClassName may be used to set the VolumeAttributesClass used by this claim. If specified, the CSI driver will create or update the volume with the attributes defined in the corresponding VolumeAttributesClass. This has a different purpose than storageClassName, it can be changed after the claim is created. An empty string value means that no VolumeAttributesClass will be applied to the claim but it's not allowed to reset this field to empty string once it is set. If unspecified and the PersistentVolumeClaim is unbound, the default VolumeAttributesClass will be set by the persistentvolume controller if it exists. If the resource referred to by volumeAttributesClass does not exist, this PersistentVolumeClaim will be set to a Pending state, as reflected by the modifyVolumeStatus field, until such as a resource exists. More info: https://kubernetes.io/docs/concepts/storage/volume-attributes-classes/ (Alpha) Using this field requires the VolumeAttributesClass feature gate to be enabled.. [optional] # noqa: E501
volume_mode (str): volumeMode defines what type of volume is required by the claim. Value of Filesystem is implied when not included in claim spec.. [optional] # noqa: E501
- volume_name (str): VolumeName is the binding reference to the PersistentVolume backing this claim.. [optional] # noqa: E501
+ volume_name (str): volumeName is the binding reference to the PersistentVolume backing this claim.. [optional] # noqa: E501
"""
_check_type = kwargs.pop('_check_type', True)
diff --git a/sdks/python/client/argo_workflows/model/persistent_volume_claim_status.py b/sdks/python/client/argo_workflows/model/persistent_volume_claim_status.py
index e314a90e0ff4..152899752e18 100644
--- a/sdks/python/client/argo_workflows/model/persistent_volume_claim_status.py
+++ b/sdks/python/client/argo_workflows/model/persistent_volume_claim_status.py
@@ -30,7 +30,9 @@
def lazy_import():
+ from argo_workflows.model.modify_volume_status import ModifyVolumeStatus
from argo_workflows.model.persistent_volume_claim_condition import PersistentVolumeClaimCondition
+ globals()['ModifyVolumeStatus'] = ModifyVolumeStatus
globals()['PersistentVolumeClaimCondition'] = PersistentVolumeClaimCondition
@@ -59,11 +61,6 @@ class PersistentVolumeClaimStatus(ModelNormal):
"""
allowed_values = {
- ('phase',): {
- 'BOUND': "Bound",
- 'LOST': "Lost",
- 'PENDING': "Pending",
- },
}
validations = {
@@ -93,11 +90,13 @@ def openapi_types():
lazy_import()
return {
'access_modes': ([str],), # noqa: E501
+ 'allocated_resource_statuses': ({str: (str,)},), # noqa: E501
'allocated_resources': ({str: (str,)},), # noqa: E501
'capacity': ({str: (str,)},), # noqa: E501
'conditions': ([PersistentVolumeClaimCondition],), # noqa: E501
+ 'current_volume_attributes_class_name': (str,), # noqa: E501
+ 'modify_volume_status': (ModifyVolumeStatus,), # noqa: E501
'phase': (str,), # noqa: E501
- 'resize_status': (str,), # noqa: E501
}
@cached_property
@@ -107,11 +106,13 @@ def discriminator():
attribute_map = {
'access_modes': 'accessModes', # noqa: E501
+ 'allocated_resource_statuses': 'allocatedResourceStatuses', # noqa: E501
'allocated_resources': 'allocatedResources', # noqa: E501
'capacity': 'capacity', # noqa: E501
'conditions': 'conditions', # noqa: E501
+ 'current_volume_attributes_class_name': 'currentVolumeAttributesClassName', # noqa: E501
+ 'modify_volume_status': 'modifyVolumeStatus', # noqa: E501
'phase': 'phase', # noqa: E501
- 'resize_status': 'resizeStatus', # noqa: E501
}
read_only_vars = {
@@ -155,12 +156,14 @@ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501
Animal class but this time we won't travel
through its discriminator because we passed in
_visited_composed_classes = (Animal,)
- access_modes ([str]): AccessModes contains the actual access modes the volume backing the PVC has. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1. [optional] # noqa: E501
- allocated_resources ({str: (str,)}): The storage resource within AllocatedResources tracks the capacity allocated to a PVC. It may be larger than the actual capacity when a volume expansion operation is requested. For storage quota, the larger value from allocatedResources and PVC.spec.resources is used. If allocatedResources is not set, PVC.spec.resources alone is used for quota calculation. If a volume expansion capacity request is lowered, allocatedResources is only lowered if there are no expansion operations in progress and if the actual volume capacity is equal or lower than the requested capacity. This is an alpha field and requires enabling RecoverVolumeExpansionFailure feature.. [optional] # noqa: E501
- capacity ({str: (str,)}): Represents the actual resources of the underlying volume.. [optional] # noqa: E501
- conditions ([PersistentVolumeClaimCondition]): Current Condition of persistent volume claim. If underlying persistent volume is being resized then the Condition will be set to 'ResizeStarted'.. [optional] # noqa: E501
- phase (str): Phase represents the current phase of PersistentVolumeClaim. Possible enum values: - `\"Bound\"` used for PersistentVolumeClaims that are bound - `\"Lost\"` used for PersistentVolumeClaims that lost their underlying PersistentVolume. The claim was bound to a PersistentVolume and this volume does not exist any longer and all data on it was lost. - `\"Pending\"` used for PersistentVolumeClaims that are not yet bound. [optional] # noqa: E501
- resize_status (str): ResizeStatus stores status of resize operation. ResizeStatus is not set by default but when expansion is complete resizeStatus is set to empty string by resize controller or kubelet. This is an alpha field and requires enabling RecoverVolumeExpansionFailure feature.. [optional] # noqa: E501
+ access_modes ([str]): accessModes contains the actual access modes the volume backing the PVC has. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1. [optional] # noqa: E501
+ allocated_resource_statuses ({str: (str,)}): allocatedResourceStatuses stores status of resource being resized for the given PVC. Key names follow standard Kubernetes label syntax. Valid values are either: * Un-prefixed keys: - storage - the capacity of the volume. * Custom resources must use implementation-defined prefixed names such as \"example.com/my-custom-resource\" Apart from above values - keys that are unprefixed or have kubernetes.io prefix are considered reserved and hence may not be used. ClaimResourceStatus can be in any of following states: - ControllerResizeInProgress: State set when resize controller starts resizing the volume in control-plane. - ControllerResizeFailed: State set when resize has failed in resize controller with a terminal error. - NodeResizePending: State set when resize controller has finished resizing the volume but further resizing of volume is needed on the node. - NodeResizeInProgress: State set when kubelet starts resizing the volume. - NodeResizeFailed: State set when resizing has failed in kubelet with a terminal error. Transient errors don't set NodeResizeFailed. For example: if expanding a PVC for more capacity - this field can be one of the following states: - pvc.status.allocatedResourceStatus['storage'] = \"ControllerResizeInProgress\" - pvc.status.allocatedResourceStatus['storage'] = \"ControllerResizeFailed\" - pvc.status.allocatedResourceStatus['storage'] = \"NodeResizePending\" - pvc.status.allocatedResourceStatus['storage'] = \"NodeResizeInProgress\" - pvc.status.allocatedResourceStatus['storage'] = \"NodeResizeFailed\" When this field is not set, it means that no resize operation is in progress for the given PVC. A controller that receives PVC update with previously unknown resourceName or ClaimResourceStatus should ignore the update for the purpose it was designed. For example - a controller that only is responsible for resizing capacity of the volume, should ignore PVC updates that change other valid resources associated with PVC. This is an alpha field and requires enabling RecoverVolumeExpansionFailure feature.. [optional] # noqa: E501
+ allocated_resources ({str: (str,)}): allocatedResources tracks the resources allocated to a PVC including its capacity. Key names follow standard Kubernetes label syntax. Valid values are either: * Un-prefixed keys: - storage - the capacity of the volume. * Custom resources must use implementation-defined prefixed names such as \"example.com/my-custom-resource\" Apart from above values - keys that are unprefixed or have kubernetes.io prefix are considered reserved and hence may not be used. Capacity reported here may be larger than the actual capacity when a volume expansion operation is requested. For storage quota, the larger value from allocatedResources and PVC.spec.resources is used. If allocatedResources is not set, PVC.spec.resources alone is used for quota calculation. If a volume expansion capacity request is lowered, allocatedResources is only lowered if there are no expansion operations in progress and if the actual volume capacity is equal or lower than the requested capacity. A controller that receives PVC update with previously unknown resourceName should ignore the update for the purpose it was designed. For example - a controller that only is responsible for resizing capacity of the volume, should ignore PVC updates that change other valid resources associated with PVC. This is an alpha field and requires enabling RecoverVolumeExpansionFailure feature.. [optional] # noqa: E501
+ capacity ({str: (str,)}): capacity represents the actual resources of the underlying volume.. [optional] # noqa: E501
+ conditions ([PersistentVolumeClaimCondition]): conditions is the current Condition of persistent volume claim. If underlying persistent volume is being resized then the Condition will be set to 'Resizing'.. [optional] # noqa: E501
+ current_volume_attributes_class_name (str): currentVolumeAttributesClassName is the current name of the VolumeAttributesClass the PVC is using. When unset, there is no VolumeAttributeClass applied to this PersistentVolumeClaim This is an alpha field and requires enabling VolumeAttributesClass feature.. [optional] # noqa: E501
+ modify_volume_status (ModifyVolumeStatus): [optional] # noqa: E501
+ phase (str): phase represents the current phase of PersistentVolumeClaim.. [optional] # noqa: E501
"""
_check_type = kwargs.pop('_check_type', True)
@@ -242,12 +245,14 @@ def __init__(self, *args, **kwargs): # noqa: E501
Animal class but this time we won't travel
through its discriminator because we passed in
_visited_composed_classes = (Animal,)
- access_modes ([str]): AccessModes contains the actual access modes the volume backing the PVC has. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1. [optional] # noqa: E501
- allocated_resources ({str: (str,)}): The storage resource within AllocatedResources tracks the capacity allocated to a PVC. It may be larger than the actual capacity when a volume expansion operation is requested. For storage quota, the larger value from allocatedResources and PVC.spec.resources is used. If allocatedResources is not set, PVC.spec.resources alone is used for quota calculation. If a volume expansion capacity request is lowered, allocatedResources is only lowered if there are no expansion operations in progress and if the actual volume capacity is equal or lower than the requested capacity. This is an alpha field and requires enabling RecoverVolumeExpansionFailure feature.. [optional] # noqa: E501
- capacity ({str: (str,)}): Represents the actual resources of the underlying volume.. [optional] # noqa: E501
- conditions ([PersistentVolumeClaimCondition]): Current Condition of persistent volume claim. If underlying persistent volume is being resized then the Condition will be set to 'ResizeStarted'.. [optional] # noqa: E501
- phase (str): Phase represents the current phase of PersistentVolumeClaim. Possible enum values: - `\"Bound\"` used for PersistentVolumeClaims that are bound - `\"Lost\"` used for PersistentVolumeClaims that lost their underlying PersistentVolume. The claim was bound to a PersistentVolume and this volume does not exist any longer and all data on it was lost. - `\"Pending\"` used for PersistentVolumeClaims that are not yet bound. [optional] # noqa: E501
- resize_status (str): ResizeStatus stores status of resize operation. ResizeStatus is not set by default but when expansion is complete resizeStatus is set to empty string by resize controller or kubelet. This is an alpha field and requires enabling RecoverVolumeExpansionFailure feature.. [optional] # noqa: E501
+ access_modes ([str]): accessModes contains the actual access modes the volume backing the PVC has. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1. [optional] # noqa: E501
+ allocated_resource_statuses ({str: (str,)}): allocatedResourceStatuses stores status of resource being resized for the given PVC. Key names follow standard Kubernetes label syntax. Valid values are either: * Un-prefixed keys: - storage - the capacity of the volume. * Custom resources must use implementation-defined prefixed names such as \"example.com/my-custom-resource\" Apart from above values - keys that are unprefixed or have kubernetes.io prefix are considered reserved and hence may not be used. ClaimResourceStatus can be in any of following states: - ControllerResizeInProgress: State set when resize controller starts resizing the volume in control-plane. - ControllerResizeFailed: State set when resize has failed in resize controller with a terminal error. - NodeResizePending: State set when resize controller has finished resizing the volume but further resizing of volume is needed on the node. - NodeResizeInProgress: State set when kubelet starts resizing the volume. - NodeResizeFailed: State set when resizing has failed in kubelet with a terminal error. Transient errors don't set NodeResizeFailed. For example: if expanding a PVC for more capacity - this field can be one of the following states: - pvc.status.allocatedResourceStatus['storage'] = \"ControllerResizeInProgress\" - pvc.status.allocatedResourceStatus['storage'] = \"ControllerResizeFailed\" - pvc.status.allocatedResourceStatus['storage'] = \"NodeResizePending\" - pvc.status.allocatedResourceStatus['storage'] = \"NodeResizeInProgress\" - pvc.status.allocatedResourceStatus['storage'] = \"NodeResizeFailed\" When this field is not set, it means that no resize operation is in progress for the given PVC. A controller that receives PVC update with previously unknown resourceName or ClaimResourceStatus should ignore the update for the purpose it was designed. For example - a controller that only is responsible for resizing capacity of the volume, should ignore PVC updates that change other valid resources associated with PVC. This is an alpha field and requires enabling RecoverVolumeExpansionFailure feature.. [optional] # noqa: E501
+ allocated_resources ({str: (str,)}): allocatedResources tracks the resources allocated to a PVC including its capacity. Key names follow standard Kubernetes label syntax. Valid values are either: * Un-prefixed keys: - storage - the capacity of the volume. * Custom resources must use implementation-defined prefixed names such as \"example.com/my-custom-resource\" Apart from above values - keys that are unprefixed or have kubernetes.io prefix are considered reserved and hence may not be used. Capacity reported here may be larger than the actual capacity when a volume expansion operation is requested. For storage quota, the larger value from allocatedResources and PVC.spec.resources is used. If allocatedResources is not set, PVC.spec.resources alone is used for quota calculation. If a volume expansion capacity request is lowered, allocatedResources is only lowered if there are no expansion operations in progress and if the actual volume capacity is equal or lower than the requested capacity. A controller that receives PVC update with previously unknown resourceName should ignore the update for the purpose it was designed. For example - a controller that only is responsible for resizing capacity of the volume, should ignore PVC updates that change other valid resources associated with PVC. This is an alpha field and requires enabling RecoverVolumeExpansionFailure feature.. [optional] # noqa: E501
+ capacity ({str: (str,)}): capacity represents the actual resources of the underlying volume.. [optional] # noqa: E501
+ conditions ([PersistentVolumeClaimCondition]): conditions is the current Condition of persistent volume claim. If underlying persistent volume is being resized then the Condition will be set to 'Resizing'.. [optional] # noqa: E501
+ current_volume_attributes_class_name (str): currentVolumeAttributesClassName is the current name of the VolumeAttributesClass the PVC is using. When unset, there is no VolumeAttributeClass applied to this PersistentVolumeClaim This is an alpha field and requires enabling VolumeAttributesClass feature.. [optional] # noqa: E501
+ modify_volume_status (ModifyVolumeStatus): [optional] # noqa: E501
+ phase (str): phase represents the current phase of PersistentVolumeClaim.. [optional] # noqa: E501
"""
_check_type = kwargs.pop('_check_type', True)
diff --git a/sdks/python/client/argo_workflows/model/persistent_volume_claim_volume_source.py b/sdks/python/client/argo_workflows/model/persistent_volume_claim_volume_source.py
index 062d79312018..6900c41d038a 100644
--- a/sdks/python/client/argo_workflows/model/persistent_volume_claim_volume_source.py
+++ b/sdks/python/client/argo_workflows/model/persistent_volume_claim_volume_source.py
@@ -106,7 +106,7 @@ def _from_openapi_data(cls, claim_name, *args, **kwargs): # noqa: E501
"""PersistentVolumeClaimVolumeSource - a model defined in OpenAPI
Args:
- claim_name (str): ClaimName is the name of a PersistentVolumeClaim in the same namespace as the pod using this volume. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims
+ claim_name (str): claimName is the name of a PersistentVolumeClaim in the same namespace as the pod using this volume. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims
Keyword Args:
_check_type (bool): if True, values for parameters in openapi_types
@@ -139,7 +139,7 @@ def _from_openapi_data(cls, claim_name, *args, **kwargs): # noqa: E501
Animal class but this time we won't travel
through its discriminator because we passed in
_visited_composed_classes = (Animal,)
- read_only (bool): Will force the ReadOnly setting in VolumeMounts. Default false.. [optional] # noqa: E501
+ read_only (bool): readOnly Will force the ReadOnly setting in VolumeMounts. Default false.. [optional] # noqa: E501
"""
_check_type = kwargs.pop('_check_type', True)
@@ -192,7 +192,7 @@ def __init__(self, claim_name, *args, **kwargs): # noqa: E501
"""PersistentVolumeClaimVolumeSource - a model defined in OpenAPI
Args:
- claim_name (str): ClaimName is the name of a PersistentVolumeClaim in the same namespace as the pod using this volume. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims
+ claim_name (str): claimName is the name of a PersistentVolumeClaim in the same namespace as the pod using this volume. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims
Keyword Args:
_check_type (bool): if True, values for parameters in openapi_types
@@ -225,7 +225,7 @@ def __init__(self, claim_name, *args, **kwargs): # noqa: E501
Animal class but this time we won't travel
through its discriminator because we passed in
_visited_composed_classes = (Animal,)
- read_only (bool): Will force the ReadOnly setting in VolumeMounts. Default false.. [optional] # noqa: E501
+ read_only (bool): readOnly Will force the ReadOnly setting in VolumeMounts. Default false.. [optional] # noqa: E501
"""
_check_type = kwargs.pop('_check_type', True)
diff --git a/sdks/python/client/argo_workflows/model/photon_persistent_disk_volume_source.py b/sdks/python/client/argo_workflows/model/photon_persistent_disk_volume_source.py
index 44081c16b657..b65d05f25506 100644
--- a/sdks/python/client/argo_workflows/model/photon_persistent_disk_volume_source.py
+++ b/sdks/python/client/argo_workflows/model/photon_persistent_disk_volume_source.py
@@ -106,7 +106,7 @@ def _from_openapi_data(cls, pd_id, *args, **kwargs): # noqa: E501
"""PhotonPersistentDiskVolumeSource - a model defined in OpenAPI
Args:
- pd_id (str): ID that identifies Photon Controller persistent disk
+ pd_id (str): pdID is the ID that identifies Photon Controller persistent disk
Keyword Args:
_check_type (bool): if True, values for parameters in openapi_types
@@ -139,7 +139,7 @@ def _from_openapi_data(cls, pd_id, *args, **kwargs): # noqa: E501
Animal class but this time we won't travel
through its discriminator because we passed in
_visited_composed_classes = (Animal,)
- fs_type (str): Filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified.. [optional] # noqa: E501
+ fs_type (str): fsType is the filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified.. [optional] # noqa: E501
"""
_check_type = kwargs.pop('_check_type', True)
@@ -192,7 +192,7 @@ def __init__(self, pd_id, *args, **kwargs): # noqa: E501
"""PhotonPersistentDiskVolumeSource - a model defined in OpenAPI
Args:
- pd_id (str): ID that identifies Photon Controller persistent disk
+ pd_id (str): pdID is the ID that identifies Photon Controller persistent disk
Keyword Args:
_check_type (bool): if True, values for parameters in openapi_types
@@ -225,7 +225,7 @@ def __init__(self, pd_id, *args, **kwargs): # noqa: E501
Animal class but this time we won't travel
through its discriminator because we passed in
_visited_composed_classes = (Animal,)
- fs_type (str): Filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified.. [optional] # noqa: E501
+ fs_type (str): fsType is the filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified.. [optional] # noqa: E501
"""
_check_type = kwargs.pop('_check_type', True)
diff --git a/sdks/python/client/argo_workflows/model/pod_affinity_term.py b/sdks/python/client/argo_workflows/model/pod_affinity_term.py
index 50f340e70553..d6aa55c312de 100644
--- a/sdks/python/client/argo_workflows/model/pod_affinity_term.py
+++ b/sdks/python/client/argo_workflows/model/pod_affinity_term.py
@@ -89,6 +89,8 @@ def openapi_types():
return {
'topology_key': (str,), # noqa: E501
'label_selector': (LabelSelector,), # noqa: E501
+ 'match_label_keys': ([str],), # noqa: E501
+ 'mismatch_label_keys': ([str],), # noqa: E501
'namespace_selector': (LabelSelector,), # noqa: E501
'namespaces': ([str],), # noqa: E501
}
@@ -101,6 +103,8 @@ def discriminator():
attribute_map = {
'topology_key': 'topologyKey', # noqa: E501
'label_selector': 'labelSelector', # noqa: E501
+ 'match_label_keys': 'matchLabelKeys', # noqa: E501
+ 'mismatch_label_keys': 'mismatchLabelKeys', # noqa: E501
'namespace_selector': 'namespaceSelector', # noqa: E501
'namespaces': 'namespaces', # noqa: E501
}
@@ -150,8 +154,10 @@ def _from_openapi_data(cls, topology_key, *args, **kwargs): # noqa: E501
through its discriminator because we passed in
_visited_composed_classes = (Animal,)
label_selector (LabelSelector): [optional] # noqa: E501
+ match_label_keys ([str]): MatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)` to select the group of existing pods which pods will be taken into consideration for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both matchLabelKeys and labelSelector. Also, matchLabelKeys cannot be set when labelSelector isn't set. This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.. [optional] # noqa: E501
+ mismatch_label_keys ([str]): MismatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)` to select the group of existing pods which pods will be taken into consideration for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both mismatchLabelKeys and labelSelector. Also, mismatchLabelKeys cannot be set when labelSelector isn't set. This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.. [optional] # noqa: E501
namespace_selector (LabelSelector): [optional] # noqa: E501
- namespaces ([str]): namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means \"this pod's namespace\". [optional] # noqa: E501
+ namespaces ([str]): namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means \"this pod's namespace\".. [optional] # noqa: E501
"""
_check_type = kwargs.pop('_check_type', True)
@@ -238,8 +244,10 @@ def __init__(self, topology_key, *args, **kwargs): # noqa: E501
through its discriminator because we passed in
_visited_composed_classes = (Animal,)
label_selector (LabelSelector): [optional] # noqa: E501
+ match_label_keys ([str]): MatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)` to select the group of existing pods which pods will be taken into consideration for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both matchLabelKeys and labelSelector. Also, matchLabelKeys cannot be set when labelSelector isn't set. This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.. [optional] # noqa: E501
+ mismatch_label_keys ([str]): MismatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)` to select the group of existing pods which pods will be taken into consideration for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both mismatchLabelKeys and labelSelector. Also, mismatchLabelKeys cannot be set when labelSelector isn't set. This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.. [optional] # noqa: E501
namespace_selector (LabelSelector): [optional] # noqa: E501
- namespaces ([str]): namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means \"this pod's namespace\". [optional] # noqa: E501
+ namespaces ([str]): namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means \"this pod's namespace\".. [optional] # noqa: E501
"""
_check_type = kwargs.pop('_check_type', True)
diff --git a/sdks/python/client/argo_workflows/model/pod_security_context.py b/sdks/python/client/argo_workflows/model/pod_security_context.py
index 0ed02f420fcd..09315d5119aa 100644
--- a/sdks/python/client/argo_workflows/model/pod_security_context.py
+++ b/sdks/python/client/argo_workflows/model/pod_security_context.py
@@ -30,10 +30,12 @@
def lazy_import():
+ from argo_workflows.model.app_armor_profile import AppArmorProfile
from argo_workflows.model.se_linux_options import SELinuxOptions
from argo_workflows.model.seccomp_profile import SeccompProfile
from argo_workflows.model.sysctl import Sysctl
from argo_workflows.model.windows_security_context_options import WindowsSecurityContextOptions
+ globals()['AppArmorProfile'] = AppArmorProfile
globals()['SELinuxOptions'] = SELinuxOptions
globals()['SeccompProfile'] = SeccompProfile
globals()['Sysctl'] = Sysctl
@@ -93,6 +95,7 @@ def openapi_types():
"""
lazy_import()
return {
+ 'app_armor_profile': (AppArmorProfile,), # noqa: E501
'fs_group': (int,), # noqa: E501
'fs_group_change_policy': (str,), # noqa: E501
'run_as_group': (int,), # noqa: E501
@@ -111,6 +114,7 @@ def discriminator():
attribute_map = {
+ 'app_armor_profile': 'appArmorProfile', # noqa: E501
'fs_group': 'fsGroup', # noqa: E501
'fs_group_change_policy': 'fsGroupChangePolicy', # noqa: E501
'run_as_group': 'runAsGroup', # noqa: E501
@@ -164,6 +168,7 @@ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501
Animal class but this time we won't travel
through its discriminator because we passed in
_visited_composed_classes = (Animal,)
+ app_armor_profile (AppArmorProfile): [optional] # noqa: E501
fs_group (int): A special supplemental group that applies to all containers in a pod. Some volume types allow the Kubelet to change the ownership of that volume to be owned by the pod: 1. The owning GID will be the FSGroup 2. The setgid bit is set (new files created in the volume will be owned by FSGroup) 3. The permission bits are OR'd with rw-rw---- If unset, the Kubelet will not modify the ownership and permissions of any volume. Note that this field cannot be set when spec.os.name is windows.. [optional] # noqa: E501
fs_group_change_policy (str): fsGroupChangePolicy defines behavior of changing ownership and permission of the volume before being exposed inside Pod. This field will only apply to volume types which support fsGroup based ownership(and permissions). It will have no effect on ephemeral volume types such as: secret, configmaps and emptydir. Valid values are \"OnRootMismatch\" and \"Always\". If not specified, \"Always\" is used. Note that this field cannot be set when spec.os.name is windows.. [optional] # noqa: E501
run_as_group (int): The GID to run the entrypoint of the container process. Uses runtime default if unset. May also be set in SecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence for that container. Note that this field cannot be set when spec.os.name is windows.. [optional] # noqa: E501
@@ -171,7 +176,7 @@ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501
run_as_user (int): The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in SecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence for that container. Note that this field cannot be set when spec.os.name is windows.. [optional] # noqa: E501
se_linux_options (SELinuxOptions): [optional] # noqa: E501
seccomp_profile (SeccompProfile): [optional] # noqa: E501
- supplemental_groups ([int]): A list of groups applied to the first process run in each container, in addition to the container's primary GID. If unspecified, no groups will be added to any container. Note that this field cannot be set when spec.os.name is windows.. [optional] # noqa: E501
+ supplemental_groups ([int]): A list of groups applied to the first process run in each container, in addition to the container's primary GID, the fsGroup (if specified), and group memberships defined in the container image for the uid of the container process. If unspecified, no additional groups are added to any container. Note that group memberships defined in the container image for the uid of the container process are still effective, even if they are not included in this list. Note that this field cannot be set when spec.os.name is windows.. [optional] # noqa: E501
sysctls ([Sysctl]): Sysctls hold a list of namespaced sysctls used for the pod. Pods with unsupported sysctls (by the container runtime) might fail to launch. Note that this field cannot be set when spec.os.name is windows.. [optional] # noqa: E501
windows_options (WindowsSecurityContextOptions): [optional] # noqa: E501
"""
@@ -255,6 +260,7 @@ def __init__(self, *args, **kwargs): # noqa: E501
Animal class but this time we won't travel
through its discriminator because we passed in
_visited_composed_classes = (Animal,)
+ app_armor_profile (AppArmorProfile): [optional] # noqa: E501
fs_group (int): A special supplemental group that applies to all containers in a pod. Some volume types allow the Kubelet to change the ownership of that volume to be owned by the pod: 1. The owning GID will be the FSGroup 2. The setgid bit is set (new files created in the volume will be owned by FSGroup) 3. The permission bits are OR'd with rw-rw---- If unset, the Kubelet will not modify the ownership and permissions of any volume. Note that this field cannot be set when spec.os.name is windows.. [optional] # noqa: E501
fs_group_change_policy (str): fsGroupChangePolicy defines behavior of changing ownership and permission of the volume before being exposed inside Pod. This field will only apply to volume types which support fsGroup based ownership(and permissions). It will have no effect on ephemeral volume types such as: secret, configmaps and emptydir. Valid values are \"OnRootMismatch\" and \"Always\". If not specified, \"Always\" is used. Note that this field cannot be set when spec.os.name is windows.. [optional] # noqa: E501
run_as_group (int): The GID to run the entrypoint of the container process. Uses runtime default if unset. May also be set in SecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence for that container. Note that this field cannot be set when spec.os.name is windows.. [optional] # noqa: E501
@@ -262,7 +268,7 @@ def __init__(self, *args, **kwargs): # noqa: E501
run_as_user (int): The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in SecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence for that container. Note that this field cannot be set when spec.os.name is windows.. [optional] # noqa: E501
se_linux_options (SELinuxOptions): [optional] # noqa: E501
seccomp_profile (SeccompProfile): [optional] # noqa: E501
- supplemental_groups ([int]): A list of groups applied to the first process run in each container, in addition to the container's primary GID. If unspecified, no groups will be added to any container. Note that this field cannot be set when spec.os.name is windows.. [optional] # noqa: E501
+ supplemental_groups ([int]): A list of groups applied to the first process run in each container, in addition to the container's primary GID, the fsGroup (if specified), and group memberships defined in the container image for the uid of the container process. If unspecified, no additional groups are added to any container. Note that group memberships defined in the container image for the uid of the container process are still effective, even if they are not included in this list. Note that this field cannot be set when spec.os.name is windows.. [optional] # noqa: E501
sysctls ([Sysctl]): Sysctls hold a list of namespaced sysctls used for the pod. Pods with unsupported sysctls (by the container runtime) might fail to launch. Note that this field cannot be set when spec.os.name is windows.. [optional] # noqa: E501
windows_options (WindowsSecurityContextOptions): [optional] # noqa: E501
"""
diff --git a/sdks/python/client/argo_workflows/model/portworx_volume_source.py b/sdks/python/client/argo_workflows/model/portworx_volume_source.py
index 01c61e0d232f..09d7b387097b 100644
--- a/sdks/python/client/argo_workflows/model/portworx_volume_source.py
+++ b/sdks/python/client/argo_workflows/model/portworx_volume_source.py
@@ -108,7 +108,7 @@ def _from_openapi_data(cls, volume_id, *args, **kwargs): # noqa: E501
"""PortworxVolumeSource - a model defined in OpenAPI
Args:
- volume_id (str): VolumeID uniquely identifies a Portworx volume
+ volume_id (str): volumeID uniquely identifies a Portworx volume
Keyword Args:
_check_type (bool): if True, values for parameters in openapi_types
@@ -141,8 +141,8 @@ def _from_openapi_data(cls, volume_id, *args, **kwargs): # noqa: E501
Animal class but this time we won't travel
through its discriminator because we passed in
_visited_composed_classes = (Animal,)
- fs_type (str): FSType represents the filesystem type to mount Must be a filesystem type supported by the host operating system. Ex. \"ext4\", \"xfs\". Implicitly inferred to be \"ext4\" if unspecified.. [optional] # noqa: E501
- read_only (bool): Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts.. [optional] # noqa: E501
+ fs_type (str): fSType represents the filesystem type to mount Must be a filesystem type supported by the host operating system. Ex. \"ext4\", \"xfs\". Implicitly inferred to be \"ext4\" if unspecified.. [optional] # noqa: E501
+ read_only (bool): readOnly defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts.. [optional] # noqa: E501
"""
_check_type = kwargs.pop('_check_type', True)
@@ -195,7 +195,7 @@ def __init__(self, volume_id, *args, **kwargs): # noqa: E501
"""PortworxVolumeSource - a model defined in OpenAPI
Args:
- volume_id (str): VolumeID uniquely identifies a Portworx volume
+ volume_id (str): volumeID uniquely identifies a Portworx volume
Keyword Args:
_check_type (bool): if True, values for parameters in openapi_types
@@ -228,8 +228,8 @@ def __init__(self, volume_id, *args, **kwargs): # noqa: E501
Animal class but this time we won't travel
through its discriminator because we passed in
_visited_composed_classes = (Animal,)
- fs_type (str): FSType represents the filesystem type to mount Must be a filesystem type supported by the host operating system. Ex. \"ext4\", \"xfs\". Implicitly inferred to be \"ext4\" if unspecified.. [optional] # noqa: E501
- read_only (bool): Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts.. [optional] # noqa: E501
+ fs_type (str): fSType represents the filesystem type to mount Must be a filesystem type supported by the host operating system. Ex. \"ext4\", \"xfs\". Implicitly inferred to be \"ext4\" if unspecified.. [optional] # noqa: E501
+ read_only (bool): readOnly defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts.. [optional] # noqa: E501
"""
_check_type = kwargs.pop('_check_type', True)
diff --git a/sdks/python/client/argo_workflows/model/projected_volume_source.py b/sdks/python/client/argo_workflows/model/projected_volume_source.py
index d0cdb60f6254..3a7b186faae1 100644
--- a/sdks/python/client/argo_workflows/model/projected_volume_source.py
+++ b/sdks/python/client/argo_workflows/model/projected_volume_source.py
@@ -142,8 +142,8 @@ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501
Animal class but this time we won't travel
through its discriminator because we passed in
_visited_composed_classes = (Animal,)
- default_mode (int): Mode bits used to set permissions on created files by default. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.. [optional] # noqa: E501
- sources ([VolumeProjection]): list of volume projections. [optional] # noqa: E501
+ default_mode (int): defaultMode are the mode bits used to set permissions on created files by default. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.. [optional] # noqa: E501
+ sources ([VolumeProjection]): sources is the list of volume projections. [optional] # noqa: E501
"""
_check_type = kwargs.pop('_check_type', True)
@@ -225,8 +225,8 @@ def __init__(self, *args, **kwargs): # noqa: E501
Animal class but this time we won't travel
through its discriminator because we passed in
_visited_composed_classes = (Animal,)
- default_mode (int): Mode bits used to set permissions on created files by default. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.. [optional] # noqa: E501
- sources ([VolumeProjection]): list of volume projections. [optional] # noqa: E501
+ default_mode (int): defaultMode are the mode bits used to set permissions on created files by default. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.. [optional] # noqa: E501
+ sources ([VolumeProjection]): sources is the list of volume projections. [optional] # noqa: E501
"""
_check_type = kwargs.pop('_check_type', True)
diff --git a/sdks/python/client/argo_workflows/model/quobyte_volume_source.py b/sdks/python/client/argo_workflows/model/quobyte_volume_source.py
index 644e470873ef..8a9385dbfbc5 100644
--- a/sdks/python/client/argo_workflows/model/quobyte_volume_source.py
+++ b/sdks/python/client/argo_workflows/model/quobyte_volume_source.py
@@ -114,8 +114,8 @@ def _from_openapi_data(cls, registry, volume, *args, **kwargs): # noqa: E501
"""QuobyteVolumeSource - a model defined in OpenAPI
Args:
- registry (str): Registry represents a single or multiple Quobyte Registry services specified as a string as host:port pair (multiple entries are separated with commas) which acts as the central registry for volumes
- volume (str): Volume is a string that references an already created Quobyte volume by name.
+ registry (str): registry represents a single or multiple Quobyte Registry services specified as a string as host:port pair (multiple entries are separated with commas) which acts as the central registry for volumes
+ volume (str): volume is a string that references an already created Quobyte volume by name.
Keyword Args:
_check_type (bool): if True, values for parameters in openapi_types
@@ -148,10 +148,10 @@ def _from_openapi_data(cls, registry, volume, *args, **kwargs): # noqa: E501
Animal class but this time we won't travel
through its discriminator because we passed in
_visited_composed_classes = (Animal,)
- group (str): Group to map volume access to Default is no group. [optional] # noqa: E501
- read_only (bool): ReadOnly here will force the Quobyte volume to be mounted with read-only permissions. Defaults to false.. [optional] # noqa: E501
- tenant (str): Tenant owning the given Quobyte volume in the Backend Used with dynamically provisioned Quobyte volumes, value is set by the plugin. [optional] # noqa: E501
- user (str): User to map volume access to Defaults to serivceaccount user. [optional] # noqa: E501
+ group (str): group to map volume access to Default is no group. [optional] # noqa: E501
+ read_only (bool): readOnly here will force the Quobyte volume to be mounted with read-only permissions. Defaults to false.. [optional] # noqa: E501
+ tenant (str): tenant owning the given Quobyte volume in the Backend Used with dynamically provisioned Quobyte volumes, value is set by the plugin. [optional] # noqa: E501
+ user (str): user to map volume access to Defaults to serivceaccount user. [optional] # noqa: E501
"""
_check_type = kwargs.pop('_check_type', True)
@@ -205,8 +205,8 @@ def __init__(self, registry, volume, *args, **kwargs): # noqa: E501
"""QuobyteVolumeSource - a model defined in OpenAPI
Args:
- registry (str): Registry represents a single or multiple Quobyte Registry services specified as a string as host:port pair (multiple entries are separated with commas) which acts as the central registry for volumes
- volume (str): Volume is a string that references an already created Quobyte volume by name.
+ registry (str): registry represents a single or multiple Quobyte Registry services specified as a string as host:port pair (multiple entries are separated with commas) which acts as the central registry for volumes
+ volume (str): volume is a string that references an already created Quobyte volume by name.
Keyword Args:
_check_type (bool): if True, values for parameters in openapi_types
@@ -239,10 +239,10 @@ def __init__(self, registry, volume, *args, **kwargs): # noqa: E501
Animal class but this time we won't travel
through its discriminator because we passed in
_visited_composed_classes = (Animal,)
- group (str): Group to map volume access to Default is no group. [optional] # noqa: E501
- read_only (bool): ReadOnly here will force the Quobyte volume to be mounted with read-only permissions. Defaults to false.. [optional] # noqa: E501
- tenant (str): Tenant owning the given Quobyte volume in the Backend Used with dynamically provisioned Quobyte volumes, value is set by the plugin. [optional] # noqa: E501
- user (str): User to map volume access to Defaults to serivceaccount user. [optional] # noqa: E501
+ group (str): group to map volume access to Default is no group. [optional] # noqa: E501
+ read_only (bool): readOnly here will force the Quobyte volume to be mounted with read-only permissions. Defaults to false.. [optional] # noqa: E501
+ tenant (str): tenant owning the given Quobyte volume in the Backend Used with dynamically provisioned Quobyte volumes, value is set by the plugin. [optional] # noqa: E501
+ user (str): user to map volume access to Defaults to serivceaccount user. [optional] # noqa: E501
"""
_check_type = kwargs.pop('_check_type', True)
diff --git a/sdks/python/client/argo_workflows/model/rbd_volume_source.py b/sdks/python/client/argo_workflows/model/rbd_volume_source.py
index 16633ebba3e0..bc6c5a122406 100644
--- a/sdks/python/client/argo_workflows/model/rbd_volume_source.py
+++ b/sdks/python/client/argo_workflows/model/rbd_volume_source.py
@@ -124,8 +124,8 @@ def _from_openapi_data(cls, image, monitors, *args, **kwargs): # noqa: E501
"""RBDVolumeSource - a model defined in OpenAPI
Args:
- image (str): The rados image name. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it
- monitors ([str]): A collection of Ceph monitors. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it
+ image (str): image is the rados image name. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it
+ monitors ([str]): monitors is a collection of Ceph monitors. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it
Keyword Args:
_check_type (bool): if True, values for parameters in openapi_types
@@ -158,12 +158,12 @@ def _from_openapi_data(cls, image, monitors, *args, **kwargs): # noqa: E501
Animal class but this time we won't travel
through its discriminator because we passed in
_visited_composed_classes = (Animal,)
- fs_type (str): Filesystem type of the volume that you want to mount. Tip: Ensure that the filesystem type is supported by the host operating system. Examples: \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified. More info: https://kubernetes.io/docs/concepts/storage/volumes#rbd. [optional] # noqa: E501
- keyring (str): Keyring is the path to key ring for RBDUser. Default is /etc/ceph/keyring. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it. [optional] # noqa: E501
- pool (str): The rados pool name. Default is rbd. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it. [optional] # noqa: E501
- read_only (bool): ReadOnly here will force the ReadOnly setting in VolumeMounts. Defaults to false. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it. [optional] # noqa: E501
+ fs_type (str): fsType is the filesystem type of the volume that you want to mount. Tip: Ensure that the filesystem type is supported by the host operating system. Examples: \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified. More info: https://kubernetes.io/docs/concepts/storage/volumes#rbd. [optional] # noqa: E501
+ keyring (str): keyring is the path to key ring for RBDUser. Default is /etc/ceph/keyring. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it. [optional] # noqa: E501
+ pool (str): pool is the rados pool name. Default is rbd. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it. [optional] # noqa: E501
+ read_only (bool): readOnly here will force the ReadOnly setting in VolumeMounts. Defaults to false. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it. [optional] # noqa: E501
secret_ref (LocalObjectReference): [optional] # noqa: E501
- user (str): The rados user name. Default is admin. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it. [optional] # noqa: E501
+ user (str): user is the rados user name. Default is admin. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it. [optional] # noqa: E501
"""
_check_type = kwargs.pop('_check_type', True)
@@ -217,8 +217,8 @@ def __init__(self, image, monitors, *args, **kwargs): # noqa: E501
"""RBDVolumeSource - a model defined in OpenAPI
Args:
- image (str): The rados image name. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it
- monitors ([str]): A collection of Ceph monitors. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it
+ image (str): image is the rados image name. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it
+ monitors ([str]): monitors is a collection of Ceph monitors. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it
Keyword Args:
_check_type (bool): if True, values for parameters in openapi_types
@@ -251,12 +251,12 @@ def __init__(self, image, monitors, *args, **kwargs): # noqa: E501
Animal class but this time we won't travel
through its discriminator because we passed in
_visited_composed_classes = (Animal,)
- fs_type (str): Filesystem type of the volume that you want to mount. Tip: Ensure that the filesystem type is supported by the host operating system. Examples: \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified. More info: https://kubernetes.io/docs/concepts/storage/volumes#rbd. [optional] # noqa: E501
- keyring (str): Keyring is the path to key ring for RBDUser. Default is /etc/ceph/keyring. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it. [optional] # noqa: E501
- pool (str): The rados pool name. Default is rbd. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it. [optional] # noqa: E501
- read_only (bool): ReadOnly here will force the ReadOnly setting in VolumeMounts. Defaults to false. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it. [optional] # noqa: E501
+ fs_type (str): fsType is the filesystem type of the volume that you want to mount. Tip: Ensure that the filesystem type is supported by the host operating system. Examples: \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified. More info: https://kubernetes.io/docs/concepts/storage/volumes#rbd. [optional] # noqa: E501
+ keyring (str): keyring is the path to key ring for RBDUser. Default is /etc/ceph/keyring. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it. [optional] # noqa: E501
+ pool (str): pool is the rados pool name. Default is rbd. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it. [optional] # noqa: E501
+ read_only (bool): readOnly here will force the ReadOnly setting in VolumeMounts. Defaults to false. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it. [optional] # noqa: E501
secret_ref (LocalObjectReference): [optional] # noqa: E501
- user (str): The rados user name. Default is admin. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it. [optional] # noqa: E501
+ user (str): user is the rados user name. Default is admin. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it. [optional] # noqa: E501
"""
_check_type = kwargs.pop('_check_type', True)
diff --git a/sdks/python/client/argo_workflows/model/resource_claim.py b/sdks/python/client/argo_workflows/model/resource_claim.py
new file mode 100644
index 000000000000..a5dadcfc748a
--- /dev/null
+++ b/sdks/python/client/argo_workflows/model/resource_claim.py
@@ -0,0 +1,261 @@
+"""
+ Argo Workflows API
+
+ Argo Workflows is an open source container-native workflow engine for orchestrating parallel jobs on Kubernetes. For more information, please see https://argo-workflows.readthedocs.io/en/latest/ # noqa: E501
+
+ The version of the OpenAPI document: VERSION
+ Generated by: https://openapi-generator.tech
+"""
+
+
+import re # noqa: F401
+import sys # noqa: F401
+
+from argo_workflows.model_utils import ( # noqa: F401
+ ApiTypeError,
+ ModelComposed,
+ ModelNormal,
+ ModelSimple,
+ cached_property,
+ change_keys_js_to_python,
+ convert_js_args_to_python_args,
+ date,
+ datetime,
+ file_type,
+ none_type,
+ validate_get_composed_info,
+ OpenApiModel
+)
+from argo_workflows.exceptions import ApiAttributeError
+
+
+
+class ResourceClaim(ModelNormal):
+ """NOTE: This class is auto generated by OpenAPI Generator.
+ Ref: https://openapi-generator.tech
+
+ Do not edit the class manually.
+
+ Attributes:
+ allowed_values (dict): The key is the tuple path to the attribute
+ and the for var_name this is (var_name,). The value is a dict
+ with a capitalized key describing the allowed value and an allowed
+ value. These dicts store the allowed enum values.
+ attribute_map (dict): The key is attribute name
+ and the value is json key in definition.
+ discriminator_value_class_map (dict): A dict to go from the discriminator
+ variable value to the discriminator class name.
+ validations (dict): The key is the tuple path to the attribute
+ and the for var_name this is (var_name,). The value is a dict
+ that stores validations for max_length, min_length, max_items,
+ min_items, exclusive_maximum, inclusive_maximum, exclusive_minimum,
+ inclusive_minimum, and regex.
+ additional_properties_type (tuple): A tuple of classes accepted
+ as additional properties values.
+ """
+
+ allowed_values = {
+ }
+
+ validations = {
+ }
+
+ @cached_property
+ def additional_properties_type():
+ """
+ This must be a method because a model may have properties that are
+ of type self, this must run after the class is loaded
+ """
+ return (bool, date, datetime, dict, float, int, list, str, none_type,) # noqa: E501
+
+ _nullable = False
+
+ @cached_property
+ def openapi_types():
+ """
+ This must be a method because a model may have properties that are
+ of type self, this must run after the class is loaded
+
+ Returns
+ openapi_types (dict): The key is attribute name
+ and the value is attribute type.
+ """
+ return {
+ 'name': (str,), # noqa: E501
+ }
+
+ @cached_property
+ def discriminator():
+ return None
+
+
+ attribute_map = {
+ 'name': 'name', # noqa: E501
+ }
+
+ read_only_vars = {
+ }
+
+ _composed_schemas = {}
+
+ @classmethod
+ @convert_js_args_to_python_args
+ def _from_openapi_data(cls, name, *args, **kwargs): # noqa: E501
+ """ResourceClaim - a model defined in OpenAPI
+
+ Args:
+ name (str): Name must match the name of one entry in pod.spec.resourceClaims of the Pod where this field is used. It makes that resource available inside a container.
+
+ Keyword Args:
+ _check_type (bool): if True, values for parameters in openapi_types
+ will be type checked and a TypeError will be
+ raised if the wrong type is input.
+ Defaults to True
+ _path_to_item (tuple/list): This is a list of keys or values to
+ drill down to the model in received_data
+ when deserializing a response
+ _spec_property_naming (bool): True if the variable names in the input data
+ are serialized names, as specified in the OpenAPI document.
+ False if the variable names in the input data
+ are pythonic names, e.g. snake case (default)
+ _configuration (Configuration): the instance to use when
+ deserializing a file_type parameter.
+ If passed, type conversion is attempted
+ If omitted no type conversion is done.
+ _visited_composed_classes (tuple): This stores a tuple of
+ classes that we have traveled through so that
+ if we see that class again we will not use its
+ discriminator again.
+ When traveling through a discriminator, the
+ composed schema that is
+ is traveled through is added to this set.
+ For example if Animal has a discriminator
+ petType and we pass in "Dog", and the class Dog
+ allOf includes Animal, we move through Animal
+ once using the discriminator, and pick Dog.
+ Then in Dog, we will make an instance of the
+ Animal class but this time we won't travel
+ through its discriminator because we passed in
+ _visited_composed_classes = (Animal,)
+ """
+
+ _check_type = kwargs.pop('_check_type', True)
+ _spec_property_naming = kwargs.pop('_spec_property_naming', False)
+ _path_to_item = kwargs.pop('_path_to_item', ())
+ _configuration = kwargs.pop('_configuration', None)
+ _visited_composed_classes = kwargs.pop('_visited_composed_classes', ())
+
+ self = super(OpenApiModel, cls).__new__(cls)
+
+ if args:
+ raise ApiTypeError(
+ "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % (
+ args,
+ self.__class__.__name__,
+ ),
+ path_to_item=_path_to_item,
+ valid_classes=(self.__class__,),
+ )
+
+ self._data_store = {}
+ self._check_type = _check_type
+ self._spec_property_naming = _spec_property_naming
+ self._path_to_item = _path_to_item
+ self._configuration = _configuration
+ self._visited_composed_classes = _visited_composed_classes + (self.__class__,)
+
+ self.name = name
+ for var_name, var_value in kwargs.items():
+ if var_name not in self.attribute_map and \
+ self._configuration is not None and \
+ self._configuration.discard_unknown_keys and \
+ self.additional_properties_type is None:
+ # discard variable.
+ continue
+ setattr(self, var_name, var_value)
+ return self
+
+ required_properties = set([
+ '_data_store',
+ '_check_type',
+ '_spec_property_naming',
+ '_path_to_item',
+ '_configuration',
+ '_visited_composed_classes',
+ ])
+
+ @convert_js_args_to_python_args
+ def __init__(self, name, *args, **kwargs): # noqa: E501
+ """ResourceClaim - a model defined in OpenAPI
+
+ Args:
+ name (str): Name must match the name of one entry in pod.spec.resourceClaims of the Pod where this field is used. It makes that resource available inside a container.
+
+ Keyword Args:
+ _check_type (bool): if True, values for parameters in openapi_types
+ will be type checked and a TypeError will be
+ raised if the wrong type is input.
+ Defaults to True
+ _path_to_item (tuple/list): This is a list of keys or values to
+ drill down to the model in received_data
+ when deserializing a response
+ _spec_property_naming (bool): True if the variable names in the input data
+ are serialized names, as specified in the OpenAPI document.
+ False if the variable names in the input data
+ are pythonic names, e.g. snake case (default)
+ _configuration (Configuration): the instance to use when
+ deserializing a file_type parameter.
+ If passed, type conversion is attempted
+ If omitted no type conversion is done.
+ _visited_composed_classes (tuple): This stores a tuple of
+ classes that we have traveled through so that
+ if we see that class again we will not use its
+ discriminator again.
+ When traveling through a discriminator, the
+ composed schema that is
+ is traveled through is added to this set.
+ For example if Animal has a discriminator
+ petType and we pass in "Dog", and the class Dog
+ allOf includes Animal, we move through Animal
+ once using the discriminator, and pick Dog.
+ Then in Dog, we will make an instance of the
+ Animal class but this time we won't travel
+ through its discriminator because we passed in
+ _visited_composed_classes = (Animal,)
+ """
+
+ _check_type = kwargs.pop('_check_type', True)
+ _spec_property_naming = kwargs.pop('_spec_property_naming', False)
+ _path_to_item = kwargs.pop('_path_to_item', ())
+ _configuration = kwargs.pop('_configuration', None)
+ _visited_composed_classes = kwargs.pop('_visited_composed_classes', ())
+
+ if args:
+ raise ApiTypeError(
+ "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % (
+ args,
+ self.__class__.__name__,
+ ),
+ path_to_item=_path_to_item,
+ valid_classes=(self.__class__,),
+ )
+
+ self._data_store = {}
+ self._check_type = _check_type
+ self._spec_property_naming = _spec_property_naming
+ self._path_to_item = _path_to_item
+ self._configuration = _configuration
+ self._visited_composed_classes = _visited_composed_classes + (self.__class__,)
+
+ self.name = name
+ for var_name, var_value in kwargs.items():
+ if var_name not in self.attribute_map and \
+ self._configuration is not None and \
+ self._configuration.discard_unknown_keys and \
+ self.additional_properties_type is None:
+ # discard variable.
+ continue
+ setattr(self, var_name, var_value)
+ if var_name in self.read_only_vars:
+ raise ApiAttributeError(f"`{var_name}` is a read-only attribute. Use `from_openapi_data` to instantiate "
+ f"class with read only attributes.")
diff --git a/sdks/python/client/argo_workflows/model/resource_field_selector.py b/sdks/python/client/argo_workflows/model/resource_field_selector.py
index b00539c01ed6..19a8654b6c6b 100644
--- a/sdks/python/client/argo_workflows/model/resource_field_selector.py
+++ b/sdks/python/client/argo_workflows/model/resource_field_selector.py
@@ -142,7 +142,7 @@ def _from_openapi_data(cls, resource, *args, **kwargs): # noqa: E501
through its discriminator because we passed in
_visited_composed_classes = (Animal,)
container_name (str): Container name: required for volumes, optional for env vars. [optional] # noqa: E501
- divisor (str): Quantity is a fixed-point representation of a number. It provides convenient marshaling/unmarshaling in JSON and YAML, in addition to String() and AsInt64() accessors. The serialization format is: ::= (Note that may be empty, from the \"\" case in .) ::= 0 | 1 | ... | 9 ::= | ::= | . | . | . ::= \"+\" | \"-\" ::= | ::= | |