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 monitors
More 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 monitors
More 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 force
the 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.secret
More 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-exclusive
with 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 is
allowed not to exist. If using signerName, then the combination of
signerName and labelSelector is allowed to match zero
ClusterTrustBundles.
+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 selected
ClusterTrustBundles 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/#names
TODO: 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 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. | | | 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/#names
TODO: 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 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. | | | 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 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| `string` | | | Name of the referent.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: 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 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
+listType=atomic | | +| name | string| `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.
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 file
mode, 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 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| `string` | | | Name of the referent.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: 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 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
+listType=atomic | | +| name | string| `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.
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 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 | | -| 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 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 | | -| 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 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 | | +| 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 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
+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 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
+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 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
+listType=atomic | | | image | string| `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.
+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 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
+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 this
is 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 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 | | | 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, which
might 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 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 | | -| 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 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 | | +| 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 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
+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 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
+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 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 | | +| 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 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
+listType=atomic | | | image | string| `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.
+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 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
+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 this
is 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 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 | | | 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, which
might 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 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.
+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 the
command is root ('/') in the container's filesystem. The command is simply exec'd, it is
not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use
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 | | +| command | []string| `[]string` | | | Command is the command line to execute inside the container, the working directory for the
command is root ('/') in the container's filesystem. The command is simply exec'd, it is
not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use
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 | | @@ -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 force
the 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 port
is 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 port
is 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 port
is 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 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.
+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 strategic
merge 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 strategic
merge 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/#names
TODO: 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 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. | | @@ -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 satisfy
the affinity expressions specified by this field, but it may choose
a node that violates one or more of the expressions. The node that is
most preferred is the one with the greatest sum of weights, i.e.
for each node that meets all of the scheduling requirements (resource
request, 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; the
node(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 satisfy
the affinity expressions specified by this field, but it may choose
a node that violates one or more of the expressions. The node that is
most preferred is the one with the greatest sum of weights, i.e.
for each node that meets all of the scheduling requirements (resource
request, 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; the
node(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 values
array 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 values
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 | | @@ -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, 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| `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 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 | | | 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 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 | | +| annotations | map of string| `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
+optional | | | creationTimestamp | string| `string` | | | 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
+optional | | | deletionGracePeriodSeconds | int64 (formatted integer)| `int64` | | | 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 | | | deletionTimestamp | string| `string` | | | 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
+optional | | -| finalizers | []string| `[]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.
+optional
+patchStrategy=merge | | +| finalizers | []string| `[]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.
+optional
+patchStrategy=merge
+listType=set | | | generateName | string| `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
+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 controllers
and 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 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 | | -| name | string| `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
+optional | | -| namespace | string| `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
+optional | | -| ownerReferences | [][OwnerReference](#owner-reference)| `[]*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
+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 controllers
and 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 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
+listType=atomic | | +| name | string| `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
+optional | | +| namespace | string| `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
+optional | | +| ownerReferences | [][OwnerReference](#owner-reference)| `[]*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
+patchMergeKey=uid
+patchStrategy=merge
+listType=map
+listMapKey=uid | | | resourceVersion | string| `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
+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 satisfy
the affinity expressions specified by this field, but it may choose
a node that violates one or more of the expressions. The node that is
most preferred is the one with the greatest sum of weights, i.e.
for each node that meets all of the scheduling requirements (resource
request, 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; the
node(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 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.
+optional | | +| preferredDuringSchedulingIgnoredDuringExecution | [][WeightedPodAffinityTerm](#weighted-pod-affinity-term)| `[]*WeightedPodAffinityTerm` | | | The scheduler will prefer to schedule pods to nodes that satisfy
the affinity expressions specified by this field, but it may choose
a node that violates one or more of the expressions. The node that is
most preferred is the one with the greatest sum of weights, i.e.
for each node that meets all of the scheduling requirements (resource
request, 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; the
node(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 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.
+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 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 | | +| mismatchLabelKeys | []string| `[]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.
+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 field
and 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 field
and 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 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. | | @@ -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 satisfy
the anti-affinity expressions specified by this field, but it may choose
a node that violates one or more of the expressions. The node that is
most preferred is the one with the greatest sum of weights, i.e.
for each node that meets all of the scheduling requirements (resource
request, 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; the
node(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 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.
+optional | | +| preferredDuringSchedulingIgnoredDuringExecution | [][WeightedPodAffinityTerm](#weighted-pod-affinity-term)| `[]*WeightedPodAffinityTerm` | | | The scheduler will prefer to schedule pods to nodes that satisfy
the anti-affinity expressions specified by this field, but it may choose
a node that violates one or more of the expressions. The node that is
most preferred is the one with the greatest sum of weights, i.e.
for each node that meets all of the scheduling requirements (resource
request, 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; the
node(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 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.
+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 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 | | | 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 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 | | @@ -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 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 | | | 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 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 | | -| sysctls | [][Sysctl](#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.
+optional | | +| supplementalGroups | []int64 (formatted integer)| `[]int64` | | | 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
+listType=atomic | | +| sysctls | [][Sysctl](#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.
+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 file
mode, 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#rbd
TODO: 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 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 | | -| 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 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 | | -| 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 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 | | +| 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 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
+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 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
+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 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
+listType=atomic | | | image | string| `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.
+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 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
+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 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 | | | 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, which
might 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/#names
TODO: 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 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. | | | 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/#names
TODO: 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 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. | | | 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 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| `string` | | | Name of the referent.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: 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 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
+listType=atomic | | +| name | string| `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.
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 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 | [][KeyToPath](#key-to-path)| `[]*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 | | +| items | [][KeyToPath](#key-to-path)| `[]*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
+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 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.
+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 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 | | -| 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 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 | | -| 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 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 | | +| 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 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
+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 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
+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 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
+listType=atomic | | | image | string| `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.
+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 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
+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 this
is 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 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 | | | 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, which
might 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 the
GMSA 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 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| `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 and
PodSecurityContext, 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 ::= | ::= | . | . | . ::= \"+\" | \"-\" ::= | ::= | | ::= 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 + 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 ::= | ::= | . | . | . ::= \"+\" | \"-\" ::= | ::= | | ::= 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) @@ -229,7 +229,7 @@ def __init__(self, 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 ::= | ::= | . | . | . ::= \"+\" | \"-\" ::= | ::= | | ::= 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 + 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 ::= | ::= | . | . | . ::= \"+\" | \"-\" ::= | ::= | | ::= 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/resource_requirements.py b/sdks/python/client/argo_workflows/model/resource_requirements.py index 9ba0fa404963..ffca50ec8c57 100644 --- a/sdks/python/client/argo_workflows/model/resource_requirements.py +++ b/sdks/python/client/argo_workflows/model/resource_requirements.py @@ -29,6 +29,10 @@ from argo_workflows.exceptions import ApiAttributeError +def lazy_import(): + from argo_workflows.model.resource_claim import ResourceClaim + globals()['ResourceClaim'] = ResourceClaim + class ResourceRequirements(ModelNormal): """NOTE: This class is auto generated by OpenAPI Generator. @@ -66,6 +70,7 @@ 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 @@ -80,7 +85,9 @@ def openapi_types(): openapi_types (dict): The key is attribute name and the value is attribute type. """ + lazy_import() return { + 'claims': ([ResourceClaim],), # noqa: E501 'limits': ({str: (str,)},), # noqa: E501 'requests': ({str: (str,)},), # noqa: E501 } @@ -91,6 +98,7 @@ def discriminator(): attribute_map = { + 'claims': 'claims', # noqa: E501 'limits': 'limits', # noqa: E501 'requests': 'requests', # noqa: E501 } @@ -136,8 +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,) + claims ([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.. [optional] # noqa: E501 limits ({str: (str,)}): Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/. [optional] # noqa: E501 - requests ({str: (str,)}): 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/. [optional] # noqa: E501 + requests ({str: (str,)}): 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] # noqa: E501 """ _check_type = kwargs.pop('_check_type', True) @@ -219,8 +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,) + claims ([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.. [optional] # noqa: E501 limits ({str: (str,)}): Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/. [optional] # noqa: E501 - requests ({str: (str,)}): 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/. [optional] # noqa: E501 + requests ({str: (str,)}): 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] # noqa: E501 """ _check_type = kwargs.pop('_check_type', True) diff --git a/sdks/python/client/argo_workflows/model/scale_io_volume_source.py b/sdks/python/client/argo_workflows/model/scale_io_volume_source.py index 7dd161b71e6e..a743cdf8be4c 100644 --- a/sdks/python/client/argo_workflows/model/scale_io_volume_source.py +++ b/sdks/python/client/argo_workflows/model/scale_io_volume_source.py @@ -128,9 +128,9 @@ def _from_openapi_data(cls, gateway, secret_ref, system, *args, **kwargs): # no """ScaleIOVolumeSource - a model defined in OpenAPI Args: - gateway (str): The host address of the ScaleIO API Gateway. + gateway (str): gateway is the host address of the ScaleIO API Gateway. secret_ref (LocalObjectReference): - system (str): The name of the storage system as configured in ScaleIO. + system (str): system is the name of the storage system as configured in ScaleIO. Keyword Args: _check_type (bool): if True, values for parameters in openapi_types @@ -163,13 +163,13 @@ def _from_openapi_data(cls, gateway, secret_ref, system, *args, **kwargs): # no 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\". Default is \"xfs\".. [optional] # noqa: E501 - protection_domain (str): The name of the ScaleIO Protection Domain for the configured storage.. [optional] # noqa: E501 - read_only (bool): Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts.. [optional] # noqa: E501 - ssl_enabled (bool): Flag to enable/disable SSL communication with Gateway, default false. [optional] # noqa: E501 - storage_mode (str): Indicates whether the storage for a volume should be ThickProvisioned or ThinProvisioned. Default is ThinProvisioned.. [optional] # noqa: E501 - storage_pool (str): The ScaleIO Storage Pool associated with the protection domain.. [optional] # noqa: E501 - volume_name (str): The name of a volume already created in the ScaleIO system that is associated with this volume source.. [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\". Default is \"xfs\".. [optional] # noqa: E501 + protection_domain (str): protectionDomain is the name of the ScaleIO Protection Domain for the configured storage.. [optional] # noqa: E501 + read_only (bool): readOnly Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts.. [optional] # noqa: E501 + ssl_enabled (bool): sslEnabled Flag enable/disable SSL communication with Gateway, default false. [optional] # noqa: E501 + storage_mode (str): storageMode indicates whether the storage for a volume should be ThickProvisioned or ThinProvisioned. Default is ThinProvisioned.. [optional] # noqa: E501 + storage_pool (str): storagePool is the ScaleIO Storage Pool associated with the protection domain.. [optional] # noqa: E501 + volume_name (str): volumeName is the name of a volume already created in the ScaleIO system that is associated with this volume source.. [optional] # noqa: E501 """ _check_type = kwargs.pop('_check_type', True) @@ -224,9 +224,9 @@ def __init__(self, gateway, secret_ref, system, *args, **kwargs): # noqa: E501 """ScaleIOVolumeSource - a model defined in OpenAPI Args: - gateway (str): The host address of the ScaleIO API Gateway. + gateway (str): gateway is the host address of the ScaleIO API Gateway. secret_ref (LocalObjectReference): - system (str): The name of the storage system as configured in ScaleIO. + system (str): system is the name of the storage system as configured in ScaleIO. Keyword Args: _check_type (bool): if True, values for parameters in openapi_types @@ -259,13 +259,13 @@ def __init__(self, gateway, secret_ref, system, *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\". Default is \"xfs\".. [optional] # noqa: E501 - protection_domain (str): The name of the ScaleIO Protection Domain for the configured storage.. [optional] # noqa: E501 - read_only (bool): Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts.. [optional] # noqa: E501 - ssl_enabled (bool): Flag to enable/disable SSL communication with Gateway, default false. [optional] # noqa: E501 - storage_mode (str): Indicates whether the storage for a volume should be ThickProvisioned or ThinProvisioned. Default is ThinProvisioned.. [optional] # noqa: E501 - storage_pool (str): The ScaleIO Storage Pool associated with the protection domain.. [optional] # noqa: E501 - volume_name (str): The name of a volume already created in the ScaleIO system that is associated with this volume source.. [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\". Default is \"xfs\".. [optional] # noqa: E501 + protection_domain (str): protectionDomain is the name of the ScaleIO Protection Domain for the configured storage.. [optional] # noqa: E501 + read_only (bool): readOnly Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts.. [optional] # noqa: E501 + ssl_enabled (bool): sslEnabled Flag enable/disable SSL communication with Gateway, default false. [optional] # noqa: E501 + storage_mode (str): storageMode indicates whether the storage for a volume should be ThickProvisioned or ThinProvisioned. Default is ThinProvisioned.. [optional] # noqa: E501 + storage_pool (str): storagePool is the ScaleIO Storage Pool associated with the protection domain.. [optional] # noqa: E501 + volume_name (str): volumeName is the name of a volume already created in the ScaleIO system that is associated with this volume source.. [optional] # noqa: E501 """ _check_type = kwargs.pop('_check_type', True) diff --git a/sdks/python/client/argo_workflows/model/seccomp_profile.py b/sdks/python/client/argo_workflows/model/seccomp_profile.py index fb07ca0bd919..c94ed4522b02 100644 --- a/sdks/python/client/argo_workflows/model/seccomp_profile.py +++ b/sdks/python/client/argo_workflows/model/seccomp_profile.py @@ -55,11 +55,6 @@ class SeccompProfile(ModelNormal): """ allowed_values = { - ('type',): { - 'LOCALHOST': "Localhost", - 'RUNTIMEDEFAULT': "RuntimeDefault", - 'UNCONFINED': "Unconfined", - }, } validations = { @@ -111,7 +106,7 @@ def _from_openapi_data(cls, type, *args, **kwargs): # noqa: E501 """SeccompProfile - a model defined in OpenAPI Args: - type (str): 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). + type (str): 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. Keyword Args: _check_type (bool): if True, values for parameters in openapi_types @@ -144,7 +139,7 @@ def _from_openapi_data(cls, type, *args, **kwargs): # noqa: E501 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 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] # noqa: E501 + localhost_profile (str): 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] # noqa: E501 """ _check_type = kwargs.pop('_check_type', True) @@ -197,7 +192,7 @@ def __init__(self, type, *args, **kwargs): # noqa: E501 """SeccompProfile - a model defined in OpenAPI Args: - type (str): 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). + type (str): 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. Keyword Args: _check_type (bool): if True, values for parameters in openapi_types @@ -230,7 +225,7 @@ def __init__(self, type, *args, **kwargs): # noqa: E501 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 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] # noqa: E501 + localhost_profile (str): 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] # noqa: E501 """ _check_type = kwargs.pop('_check_type', True) diff --git a/sdks/python/client/argo_workflows/model/secret_env_source.py b/sdks/python/client/argo_workflows/model/secret_env_source.py index ad742cee49f6..d87c19165f68 100644 --- a/sdks/python/client/argo_workflows/model/secret_env_source.py +++ b/sdks/python/client/argo_workflows/model/secret_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 Secret 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 Secret must be defined. [optional] # noqa: E501 """ diff --git a/sdks/python/client/argo_workflows/model/secret_key_selector.py b/sdks/python/client/argo_workflows/model/secret_key_selector.py index ee91496b4748..0970ffd4a90c 100644 --- a/sdks/python/client/argo_workflows/model/secret_key_selector.py +++ b/sdks/python/client/argo_workflows/model/secret_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 Secret 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 Secret or its key must be defined. [optional] # noqa: E501 """ diff --git a/sdks/python/client/argo_workflows/model/secret_projection.py b/sdks/python/client/argo_workflows/model/secret_projection.py index 823c7c84fa43..88a7d40fa5a4 100644 --- a/sdks/python/client/argo_workflows/model/secret_projection.py +++ b/sdks/python/client/argo_workflows/model/secret_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 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] # 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 Secret or its key must be defined. [optional] # noqa: E501 + items ([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] # 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 field specify whether the Secret or its key 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 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] # 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 Secret or its key must be defined. [optional] # noqa: E501 + items ([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] # 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 field specify whether the Secret or its key must be defined. [optional] # noqa: E501 """ _check_type = kwargs.pop('_check_type', True) diff --git a/sdks/python/client/argo_workflows/model/secret_volume_source.py b/sdks/python/client/argo_workflows/model/secret_volume_source.py index 54e0667cfd0c..a6b794bcba27 100644 --- a/sdks/python/client/argo_workflows/model/secret_volume_source.py +++ b/sdks/python/client/argo_workflows/model/secret_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 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] # noqa: E501 - optional (bool): Specify whether the Secret or its keys must be defined. [optional] # noqa: E501 - secret_name (str): Name of the secret in the pod's namespace to use. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret. [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 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] # noqa: E501 + optional (bool): optional field specify whether the Secret or its keys must be defined. [optional] # noqa: E501 + secret_name (str): 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] # 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 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] # noqa: E501 - optional (bool): Specify whether the Secret or its keys must be defined. [optional] # noqa: E501 - secret_name (str): Name of the secret in the pod's namespace to use. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret. [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 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] # noqa: E501 + optional (bool): optional field specify whether the Secret or its keys must be defined. [optional] # noqa: E501 + secret_name (str): 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] # noqa: E501 """ _check_type = kwargs.pop('_check_type', True) diff --git a/sdks/python/client/argo_workflows/model/security_context.py b/sdks/python/client/argo_workflows/model/security_context.py index 7dbf984223e8..767ea7fc66fa 100644 --- a/sdks/python/client/argo_workflows/model/security_context.py +++ b/sdks/python/client/argo_workflows/model/security_context.py @@ -30,10 +30,12 @@ def lazy_import(): + from argo_workflows.model.app_armor_profile import AppArmorProfile from argo_workflows.model.capabilities import Capabilities from argo_workflows.model.se_linux_options import SELinuxOptions from argo_workflows.model.seccomp_profile import SeccompProfile from argo_workflows.model.windows_security_context_options import WindowsSecurityContextOptions + globals()['AppArmorProfile'] = AppArmorProfile globals()['Capabilities'] = Capabilities globals()['SELinuxOptions'] = SELinuxOptions globals()['SeccompProfile'] = SeccompProfile @@ -94,6 +96,7 @@ def openapi_types(): lazy_import() return { 'allow_privilege_escalation': (bool,), # noqa: E501 + 'app_armor_profile': (AppArmorProfile,), # noqa: E501 'capabilities': (Capabilities,), # noqa: E501 'privileged': (bool,), # noqa: E501 'proc_mount': (str,), # noqa: E501 @@ -113,6 +116,7 @@ def discriminator(): attribute_map = { 'allow_privilege_escalation': 'allowPrivilegeEscalation', # noqa: E501 + 'app_armor_profile': 'appArmorProfile', # noqa: E501 'capabilities': 'capabilities', # noqa: E501 'privileged': 'privileged', # noqa: E501 'proc_mount': 'procMount', # noqa: E501 @@ -167,6 +171,7 @@ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 through its discriminator because we passed in _visited_composed_classes = (Animal,) allow_privilege_escalation (bool): 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.. [optional] # noqa: E501 + app_armor_profile (AppArmorProfile): [optional] # noqa: E501 capabilities (Capabilities): [optional] # noqa: E501 privileged (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] # noqa: E501 proc_mount (str): 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.. [optional] # noqa: E501 @@ -259,6 +264,7 @@ def __init__(self, *args, **kwargs): # noqa: E501 through its discriminator because we passed in _visited_composed_classes = (Animal,) allow_privilege_escalation (bool): 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.. [optional] # noqa: E501 + app_armor_profile (AppArmorProfile): [optional] # noqa: E501 capabilities (Capabilities): [optional] # noqa: E501 privileged (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] # noqa: E501 proc_mount (str): 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.. [optional] # noqa: E501 diff --git a/sdks/python/client/argo_workflows/model/service_account_token_projection.py b/sdks/python/client/argo_workflows/model/service_account_token_projection.py index 2943aa80d2e5..8366955dbf46 100644 --- a/sdks/python/client/argo_workflows/model/service_account_token_projection.py +++ b/sdks/python/client/argo_workflows/model/service_account_token_projection.py @@ -108,7 +108,7 @@ def _from_openapi_data(cls, path, *args, **kwargs): # noqa: E501 """ServiceAccountTokenProjection - a model defined in OpenAPI Args: - path (str): Path is the path relative to the mount point of the file to project the token into. + path (str): path is the path relative to the mount point of the file to project the token into. Keyword Args: _check_type (bool): if True, values for parameters in openapi_types @@ -141,8 +141,8 @@ 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,) - audience (str): 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] # noqa: E501 - expiration_seconds (int): 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] # noqa: E501 + audience (str): 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] # noqa: E501 + expiration_seconds (int): 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] # noqa: E501 """ _check_type = kwargs.pop('_check_type', True) @@ -195,7 +195,7 @@ def __init__(self, path, *args, **kwargs): # noqa: E501 """ServiceAccountTokenProjection - a model defined in OpenAPI Args: - path (str): Path is the path relative to the mount point of the file to project the token into. + path (str): path is the path relative to the mount point of the file to project the token into. Keyword Args: _check_type (bool): if True, values for parameters in openapi_types @@ -228,8 +228,8 @@ 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,) - audience (str): 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] # noqa: E501 - expiration_seconds (int): 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] # noqa: E501 + audience (str): 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] # noqa: E501 + expiration_seconds (int): 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] # noqa: E501 """ _check_type = kwargs.pop('_check_type', True) diff --git a/sdks/python/client/argo_workflows/model/service_port.py b/sdks/python/client/argo_workflows/model/service_port.py index dd8493e10de9..7e6302ac0678 100644 --- a/sdks/python/client/argo_workflows/model/service_port.py +++ b/sdks/python/client/argo_workflows/model/service_port.py @@ -55,11 +55,6 @@ class ServicePort(ModelNormal): """ allowed_values = { - ('protocol',): { - 'SCTP': "SCTP", - 'TCP': "TCP", - 'UDP': "UDP", - }, } validations = { @@ -152,10 +147,10 @@ def _from_openapi_data(cls, port, *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_protocol (str): 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] # noqa: E501 + app_protocol (str): 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] # noqa: E501 name (str): 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] # noqa: E501 node_port (int): 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] # noqa: E501 - protocol (str): 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] # noqa: E501 + protocol (str): The IP protocol for this port. Supports \"TCP\", \"UDP\", and \"SCTP\". Default is TCP.. [optional] # noqa: E501 target_port (str): [optional] # noqa: E501 """ @@ -242,10 +237,10 @@ def __init__(self, port, *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_protocol (str): 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] # noqa: E501 + app_protocol (str): 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] # noqa: E501 name (str): 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] # noqa: E501 node_port (int): 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] # noqa: E501 - protocol (str): 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] # noqa: E501 + protocol (str): The IP protocol for this port. Supports \"TCP\", \"UDP\", and \"SCTP\". Default is TCP.. [optional] # noqa: E501 target_port (str): [optional] # noqa: E501 """ diff --git a/sdks/python/client/argo_workflows/model/sleep_action.py b/sdks/python/client/argo_workflows/model/sleep_action.py new file mode 100644 index 000000000000..b4d2f755c0dd --- /dev/null +++ b/sdks/python/client/argo_workflows/model/sleep_action.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 SleepAction(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 { + 'seconds': (int,), # noqa: E501 + } + + @cached_property + def discriminator(): + return None + + + attribute_map = { + 'seconds': 'seconds', # noqa: E501 + } + + read_only_vars = { + } + + _composed_schemas = {} + + @classmethod + @convert_js_args_to_python_args + def _from_openapi_data(cls, seconds, *args, **kwargs): # noqa: E501 + """SleepAction - a model defined in OpenAPI + + Args: + seconds (int): Seconds is the number of seconds to sleep. + + 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.seconds = seconds + 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, seconds, *args, **kwargs): # noqa: E501 + """SleepAction - a model defined in OpenAPI + + Args: + seconds (int): Seconds is the number of seconds to sleep. + + 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.seconds = seconds + 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/storage_os_volume_source.py b/sdks/python/client/argo_workflows/model/storage_os_volume_source.py index febb659bc55a..58c084c2b216 100644 --- a/sdks/python/client/argo_workflows/model/storage_os_volume_source.py +++ b/sdks/python/client/argo_workflows/model/storage_os_volume_source.py @@ -148,11 +148,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 - read_only (bool): 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\". 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 secret_ref (LocalObjectReference): [optional] # noqa: E501 - volume_name (str): VolumeName is the human-readable name of the StorageOS volume. Volume names are only unique within a namespace.. [optional] # noqa: E501 - volume_namespace (str): 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] # noqa: E501 + volume_name (str): volumeName is the human-readable name of the StorageOS volume. Volume names are only unique within a namespace.. [optional] # noqa: E501 + volume_namespace (str): 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] # noqa: E501 """ _check_type = kwargs.pop('_check_type', True) @@ -234,11 +234,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 - read_only (bool): 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\". 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 secret_ref (LocalObjectReference): [optional] # noqa: E501 - volume_name (str): VolumeName is the human-readable name of the StorageOS volume. Volume names are only unique within a namespace.. [optional] # noqa: E501 - volume_namespace (str): 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] # noqa: E501 + volume_name (str): volumeName is the human-readable name of the StorageOS volume. Volume names are only unique within a namespace.. [optional] # noqa: E501 + volume_namespace (str): 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] # noqa: E501 """ _check_type = kwargs.pop('_check_type', True) diff --git a/sdks/python/client/argo_workflows/model/toleration.py b/sdks/python/client/argo_workflows/model/toleration.py index 6fc5258bed13..0bb0889b54eb 100644 --- a/sdks/python/client/argo_workflows/model/toleration.py +++ b/sdks/python/client/argo_workflows/model/toleration.py @@ -55,15 +55,6 @@ class Toleration(ModelNormal): """ allowed_values = { - ('effect',): { - 'NOEXECUTE': "NoExecute", - 'NOSCHEDULE': "NoSchedule", - 'PREFERNOSCHEDULE': "PreferNoSchedule", - }, - ('operator',): { - 'EQUAL': "Equal", - 'EXISTS': "Exists", - }, } validations = { @@ -151,9 +142,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,) - effect (str): 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.. [optional] # noqa: E501 + effect (str): Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.. [optional] # noqa: E501 key (str): 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.. [optional] # noqa: E501 - operator (str): 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\"`. [optional] # noqa: E501 + operator (str): 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.. [optional] # noqa: E501 toleration_seconds (int): 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.. [optional] # noqa: E501 value (str): Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string.. [optional] # noqa: E501 """ @@ -237,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,) - effect (str): 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.. [optional] # noqa: E501 + effect (str): Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.. [optional] # noqa: E501 key (str): 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.. [optional] # noqa: E501 - operator (str): 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\"`. [optional] # noqa: E501 + operator (str): 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.. [optional] # noqa: E501 toleration_seconds (int): 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.. [optional] # noqa: E501 value (str): Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string.. [optional] # noqa: E501 """ diff --git a/sdks/python/client/argo_workflows/model/typed_object_reference.py b/sdks/python/client/argo_workflows/model/typed_object_reference.py new file mode 100644 index 000000000000..99b0ac77673b --- /dev/null +++ b/sdks/python/client/argo_workflows/model/typed_object_reference.py @@ -0,0 +1,275 @@ +""" + 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 TypedObjectReference(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 { + 'kind': (str,), # noqa: E501 + 'name': (str,), # noqa: E501 + 'api_group': (str,), # noqa: E501 + 'namespace': (str,), # noqa: E501 + } + + @cached_property + def discriminator(): + return None + + + attribute_map = { + 'kind': 'kind', # noqa: E501 + 'name': 'name', # noqa: E501 + 'api_group': 'apiGroup', # noqa: E501 + 'namespace': 'namespace', # noqa: E501 + } + + read_only_vars = { + } + + _composed_schemas = {} + + @classmethod + @convert_js_args_to_python_args + def _from_openapi_data(cls, kind, name, *args, **kwargs): # noqa: E501 + """TypedObjectReference - a model defined in OpenAPI + + Args: + kind (str): Kind is the type of resource being referenced + name (str): Name is the name of resource being referenced + + 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,) + api_group (str): 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] # noqa: E501 + namespace (str): 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] # 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.kind = kind + 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, kind, name, *args, **kwargs): # noqa: E501 + """TypedObjectReference - a model defined in OpenAPI + + Args: + kind (str): Kind is the type of resource being referenced + name (str): Name is the name of resource being referenced + + 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,) + api_group (str): 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] # noqa: E501 + namespace (str): 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] # 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.kind = kind + 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/volume.py b/sdks/python/client/argo_workflows/model/volume.py index ad0df855203c..7f5f0c1a54e8 100644 --- a/sdks/python/client/argo_workflows/model/volume.py +++ b/sdks/python/client/argo_workflows/model/volume.py @@ -224,7 +224,7 @@ def _from_openapi_data(cls, name, *args, **kwargs): # noqa: E501 """Volume - a model defined in OpenAPI Args: - name (str): 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 + name (str): 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 Keyword Args: _check_type (bool): if True, values for parameters in openapi_types @@ -338,7 +338,7 @@ def __init__(self, name, *args, **kwargs): # noqa: E501 """Volume - a model defined in OpenAPI Args: - name (str): 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 + name (str): 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 Keyword Args: _check_type (bool): if True, values for parameters in openapi_types diff --git a/sdks/python/client/argo_workflows/model/volume_mount.py b/sdks/python/client/argo_workflows/model/volume_mount.py index 05fe9af79de8..071572182e90 100644 --- a/sdks/python/client/argo_workflows/model/volume_mount.py +++ b/sdks/python/client/argo_workflows/model/volume_mount.py @@ -85,6 +85,7 @@ def openapi_types(): 'name': (str,), # noqa: E501 'mount_propagation': (str,), # noqa: E501 'read_only': (bool,), # noqa: E501 + 'recursive_read_only': (str,), # noqa: E501 'sub_path': (str,), # noqa: E501 'sub_path_expr': (str,), # noqa: E501 } @@ -99,6 +100,7 @@ def discriminator(): 'name': 'name', # noqa: E501 'mount_propagation': 'mountPropagation', # noqa: E501 'read_only': 'readOnly', # noqa: E501 + 'recursive_read_only': 'recursiveReadOnly', # noqa: E501 'sub_path': 'subPath', # noqa: E501 'sub_path_expr': 'subPathExpr', # noqa: E501 } @@ -148,8 +150,9 @@ def _from_openapi_data(cls, mount_path, 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,) - mount_propagation (str): 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.. [optional] # noqa: E501 + mount_propagation (str): 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).. [optional] # noqa: E501 read_only (bool): Mounted read-only if true, read-write otherwise (false or unspecified). Defaults to false.. [optional] # noqa: E501 + recursive_read_only (str): 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.. [optional] # noqa: E501 sub_path (str): Path within the volume from which the container's volume should be mounted. Defaults to \"\" (volume's root).. [optional] # noqa: E501 sub_path_expr (str): 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] # noqa: E501 """ @@ -239,8 +242,9 @@ def __init__(self, mount_path, 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,) - mount_propagation (str): 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.. [optional] # noqa: E501 + mount_propagation (str): 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).. [optional] # noqa: E501 read_only (bool): Mounted read-only if true, read-write otherwise (false or unspecified). Defaults to false.. [optional] # noqa: E501 + recursive_read_only (str): 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.. [optional] # noqa: E501 sub_path (str): Path within the volume from which the container's volume should be mounted. Defaults to \"\" (volume's root).. [optional] # noqa: E501 sub_path_expr (str): 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] # noqa: E501 """ diff --git a/sdks/python/client/argo_workflows/model/volume_projection.py b/sdks/python/client/argo_workflows/model/volume_projection.py index 9b016736848a..9dc40e9610a6 100644 --- a/sdks/python/client/argo_workflows/model/volume_projection.py +++ b/sdks/python/client/argo_workflows/model/volume_projection.py @@ -30,10 +30,12 @@ def lazy_import(): + from argo_workflows.model.cluster_trust_bundle_projection import ClusterTrustBundleProjection from argo_workflows.model.config_map_projection import ConfigMapProjection from argo_workflows.model.downward_api_projection import DownwardAPIProjection from argo_workflows.model.secret_projection import SecretProjection from argo_workflows.model.service_account_token_projection import ServiceAccountTokenProjection + globals()['ClusterTrustBundleProjection'] = ClusterTrustBundleProjection globals()['ConfigMapProjection'] = ConfigMapProjection globals()['DownwardAPIProjection'] = DownwardAPIProjection globals()['SecretProjection'] = SecretProjection @@ -93,6 +95,7 @@ def openapi_types(): """ lazy_import() return { + 'cluster_trust_bundle': (ClusterTrustBundleProjection,), # noqa: E501 'config_map': (ConfigMapProjection,), # noqa: E501 'downward_api': (DownwardAPIProjection,), # noqa: E501 'secret': (SecretProjection,), # noqa: E501 @@ -105,6 +108,7 @@ def discriminator(): attribute_map = { + 'cluster_trust_bundle': 'clusterTrustBundle', # noqa: E501 'config_map': 'configMap', # noqa: E501 'downward_api': 'downwardAPI', # noqa: E501 'secret': 'secret', # noqa: E501 @@ -152,6 +156,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,) + cluster_trust_bundle (ClusterTrustBundleProjection): [optional] # noqa: E501 config_map (ConfigMapProjection): [optional] # noqa: E501 downward_api (DownwardAPIProjection): [optional] # noqa: E501 secret (SecretProjection): [optional] # noqa: E501 @@ -237,6 +242,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,) + cluster_trust_bundle (ClusterTrustBundleProjection): [optional] # noqa: E501 config_map (ConfigMapProjection): [optional] # noqa: E501 downward_api (DownwardAPIProjection): [optional] # noqa: E501 secret (SecretProjection): [optional] # noqa: E501 diff --git a/sdks/python/client/argo_workflows/model/volume_resource_requirements.py b/sdks/python/client/argo_workflows/model/volume_resource_requirements.py new file mode 100644 index 000000000000..6610fd29f482 --- /dev/null +++ b/sdks/python/client/argo_workflows/model/volume_resource_requirements.py @@ -0,0 +1,259 @@ +""" + 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 VolumeResourceRequirements(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 { + 'limits': ({str: (str,)},), # noqa: E501 + 'requests': ({str: (str,)},), # noqa: E501 + } + + @cached_property + def discriminator(): + return None + + + attribute_map = { + 'limits': 'limits', # noqa: E501 + 'requests': 'requests', # noqa: E501 + } + + read_only_vars = { + } + + _composed_schemas = {} + + @classmethod + @convert_js_args_to_python_args + def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 + """VolumeResourceRequirements - a model defined in OpenAPI + + 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,) + limits ({str: (str,)}): Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/. [optional] # noqa: E501 + requests ({str: (str,)}): 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] # 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__,) + + 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, *args, **kwargs): # noqa: E501 + """VolumeResourceRequirements - a model defined in OpenAPI + + 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,) + limits ({str: (str,)}): Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/. [optional] # noqa: E501 + requests ({str: (str,)}): 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] # 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__,) + + 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/vsphere_virtual_disk_volume_source.py b/sdks/python/client/argo_workflows/model/vsphere_virtual_disk_volume_source.py index be95c147cfa3..ee61684c3e60 100644 --- a/sdks/python/client/argo_workflows/model/vsphere_virtual_disk_volume_source.py +++ b/sdks/python/client/argo_workflows/model/vsphere_virtual_disk_volume_source.py @@ -110,7 +110,7 @@ def _from_openapi_data(cls, volume_path, *args, **kwargs): # noqa: E501 """VsphereVirtualDiskVolumeSource - a model defined in OpenAPI Args: - volume_path (str): Path that identifies vSphere volume vmdk + volume_path (str): volumePath is the path that identifies vSphere volume vmdk Keyword Args: _check_type (bool): if True, values for parameters in openapi_types @@ -143,9 +143,9 @@ def _from_openapi_data(cls, volume_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,) - 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 - storage_policy_id (str): Storage Policy Based Management (SPBM) profile ID associated with the StoragePolicyName.. [optional] # noqa: E501 - storage_policy_name (str): Storage Policy Based Management (SPBM) profile name.. [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 + storage_policy_id (str): storagePolicyID is the storage Policy Based Management (SPBM) profile ID associated with the StoragePolicyName.. [optional] # noqa: E501 + storage_policy_name (str): storagePolicyName is the storage Policy Based Management (SPBM) profile name.. [optional] # noqa: E501 """ _check_type = kwargs.pop('_check_type', True) @@ -198,7 +198,7 @@ def __init__(self, volume_path, *args, **kwargs): # noqa: E501 """VsphereVirtualDiskVolumeSource - a model defined in OpenAPI Args: - volume_path (str): Path that identifies vSphere volume vmdk + volume_path (str): volumePath is the path that identifies vSphere volume vmdk Keyword Args: _check_type (bool): if True, values for parameters in openapi_types @@ -231,9 +231,9 @@ def __init__(self, volume_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,) - 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 - storage_policy_id (str): Storage Policy Based Management (SPBM) profile ID associated with the StoragePolicyName.. [optional] # noqa: E501 - storage_policy_name (str): Storage Policy Based Management (SPBM) profile name.. [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 + storage_policy_id (str): storagePolicyID is the storage Policy Based Management (SPBM) profile ID associated with the StoragePolicyName.. [optional] # noqa: E501 + storage_policy_name (str): storagePolicyName is the storage Policy Based Management (SPBM) profile name.. [optional] # noqa: E501 """ _check_type = kwargs.pop('_check_type', True) diff --git a/sdks/python/client/argo_workflows/model/windows_security_context_options.py b/sdks/python/client/argo_workflows/model/windows_security_context_options.py index 1f7864af7ea6..014e69be4f10 100644 --- a/sdks/python/client/argo_workflows/model/windows_security_context_options.py +++ b/sdks/python/client/argo_workflows/model/windows_security_context_options.py @@ -142,7 +142,7 @@ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 _visited_composed_classes = (Animal,) gmsa_credential_spec (str): 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] # noqa: E501 gmsa_credential_spec_name (str): GMSACredentialSpecName is the name of the GMSA credential spec to use.. [optional] # noqa: E501 - host_process (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 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] # noqa: E501 + host_process (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] # noqa: E501 run_as_user_name (str): 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] # noqa: E501 """ @@ -227,7 +227,7 @@ def __init__(self, *args, **kwargs): # noqa: E501 _visited_composed_classes = (Animal,) gmsa_credential_spec (str): 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] # noqa: E501 gmsa_credential_spec_name (str): GMSACredentialSpecName is the name of the GMSA credential spec to use.. [optional] # noqa: E501 - host_process (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 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] # noqa: E501 + host_process (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] # noqa: E501 run_as_user_name (str): 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] # noqa: E501 """ diff --git a/sdks/python/client/argo_workflows/models/__init__.py b/sdks/python/client/argo_workflows/models/__init__.py index 6e5421d79d19..75e1b8f38746 100644 --- a/sdks/python/client/argo_workflows/models/__init__.py +++ b/sdks/python/client/argo_workflows/models/__init__.py @@ -11,18 +11,21 @@ from argo_workflows.model.aws_elastic_block_store_volume_source import AWSElasticBlockStoreVolumeSource from argo_workflows.model.affinity import Affinity +from argo_workflows.model.app_armor_profile import AppArmorProfile from argo_workflows.model.azure_disk_volume_source import AzureDiskVolumeSource from argo_workflows.model.azure_file_volume_source import AzureFileVolumeSource from argo_workflows.model.csi_volume_source import CSIVolumeSource from argo_workflows.model.capabilities import Capabilities from argo_workflows.model.ceph_fs_volume_source import CephFSVolumeSource from argo_workflows.model.cinder_volume_source import CinderVolumeSource +from argo_workflows.model.cluster_trust_bundle_projection import ClusterTrustBundleProjection from argo_workflows.model.config_map_env_source import ConfigMapEnvSource from argo_workflows.model.config_map_key_selector import ConfigMapKeySelector from argo_workflows.model.config_map_projection import ConfigMapProjection from argo_workflows.model.config_map_volume_source import ConfigMapVolumeSource from argo_workflows.model.container import Container from argo_workflows.model.container_port import ContainerPort +from argo_workflows.model.container_resize_policy import ContainerResizePolicy from argo_workflows.model.create_options import CreateOptions from argo_workflows.model.downward_api_projection import DownwardAPIProjection from argo_workflows.model.downward_api_volume_file import DownwardAPIVolumeFile @@ -330,6 +333,7 @@ from argo_workflows.model.list_meta import ListMeta from argo_workflows.model.local_object_reference import LocalObjectReference from argo_workflows.model.managed_fields_entry import ManagedFieldsEntry +from argo_workflows.model.modify_volume_status import ModifyVolumeStatus from argo_workflows.model.nfs_volume_source import NFSVolumeSource from argo_workflows.model.node_affinity import NodeAffinity from argo_workflows.model.node_selector import NodeSelector @@ -358,6 +362,7 @@ from argo_workflows.model.projected_volume_source import ProjectedVolumeSource from argo_workflows.model.quobyte_volume_source import QuobyteVolumeSource from argo_workflows.model.rbd_volume_source import RBDVolumeSource +from argo_workflows.model.resource_claim import ResourceClaim from argo_workflows.model.resource_field_selector import ResourceFieldSelector from argo_workflows.model.resource_requirements import ResourceRequirements from argo_workflows.model.se_linux_options import SELinuxOptions @@ -374,6 +379,7 @@ from argo_workflows.model.sensor_update_sensor_request import SensorUpdateSensorRequest from argo_workflows.model.service_account_token_projection import ServiceAccountTokenProjection from argo_workflows.model.service_port import ServicePort +from argo_workflows.model.sleep_action import SleepAction from argo_workflows.model.storage_os_volume_source import StorageOSVolumeSource from argo_workflows.model.stream_result_of_event import StreamResultOfEvent from argo_workflows.model.stream_result_of_eventsource_event_source_watch_event import StreamResultOfEventsourceEventSourceWatchEvent @@ -386,10 +392,12 @@ from argo_workflows.model.tcp_socket_action import TCPSocketAction from argo_workflows.model.toleration import Toleration from argo_workflows.model.typed_local_object_reference import TypedLocalObjectReference +from argo_workflows.model.typed_object_reference import TypedObjectReference from argo_workflows.model.volume import Volume from argo_workflows.model.volume_device import VolumeDevice from argo_workflows.model.volume_mount import VolumeMount from argo_workflows.model.volume_projection import VolumeProjection +from argo_workflows.model.volume_resource_requirements import VolumeResourceRequirements from argo_workflows.model.vsphere_virtual_disk_volume_source import VsphereVirtualDiskVolumeSource from argo_workflows.model.weighted_pod_affinity_term import WeightedPodAffinityTerm from argo_workflows.model.windows_security_context_options import WindowsSecurityContextOptions diff --git a/sdks/python/client/docs/AWSElasticBlockStoreVolumeSource.md b/sdks/python/client/docs/AWSElasticBlockStoreVolumeSource.md index aae0b49e9a51..b85e3f4b374a 100644 --- a/sdks/python/client/docs/AWSElasticBlockStoreVolumeSource.md +++ b/sdks/python/client/docs/AWSElasticBlockStoreVolumeSource.md @@ -5,10 +5,10 @@ Represents a Persistent Disk resource in AWS. An AWS EBS disk must exist before ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**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 | -**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] -**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] -**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] +**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 | +**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] +**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] +**read_only** | **bool** | readOnly value true will force the readOnly setting in VolumeMounts. More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore | [optional] **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/sdks/python/client/docs/AppArmorProfile.md b/sdks/python/client/docs/AppArmorProfile.md new file mode 100644 index 000000000000..277c13294655 --- /dev/null +++ b/sdks/python/client/docs/AppArmorProfile.md @@ -0,0 +1,14 @@ +# AppArmorProfile + +AppArmorProfile defines a pod or container's AppArmor settings. + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**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. | +**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] +**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/sdks/python/client/docs/ArchivedWorkflowServiceApi.md b/sdks/python/client/docs/ArchivedWorkflowServiceApi.md index 228c380586b8..63735b50c32c 100644 --- a/sdks/python/client/docs/ArchivedWorkflowServiceApi.md +++ b/sdks/python/client/docs/ArchivedWorkflowServiceApi.md @@ -312,12 +312,13 @@ with argo_workflows.ApiClient(configuration) as api_client: list_options_timeout_seconds = "listOptions.timeoutSeconds_example" # 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 = "listOptions.limit_example" # 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 = "listOptions.continue_example" # 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 = True # 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 = "namespace_example" # str | (optional) # example passing only required values which don't have defaults set # and optional values try: - api_response = api_instance.list_archived_workflow_label_values(list_options_label_selector=list_options_label_selector, list_options_field_selector=list_options_field_selector, list_options_watch=list_options_watch, list_options_allow_watch_bookmarks=list_options_allow_watch_bookmarks, list_options_resource_version=list_options_resource_version, list_options_resource_version_match=list_options_resource_version_match, list_options_timeout_seconds=list_options_timeout_seconds, list_options_limit=list_options_limit, list_options_continue=list_options_continue, namespace=namespace) + api_response = api_instance.list_archived_workflow_label_values(list_options_label_selector=list_options_label_selector, list_options_field_selector=list_options_field_selector, list_options_watch=list_options_watch, list_options_allow_watch_bookmarks=list_options_allow_watch_bookmarks, list_options_resource_version=list_options_resource_version, list_options_resource_version_match=list_options_resource_version_match, list_options_timeout_seconds=list_options_timeout_seconds, list_options_limit=list_options_limit, list_options_continue=list_options_continue, list_options_send_initial_events=list_options_send_initial_events, namespace=namespace) pprint(api_response) except argo_workflows.ApiException as e: print("Exception when calling ArchivedWorkflowServiceApi->list_archived_workflow_label_values: %s\n" % e) @@ -337,6 +338,7 @@ Name | Type | Description | Notes **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 type @@ -408,13 +410,14 @@ with argo_workflows.ApiClient(configuration) as api_client: list_options_timeout_seconds = "listOptions.timeoutSeconds_example" # 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 = "listOptions.limit_example" # 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 = "listOptions.continue_example" # 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 = True # 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 = "namePrefix_example" # str | (optional) namespace = "namespace_example" # str | (optional) # example passing only required values which don't have defaults set # and optional values try: - api_response = api_instance.list_archived_workflows(list_options_label_selector=list_options_label_selector, list_options_field_selector=list_options_field_selector, list_options_watch=list_options_watch, list_options_allow_watch_bookmarks=list_options_allow_watch_bookmarks, list_options_resource_version=list_options_resource_version, list_options_resource_version_match=list_options_resource_version_match, list_options_timeout_seconds=list_options_timeout_seconds, list_options_limit=list_options_limit, list_options_continue=list_options_continue, name_prefix=name_prefix, namespace=namespace) + api_response = api_instance.list_archived_workflows(list_options_label_selector=list_options_label_selector, list_options_field_selector=list_options_field_selector, list_options_watch=list_options_watch, list_options_allow_watch_bookmarks=list_options_allow_watch_bookmarks, list_options_resource_version=list_options_resource_version, list_options_resource_version_match=list_options_resource_version_match, list_options_timeout_seconds=list_options_timeout_seconds, list_options_limit=list_options_limit, list_options_continue=list_options_continue, list_options_send_initial_events=list_options_send_initial_events, name_prefix=name_prefix, namespace=namespace) pprint(api_response) except argo_workflows.ApiException as e: print("Exception when calling ArchivedWorkflowServiceApi->list_archived_workflows: %s\n" % e) @@ -434,6 +437,7 @@ Name | Type | Description | Notes **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] diff --git a/sdks/python/client/docs/AzureDiskVolumeSource.md b/sdks/python/client/docs/AzureDiskVolumeSource.md index 08b52b45e73f..924e36c72d02 100644 --- a/sdks/python/client/docs/AzureDiskVolumeSource.md +++ b/sdks/python/client/docs/AzureDiskVolumeSource.md @@ -5,12 +5,12 @@ AzureDisk represents an Azure Data Disk mount on the host and bind mount to the ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**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 | -**caching_mode** | **str** | Host Caching mode: None, Read Only, Read Write. | [optional] -**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] -**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] -**read_only** | **bool** | Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts. | [optional] +**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 | +**caching_mode** | **str** | cachingMode is the Host Caching mode: None, Read Only, Read Write. | [optional] +**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] +**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] +**read_only** | **bool** | readOnly Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts. | [optional] **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/sdks/python/client/docs/AzureFileVolumeSource.md b/sdks/python/client/docs/AzureFileVolumeSource.md index 2c799d85ab81..91f0dc247096 100644 --- a/sdks/python/client/docs/AzureFileVolumeSource.md +++ b/sdks/python/client/docs/AzureFileVolumeSource.md @@ -5,9 +5,9 @@ AzureFile represents an Azure File Service mount on the host and bind mount to t ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**secret_name** | **str** | the name of secret that contains Azure Storage Account Name and Key | -**share_name** | **str** | Share Name | -**read_only** | **bool** | Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts. | [optional] +**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 | +**read_only** | **bool** | readOnly defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts. | [optional] **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/sdks/python/client/docs/CSIVolumeSource.md b/sdks/python/client/docs/CSIVolumeSource.md index ee914513c775..dbbc87bf1efc 100644 --- a/sdks/python/client/docs/CSIVolumeSource.md +++ b/sdks/python/client/docs/CSIVolumeSource.md @@ -5,11 +5,11 @@ Represents a source location of a volume to mount, managed by an external CSI dr ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**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. | -**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] +**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. | +**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] **node_publish_secret_ref** | [**LocalObjectReference**](LocalObjectReference.md) | | [optional] -**read_only** | **bool** | Specifies a read-only configuration for the volume. Defaults to false (read/write). | [optional] -**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] +**read_only** | **bool** | readOnly specifies a read-only configuration for the volume. Defaults to false (read/write). | [optional] +**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] **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/sdks/python/client/docs/CephFSVolumeSource.md b/sdks/python/client/docs/CephFSVolumeSource.md index 30fc005fd126..8f2167650ba3 100644 --- a/sdks/python/client/docs/CephFSVolumeSource.md +++ b/sdks/python/client/docs/CephFSVolumeSource.md @@ -5,12 +5,12 @@ Represents a Ceph Filesystem mount that lasts the lifetime of a pod Cephfs volum ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**monitors** | **[str]** | Required: Monitors is a collection of Ceph monitors More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it | -**path** | **str** | Optional: Used as the mounted root, rather than the full Ceph tree, default is / | [optional] -**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] -**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] +**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 | +**path** | **str** | path is Optional: Used as the mounted root, rather than the full Ceph tree, default is / | [optional] +**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] +**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] **secret_ref** | [**LocalObjectReference**](LocalObjectReference.md) | | [optional] -**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] +**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] **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/sdks/python/client/docs/CinderVolumeSource.md b/sdks/python/client/docs/CinderVolumeSource.md index 599e76f957b8..fbd17ad21cc3 100644 --- a/sdks/python/client/docs/CinderVolumeSource.md +++ b/sdks/python/client/docs/CinderVolumeSource.md @@ -5,9 +5,9 @@ Represents a cinder volume resource in Openstack. A Cinder volume must exist bef ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**volume_id** | **str** | volume id used to identify the volume in cinder. More info: https://examples.k8s.io/mysql-cinder-pd/README.md | -**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] -**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] +**volume_id** | **str** | volumeID used to identify the volume in cinder. More info: https://examples.k8s.io/mysql-cinder-pd/README.md | +**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] +**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] **secret_ref** | [**LocalObjectReference**](LocalObjectReference.md) | | [optional] **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] diff --git a/sdks/python/client/docs/ClusterTrustBundleProjection.md b/sdks/python/client/docs/ClusterTrustBundleProjection.md new file mode 100644 index 000000000000..fd29e5a02f69 --- /dev/null +++ b/sdks/python/client/docs/ClusterTrustBundleProjection.md @@ -0,0 +1,17 @@ +# ClusterTrustBundleProjection + +ClusterTrustBundleProjection describes how to select a set of ClusterTrustBundle objects and project their contents into the pod filesystem. + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**path** | **str** | Relative path from the volume root to write the bundle. | +**label_selector** | [**LabelSelector**](LabelSelector.md) | | [optional] +**name** | **str** | Select a single ClusterTrustBundle by object name. Mutually-exclusive with signerName and labelSelector. | [optional] +**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] +**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] +**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/sdks/python/client/docs/ClusterWorkflowTemplateServiceApi.md b/sdks/python/client/docs/ClusterWorkflowTemplateServiceApi.md index 7a3ec30d91e0..f0d815b1073b 100644 --- a/sdks/python/client/docs/ClusterWorkflowTemplateServiceApi.md +++ b/sdks/python/client/docs/ClusterWorkflowTemplateServiceApi.md @@ -65,7 +65,6 @@ with argo_workflows.ApiClient(configuration) as api_client: annotations={ "key": "key_example", }, - cluster_name="cluster_name_example", creation_timestamp=dateutil_parser('1970-01-01T00:00:00.00Z'), deletion_grace_period_seconds=1, deletion_timestamp=dateutil_parser('1970-01-01T00:00:00.00Z'), @@ -114,7 +113,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_expressions=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -123,7 +122,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_fields=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -139,7 +138,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_expressions=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -148,7 +147,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_fields=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -176,6 +175,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -214,6 +219,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -253,6 +264,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -291,6 +308,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -381,6 +404,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -554,6 +578,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -694,6 +723,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -867,6 +897,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -974,6 +1009,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + unhealthy_pod_eviction_policy="unhealthy_pod_eviction_policy_example", ), pod_gc=IoArgoprojWorkflowV1alpha1PodGC( delete_delay_duration="delete_delay_duration_example", @@ -1020,6 +1056,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ), scheduler_name="scheduler_name_example", security_context=PodSecurityContext( + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), fs_group=1, fs_group_change_policy="fs_group_change_policy_example", run_as_group=1, @@ -1033,7 +1073,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), supplemental_groups=[ 1, @@ -1059,6 +1099,12 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", namespace="namespace_example", ), + mutexes=[ + IoArgoprojWorkflowV1alpha1Mutex( + name="name_example", + namespace="namespace_example", + ), + ], semaphore=IoArgoprojWorkflowV1alpha1SemaphoreRef( config_map_key_ref=ConfigMapKeySelector( key="key_example", @@ -1067,6 +1113,16 @@ with argo_workflows.ApiClient(configuration) as api_client: ), namespace="namespace_example", ), + semaphores=[ + IoArgoprojWorkflowV1alpha1SemaphoreRef( + config_map_key_ref=ConfigMapKeySelector( + key="key_example", + name="name_example", + optional=True, + ), + namespace="namespace_example", + ), + ], ), template_defaults=IoArgoprojWorkflowV1alpha1Template( active_deadline_seconds="active_deadline_seconds_example", @@ -1078,7 +1134,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_expressions=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -1087,7 +1143,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_fields=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -1103,7 +1159,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_expressions=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -1112,7 +1168,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_fields=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -1140,6 +1196,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -1178,6 +1240,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -1217,6 +1285,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -1255,6 +1329,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -1320,6 +1400,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -1487,6 +1568,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), ), @@ -1539,7 +1625,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), ], image="image_example", - image_pull_policy="Always", + image_pull_policy="image_pull_policy_example", lifecycle=Lifecycle( post_start=LifecycleHandler( _exec=ExecAction( @@ -1557,7 +1643,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -1580,7 +1669,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -1609,7 +1701,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -1628,7 +1720,7 @@ with argo_workflows.ApiClient(configuration) as api_client: host_ip="host_ip_example", host_port=1, name="name_example", - protocol="SCTP", + protocol="protocol_example", ), ], readiness_probe=Probe( @@ -1652,7 +1744,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -1664,7 +1756,18 @@ with argo_workflows.ApiClient(configuration) as api_client: termination_grace_period_seconds=1, timeout_seconds=1, ), + resize_policy=[ + ContainerResizePolicy( + resource_name="resource_name_example", + restart_policy="restart_policy_example", + ), + ], resources=ResourceRequirements( + claims=[ + ResourceClaim( + name="name_example", + ), + ], limits={ "key": "key_example", }, @@ -1672,8 +1775,13 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + restart_policy="restart_policy_example", security_context=SecurityContext( allow_privilege_escalation=True, + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), capabilities=Capabilities( add=[ "add_example", @@ -1696,7 +1804,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), windows_options=WindowsSecurityContextOptions( gmsa_credential_spec="gmsa_credential_spec_example", @@ -1726,7 +1834,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -1741,7 +1849,7 @@ with argo_workflows.ApiClient(configuration) as api_client: stdin=True, stdin_once=True, termination_message_path="termination_message_path_example", - termination_message_policy="FallbackToLogsOnError", + termination_message_policy="termination_message_policy_example", tty=True, volume_devices=[ VolumeDevice( @@ -1755,6 +1863,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -1832,7 +1941,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -1855,7 +1967,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -1884,7 +1999,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -1903,7 +2018,7 @@ with argo_workflows.ApiClient(configuration) as api_client: host_ip="host_ip_example", host_port=1, name="name_example", - protocol="SCTP", + protocol="protocol_example", ), ], readiness_probe=Probe( @@ -1927,7 +2042,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -1939,7 +2054,18 @@ with argo_workflows.ApiClient(configuration) as api_client: termination_grace_period_seconds=1, timeout_seconds=1, ), + resize_policy=[ + ContainerResizePolicy( + resource_name="resource_name_example", + restart_policy="restart_policy_example", + ), + ], resources=ResourceRequirements( + claims=[ + ResourceClaim( + name="name_example", + ), + ], limits={ "key": "key_example", }, @@ -1947,8 +2073,13 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + restart_policy="restart_policy_example", security_context=SecurityContext( allow_privilege_escalation=True, + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), capabilities=Capabilities( add=[ "add_example", @@ -1971,7 +2102,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), windows_options=WindowsSecurityContextOptions( gmsa_credential_spec="gmsa_credential_spec_example", @@ -2001,7 +2132,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -2030,6 +2161,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -2047,6 +2179,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -2125,6 +2258,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -2298,6 +2432,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -2408,6 +2547,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -2581,6 +2721,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -2713,6 +2858,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -2886,6 +3032,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -3000,7 +3151,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -3023,7 +3177,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -3052,7 +3209,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -3072,7 +3229,7 @@ with argo_workflows.ApiClient(configuration) as api_client: host_ip="host_ip_example", host_port=1, name="name_example", - protocol="SCTP", + protocol="protocol_example", ), ], readiness_probe=Probe( @@ -3096,7 +3253,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -3108,7 +3265,18 @@ with argo_workflows.ApiClient(configuration) as api_client: termination_grace_period_seconds=1, timeout_seconds=1, ), + resize_policy=[ + ContainerResizePolicy( + resource_name="resource_name_example", + restart_policy="restart_policy_example", + ), + ], resources=ResourceRequirements( + claims=[ + ResourceClaim( + name="name_example", + ), + ], limits={ "key": "key_example", }, @@ -3116,8 +3284,13 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + restart_policy="restart_policy_example", security_context=SecurityContext( allow_privilege_escalation=True, + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), capabilities=Capabilities( add=[ "add_example", @@ -3140,7 +3313,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), windows_options=WindowsSecurityContextOptions( gmsa_credential_spec="gmsa_credential_spec_example", @@ -3170,7 +3343,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -3199,6 +3372,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -3273,6 +3447,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -3446,6 +3621,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -3598,6 +3778,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -3771,6 +3952,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -3884,6 +4070,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -4057,6 +4244,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -4146,7 +4338,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -4169,7 +4364,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -4198,7 +4396,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -4217,7 +4415,7 @@ with argo_workflows.ApiClient(configuration) as api_client: host_ip="host_ip_example", host_port=1, name="name_example", - protocol="SCTP", + protocol="protocol_example", ), ], readiness_probe=Probe( @@ -4241,7 +4439,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -4253,7 +4451,18 @@ with argo_workflows.ApiClient(configuration) as api_client: termination_grace_period_seconds=1, timeout_seconds=1, ), + resize_policy=[ + ContainerResizePolicy( + resource_name="resource_name_example", + restart_policy="restart_policy_example", + ), + ], resources=ResourceRequirements( + claims=[ + ResourceClaim( + name="name_example", + ), + ], limits={ "key": "key_example", }, @@ -4261,8 +4470,13 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + restart_policy="restart_policy_example", security_context=SecurityContext( allow_privilege_escalation=True, + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), capabilities=Capabilities( add=[ "add_example", @@ -4285,7 +4499,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), windows_options=WindowsSecurityContextOptions( gmsa_credential_spec="gmsa_credential_spec_example", @@ -4316,7 +4530,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -4345,6 +4559,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -4352,6 +4567,10 @@ with argo_workflows.ApiClient(configuration) as api_client: working_dir="working_dir_example", ), security_context=PodSecurityContext( + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), fs_group=1, fs_group_change_policy="fs_group_change_policy_example", run_as_group=1, @@ -4365,7 +4584,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), supplemental_groups=[ 1, @@ -4451,7 +4670,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -4474,7 +4696,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -4503,7 +4728,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -4523,7 +4748,7 @@ with argo_workflows.ApiClient(configuration) as api_client: host_ip="host_ip_example", host_port=1, name="name_example", - protocol="SCTP", + protocol="protocol_example", ), ], readiness_probe=Probe( @@ -4547,7 +4772,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -4559,7 +4784,18 @@ with argo_workflows.ApiClient(configuration) as api_client: termination_grace_period_seconds=1, timeout_seconds=1, ), + resize_policy=[ + ContainerResizePolicy( + resource_name="resource_name_example", + restart_policy="restart_policy_example", + ), + ], resources=ResourceRequirements( + claims=[ + ResourceClaim( + name="name_example", + ), + ], limits={ "key": "key_example", }, @@ -4567,8 +4803,13 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + restart_policy="restart_policy_example", security_context=SecurityContext( allow_privilege_escalation=True, + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), capabilities=Capabilities( add=[ "add_example", @@ -4591,7 +4832,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), windows_options=WindowsSecurityContextOptions( gmsa_credential_spec="gmsa_credential_spec_example", @@ -4621,7 +4862,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -4650,6 +4891,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -4727,6 +4969,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -4900,6 +5143,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -5006,6 +5254,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -5179,6 +5428,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -5252,6 +5506,12 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", namespace="namespace_example", ), + mutexes=[ + IoArgoprojWorkflowV1alpha1Mutex( + name="name_example", + namespace="namespace_example", + ), + ], semaphore=IoArgoprojWorkflowV1alpha1SemaphoreRef( config_map_key_ref=ConfigMapKeySelector( key="key_example", @@ -5260,13 +5520,23 @@ with argo_workflows.ApiClient(configuration) as api_client: ), namespace="namespace_example", ), + semaphores=[ + IoArgoprojWorkflowV1alpha1SemaphoreRef( + config_map_key_ref=ConfigMapKeySelector( + key="key_example", + name="name_example", + optional=True, + ), + namespace="namespace_example", + ), + ], ), timeout="timeout_example", tolerations=[ Toleration( - effect="NoExecute", + effect="effect_example", key="key_example", - operator="Equal", + operator="operator_example", toleration_seconds=1, value="value_example", ), @@ -5363,7 +5633,6 @@ with argo_workflows.ApiClient(configuration) as api_client: annotations={ "key": "key_example", }, - cluster_name="cluster_name_example", creation_timestamp=dateutil_parser('1970-01-01T00:00:00.00Z'), deletion_grace_period_seconds=1, deletion_timestamp=dateutil_parser('1970-01-01T00:00:00.00Z'), @@ -5411,12 +5680,13 @@ with argo_workflows.ApiClient(configuration) as api_client: kind="kind_example", name="name_example", ), - data_source_ref=TypedLocalObjectReference( + data_source_ref=TypedObjectReference( api_group="api_group_example", kind="kind_example", name="name_example", + namespace="namespace_example", ), - resources=ResourceRequirements( + resources=VolumeResourceRequirements( limits={ "key": "key_example", }, @@ -5439,6 +5709,7 @@ with argo_workflows.ApiClient(configuration) as api_client: }, ), storage_class_name="storage_class_name_example", + volume_attributes_class_name="volume_attributes_class_name_example", volume_mode="volume_mode_example", volume_name="volume_name_example", ), @@ -5530,6 +5801,26 @@ with argo_workflows.ApiClient(configuration) as api_client: default_mode=1, sources=[ VolumeProjection( + cluster_trust_bundle=ClusterTrustBundleProjection( + label_selector=LabelSelector( + match_expressions=[ + LabelSelectorRequirement( + key="key_example", + operator="operator_example", + values=[ + "values_example", + ], + ), + ], + match_labels={ + "key": "key_example", + }, + ), + name="name_example", + optional=True, + path="path_example", + signer_name="signer_name_example", + ), config_map=ConfigMapProjection( items=[ KeyToPath( @@ -5654,7 +5945,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_expressions=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -5663,7 +5954,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_fields=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -5679,7 +5970,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_expressions=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -5688,7 +5979,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_fields=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -5716,6 +6007,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -5754,6 +6051,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -5793,6 +6096,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -5831,6 +6140,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -5896,6 +6211,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -6063,6 +6379,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), ), @@ -6115,7 +6436,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), ], image="image_example", - image_pull_policy="Always", + image_pull_policy="image_pull_policy_example", lifecycle=Lifecycle( post_start=LifecycleHandler( _exec=ExecAction( @@ -6133,7 +6454,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -6156,7 +6480,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -6185,7 +6512,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -6204,7 +6531,7 @@ with argo_workflows.ApiClient(configuration) as api_client: host_ip="host_ip_example", host_port=1, name="name_example", - protocol="SCTP", + protocol="protocol_example", ), ], readiness_probe=Probe( @@ -6228,7 +6555,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -6240,7 +6567,18 @@ with argo_workflows.ApiClient(configuration) as api_client: termination_grace_period_seconds=1, timeout_seconds=1, ), + resize_policy=[ + ContainerResizePolicy( + resource_name="resource_name_example", + restart_policy="restart_policy_example", + ), + ], resources=ResourceRequirements( + claims=[ + ResourceClaim( + name="name_example", + ), + ], limits={ "key": "key_example", }, @@ -6248,8 +6586,13 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + restart_policy="restart_policy_example", security_context=SecurityContext( allow_privilege_escalation=True, + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), capabilities=Capabilities( add=[ "add_example", @@ -6272,7 +6615,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), windows_options=WindowsSecurityContextOptions( gmsa_credential_spec="gmsa_credential_spec_example", @@ -6302,7 +6645,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -6317,7 +6660,7 @@ with argo_workflows.ApiClient(configuration) as api_client: stdin=True, stdin_once=True, termination_message_path="termination_message_path_example", - termination_message_policy="FallbackToLogsOnError", + termination_message_policy="termination_message_policy_example", tty=True, volume_devices=[ VolumeDevice( @@ -6331,6 +6674,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -6408,7 +6752,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -6431,7 +6778,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -6460,7 +6810,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -6479,7 +6829,7 @@ with argo_workflows.ApiClient(configuration) as api_client: host_ip="host_ip_example", host_port=1, name="name_example", - protocol="SCTP", + protocol="protocol_example", ), ], readiness_probe=Probe( @@ -6503,7 +6853,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -6515,7 +6865,18 @@ with argo_workflows.ApiClient(configuration) as api_client: termination_grace_period_seconds=1, timeout_seconds=1, ), + resize_policy=[ + ContainerResizePolicy( + resource_name="resource_name_example", + restart_policy="restart_policy_example", + ), + ], resources=ResourceRequirements( + claims=[ + ResourceClaim( + name="name_example", + ), + ], limits={ "key": "key_example", }, @@ -6523,8 +6884,13 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + restart_policy="restart_policy_example", security_context=SecurityContext( allow_privilege_escalation=True, + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), capabilities=Capabilities( add=[ "add_example", @@ -6547,7 +6913,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), windows_options=WindowsSecurityContextOptions( gmsa_credential_spec="gmsa_credential_spec_example", @@ -6577,7 +6943,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -6606,6 +6972,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -6623,6 +6990,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -6701,6 +7069,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -6874,6 +7243,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -6984,6 +7358,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -7157,6 +7532,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -7289,6 +7669,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -7462,6 +7843,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -7576,7 +7962,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -7599,7 +7988,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -7628,7 +8020,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -7648,7 +8040,7 @@ with argo_workflows.ApiClient(configuration) as api_client: host_ip="host_ip_example", host_port=1, name="name_example", - protocol="SCTP", + protocol="protocol_example", ), ], readiness_probe=Probe( @@ -7672,7 +8064,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -7684,7 +8076,18 @@ with argo_workflows.ApiClient(configuration) as api_client: termination_grace_period_seconds=1, timeout_seconds=1, ), + resize_policy=[ + ContainerResizePolicy( + resource_name="resource_name_example", + restart_policy="restart_policy_example", + ), + ], resources=ResourceRequirements( + claims=[ + ResourceClaim( + name="name_example", + ), + ], limits={ "key": "key_example", }, @@ -7692,8 +8095,13 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + restart_policy="restart_policy_example", security_context=SecurityContext( allow_privilege_escalation=True, + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), capabilities=Capabilities( add=[ "add_example", @@ -7716,7 +8124,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), windows_options=WindowsSecurityContextOptions( gmsa_credential_spec="gmsa_credential_spec_example", @@ -7746,7 +8154,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -7775,6 +8183,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -7849,6 +8258,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -8022,6 +8432,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -8174,6 +8589,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -8347,6 +8763,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -8460,6 +8881,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -8633,6 +9055,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -8722,7 +9149,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -8745,7 +9175,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -8774,7 +9207,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -8793,7 +9226,7 @@ with argo_workflows.ApiClient(configuration) as api_client: host_ip="host_ip_example", host_port=1, name="name_example", - protocol="SCTP", + protocol="protocol_example", ), ], readiness_probe=Probe( @@ -8817,7 +9250,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -8829,16 +9262,32 @@ with argo_workflows.ApiClient(configuration) as api_client: termination_grace_period_seconds=1, timeout_seconds=1, ), + resize_policy=[ + ContainerResizePolicy( + resource_name="resource_name_example", + restart_policy="restart_policy_example", + ), + ], resources=ResourceRequirements( - limits={ + claims=[ + ResourceClaim( + name="name_example", + ), + ], + limits={ "key": "key_example", }, requests={ "key": "key_example", }, ), + restart_policy="restart_policy_example", security_context=SecurityContext( allow_privilege_escalation=True, + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), capabilities=Capabilities( add=[ "add_example", @@ -8861,7 +9310,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), windows_options=WindowsSecurityContextOptions( gmsa_credential_spec="gmsa_credential_spec_example", @@ -8892,7 +9341,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -8921,6 +9370,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -8928,6 +9378,10 @@ with argo_workflows.ApiClient(configuration) as api_client: working_dir="working_dir_example", ), security_context=PodSecurityContext( + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), fs_group=1, fs_group_change_policy="fs_group_change_policy_example", run_as_group=1, @@ -8941,7 +9395,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), supplemental_groups=[ 1, @@ -9027,7 +9481,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -9050,7 +9507,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -9079,7 +9539,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -9099,7 +9559,7 @@ with argo_workflows.ApiClient(configuration) as api_client: host_ip="host_ip_example", host_port=1, name="name_example", - protocol="SCTP", + protocol="protocol_example", ), ], readiness_probe=Probe( @@ -9123,7 +9583,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -9135,7 +9595,18 @@ with argo_workflows.ApiClient(configuration) as api_client: termination_grace_period_seconds=1, timeout_seconds=1, ), + resize_policy=[ + ContainerResizePolicy( + resource_name="resource_name_example", + restart_policy="restart_policy_example", + ), + ], resources=ResourceRequirements( + claims=[ + ResourceClaim( + name="name_example", + ), + ], limits={ "key": "key_example", }, @@ -9143,8 +9614,13 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + restart_policy="restart_policy_example", security_context=SecurityContext( allow_privilege_escalation=True, + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), capabilities=Capabilities( add=[ "add_example", @@ -9167,7 +9643,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), windows_options=WindowsSecurityContextOptions( gmsa_credential_spec="gmsa_credential_spec_example", @@ -9197,7 +9673,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -9226,6 +9702,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -9303,6 +9780,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -9476,6 +9954,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -9582,6 +10065,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -9755,6 +10239,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -9828,6 +10317,12 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", namespace="namespace_example", ), + mutexes=[ + IoArgoprojWorkflowV1alpha1Mutex( + name="name_example", + namespace="namespace_example", + ), + ], semaphore=IoArgoprojWorkflowV1alpha1SemaphoreRef( config_map_key_ref=ConfigMapKeySelector( key="key_example", @@ -9836,13 +10331,23 @@ with argo_workflows.ApiClient(configuration) as api_client: ), namespace="namespace_example", ), + semaphores=[ + IoArgoprojWorkflowV1alpha1SemaphoreRef( + config_map_key_ref=ConfigMapKeySelector( + key="key_example", + name="name_example", + optional=True, + ), + namespace="namespace_example", + ), + ], ), timeout="timeout_example", tolerations=[ Toleration( - effect="NoExecute", + effect="effect_example", key="key_example", - operator="Equal", + operator="operator_example", toleration_seconds=1, value="value_example", ), @@ -9939,7 +10444,6 @@ with argo_workflows.ApiClient(configuration) as api_client: annotations={ "key": "key_example", }, - cluster_name="cluster_name_example", creation_timestamp=dateutil_parser('1970-01-01T00:00:00.00Z'), deletion_grace_period_seconds=1, deletion_timestamp=dateutil_parser('1970-01-01T00:00:00.00Z'), @@ -9987,12 +10491,13 @@ with argo_workflows.ApiClient(configuration) as api_client: kind="kind_example", name="name_example", ), - data_source_ref=TypedLocalObjectReference( + data_source_ref=TypedObjectReference( api_group="api_group_example", kind="kind_example", name="name_example", + namespace="namespace_example", ), - resources=ResourceRequirements( + resources=VolumeResourceRequirements( limits={ "key": "key_example", }, @@ -10015,6 +10520,7 @@ with argo_workflows.ApiClient(configuration) as api_client: }, ), storage_class_name="storage_class_name_example", + volume_attributes_class_name="volume_attributes_class_name_example", volume_mode="volume_mode_example", volume_name="volume_name_example", ), @@ -10106,6 +10612,26 @@ with argo_workflows.ApiClient(configuration) as api_client: default_mode=1, sources=[ VolumeProjection( + cluster_trust_bundle=ClusterTrustBundleProjection( + label_selector=LabelSelector( + match_expressions=[ + LabelSelectorRequirement( + key="key_example", + operator="operator_example", + values=[ + "values_example", + ], + ), + ], + match_labels={ + "key": "key_example", + }, + ), + name="name_example", + optional=True, + path="path_example", + signer_name="signer_name_example", + ), config_map=ConfigMapProjection( items=[ KeyToPath( @@ -10222,9 +10748,9 @@ with argo_workflows.ApiClient(configuration) as api_client: ], tolerations=[ Toleration( - effect="NoExecute", + effect="effect_example", key="key_example", - operator="Equal", + operator="operator_example", toleration_seconds=1, value="value_example", ), @@ -10245,7 +10771,6 @@ with argo_workflows.ApiClient(configuration) as api_client: annotations={ "key": "key_example", }, - cluster_name="cluster_name_example", creation_timestamp=dateutil_parser('1970-01-01T00:00:00.00Z'), deletion_grace_period_seconds=1, deletion_timestamp=dateutil_parser('1970-01-01T00:00:00.00Z'), @@ -10293,12 +10818,13 @@ with argo_workflows.ApiClient(configuration) as api_client: kind="kind_example", name="name_example", ), - data_source_ref=TypedLocalObjectReference( + data_source_ref=TypedObjectReference( api_group="api_group_example", kind="kind_example", name="name_example", + namespace="namespace_example", ), - resources=ResourceRequirements( + resources=VolumeResourceRequirements( limits={ "key": "key_example", }, @@ -10321,6 +10847,7 @@ with argo_workflows.ApiClient(configuration) as api_client: }, ), storage_class_name="storage_class_name_example", + volume_attributes_class_name="volume_attributes_class_name_example", volume_mode="volume_mode_example", volume_name="volume_name_example", ), @@ -10328,6 +10855,9 @@ with argo_workflows.ApiClient(configuration) as api_client: access_modes=[ "access_modes_example", ], + allocated_resource_statuses={ + "key": "key_example", + }, allocated_resources={ "key": "key_example", }, @@ -10341,11 +10871,15 @@ with argo_workflows.ApiClient(configuration) as api_client: message="message_example", reason="reason_example", status="status_example", - type="FileSystemResizePending", + type="type_example", ), ], - phase="Bound", - resize_status="resize_status_example", + current_volume_attributes_class_name="current_volume_attributes_class_name_example", + modify_volume_status=ModifyVolumeStatus( + status="status_example", + target_volume_attributes_class_name="target_volume_attributes_class_name_example", + ), + phase="phase_example", ), ), ], @@ -10441,7 +10975,6 @@ with argo_workflows.ApiClient(configuration) as api_client: annotations={ "key": "key_example", }, - cluster_name="cluster_name_example", creation_timestamp=dateutil_parser('1970-01-01T00:00:00.00Z'), deletion_grace_period_seconds=1, deletion_timestamp=dateutil_parser('1970-01-01T00:00:00.00Z'), @@ -10489,12 +11022,13 @@ with argo_workflows.ApiClient(configuration) as api_client: kind="kind_example", name="name_example", ), - data_source_ref=TypedLocalObjectReference( + data_source_ref=TypedObjectReference( api_group="api_group_example", kind="kind_example", name="name_example", + namespace="namespace_example", ), - resources=ResourceRequirements( + resources=VolumeResourceRequirements( limits={ "key": "key_example", }, @@ -10517,6 +11051,7 @@ with argo_workflows.ApiClient(configuration) as api_client: }, ), storage_class_name="storage_class_name_example", + volume_attributes_class_name="volume_attributes_class_name_example", volume_mode="volume_mode_example", volume_name="volume_name_example", ), @@ -10608,6 +11143,26 @@ with argo_workflows.ApiClient(configuration) as api_client: default_mode=1, sources=[ VolumeProjection( + cluster_trust_bundle=ClusterTrustBundleProjection( + label_selector=LabelSelector( + match_expressions=[ + LabelSelectorRequirement( + key="key_example", + operator="operator_example", + values=[ + "values_example", + ], + ), + ], + match_labels={ + "key": "key_example", + }, + ), + name="name_example", + optional=True, + path="path_example", + signer_name="signer_name_example", + ), config_map=ConfigMapProjection( items=[ KeyToPath( @@ -10823,7 +11378,7 @@ with argo_workflows.ApiClient(configuration) as api_client: delete_options_propagation_policy = "deleteOptions.propagationPolicy_example" # 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 = [ "deleteOptions.dryRun_example", - ] # [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) + ] # [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) # example passing only required values which don't have defaults set try: @@ -10852,7 +11407,7 @@ Name | Type | Description | Notes **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 type @@ -11017,7 +11572,6 @@ with argo_workflows.ApiClient(configuration) as api_client: annotations={ "key": "key_example", }, - cluster_name="cluster_name_example", creation_timestamp=dateutil_parser('1970-01-01T00:00:00.00Z'), deletion_grace_period_seconds=1, deletion_timestamp=dateutil_parser('1970-01-01T00:00:00.00Z'), @@ -11066,7 +11620,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_expressions=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -11075,7 +11629,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_fields=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -11091,7 +11645,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_expressions=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -11100,7 +11654,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_fields=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -11128,6 +11682,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -11166,6 +11726,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -11205,6 +11771,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -11243,6 +11815,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -11333,6 +11911,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -11506,6 +12085,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -11646,6 +12230,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -11819,6 +12404,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -11926,6 +12516,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + unhealthy_pod_eviction_policy="unhealthy_pod_eviction_policy_example", ), pod_gc=IoArgoprojWorkflowV1alpha1PodGC( delete_delay_duration="delete_delay_duration_example", @@ -11972,6 +12563,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ), scheduler_name="scheduler_name_example", security_context=PodSecurityContext( + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), fs_group=1, fs_group_change_policy="fs_group_change_policy_example", run_as_group=1, @@ -11985,7 +12580,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), supplemental_groups=[ 1, @@ -12011,6 +12606,12 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", namespace="namespace_example", ), + mutexes=[ + IoArgoprojWorkflowV1alpha1Mutex( + name="name_example", + namespace="namespace_example", + ), + ], semaphore=IoArgoprojWorkflowV1alpha1SemaphoreRef( config_map_key_ref=ConfigMapKeySelector( key="key_example", @@ -12019,6 +12620,16 @@ with argo_workflows.ApiClient(configuration) as api_client: ), namespace="namespace_example", ), + semaphores=[ + IoArgoprojWorkflowV1alpha1SemaphoreRef( + config_map_key_ref=ConfigMapKeySelector( + key="key_example", + name="name_example", + optional=True, + ), + namespace="namespace_example", + ), + ], ), template_defaults=IoArgoprojWorkflowV1alpha1Template( active_deadline_seconds="active_deadline_seconds_example", @@ -12030,7 +12641,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_expressions=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -12039,7 +12650,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_fields=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -12055,7 +12666,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_expressions=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -12064,7 +12675,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_fields=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -12092,6 +12703,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -12130,6 +12747,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -12169,6 +12792,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -12207,6 +12836,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -12272,6 +12907,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -12439,6 +13075,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), ), @@ -12491,7 +13132,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), ], image="image_example", - image_pull_policy="Always", + image_pull_policy="image_pull_policy_example", lifecycle=Lifecycle( post_start=LifecycleHandler( _exec=ExecAction( @@ -12509,7 +13150,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -12532,7 +13176,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -12561,7 +13208,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -12580,7 +13227,7 @@ with argo_workflows.ApiClient(configuration) as api_client: host_ip="host_ip_example", host_port=1, name="name_example", - protocol="SCTP", + protocol="protocol_example", ), ], readiness_probe=Probe( @@ -12604,7 +13251,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -12616,7 +13263,18 @@ with argo_workflows.ApiClient(configuration) as api_client: termination_grace_period_seconds=1, timeout_seconds=1, ), + resize_policy=[ + ContainerResizePolicy( + resource_name="resource_name_example", + restart_policy="restart_policy_example", + ), + ], resources=ResourceRequirements( + claims=[ + ResourceClaim( + name="name_example", + ), + ], limits={ "key": "key_example", }, @@ -12624,8 +13282,13 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + restart_policy="restart_policy_example", security_context=SecurityContext( allow_privilege_escalation=True, + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), capabilities=Capabilities( add=[ "add_example", @@ -12648,7 +13311,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), windows_options=WindowsSecurityContextOptions( gmsa_credential_spec="gmsa_credential_spec_example", @@ -12678,7 +13341,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -12693,7 +13356,7 @@ with argo_workflows.ApiClient(configuration) as api_client: stdin=True, stdin_once=True, termination_message_path="termination_message_path_example", - termination_message_policy="FallbackToLogsOnError", + termination_message_policy="termination_message_policy_example", tty=True, volume_devices=[ VolumeDevice( @@ -12707,6 +13370,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -12784,7 +13448,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -12807,7 +13474,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -12836,7 +13506,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -12855,7 +13525,7 @@ with argo_workflows.ApiClient(configuration) as api_client: host_ip="host_ip_example", host_port=1, name="name_example", - protocol="SCTP", + protocol="protocol_example", ), ], readiness_probe=Probe( @@ -12879,7 +13549,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -12891,7 +13561,18 @@ with argo_workflows.ApiClient(configuration) as api_client: termination_grace_period_seconds=1, timeout_seconds=1, ), + resize_policy=[ + ContainerResizePolicy( + resource_name="resource_name_example", + restart_policy="restart_policy_example", + ), + ], resources=ResourceRequirements( + claims=[ + ResourceClaim( + name="name_example", + ), + ], limits={ "key": "key_example", }, @@ -12899,8 +13580,13 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + restart_policy="restart_policy_example", security_context=SecurityContext( allow_privilege_escalation=True, + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), capabilities=Capabilities( add=[ "add_example", @@ -12923,7 +13609,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), windows_options=WindowsSecurityContextOptions( gmsa_credential_spec="gmsa_credential_spec_example", @@ -12953,7 +13639,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -12982,6 +13668,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -12999,6 +13686,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -13077,6 +13765,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -13250,6 +13939,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -13360,6 +14054,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -13533,6 +14228,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -13665,6 +14365,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -13838,6 +14539,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -13952,7 +14658,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -13975,7 +14684,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -14004,7 +14716,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -14024,7 +14736,7 @@ with argo_workflows.ApiClient(configuration) as api_client: host_ip="host_ip_example", host_port=1, name="name_example", - protocol="SCTP", + protocol="protocol_example", ), ], readiness_probe=Probe( @@ -14048,7 +14760,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -14060,7 +14772,18 @@ with argo_workflows.ApiClient(configuration) as api_client: termination_grace_period_seconds=1, timeout_seconds=1, ), + resize_policy=[ + ContainerResizePolicy( + resource_name="resource_name_example", + restart_policy="restart_policy_example", + ), + ], resources=ResourceRequirements( + claims=[ + ResourceClaim( + name="name_example", + ), + ], limits={ "key": "key_example", }, @@ -14068,8 +14791,13 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + restart_policy="restart_policy_example", security_context=SecurityContext( allow_privilege_escalation=True, + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), capabilities=Capabilities( add=[ "add_example", @@ -14092,7 +14820,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), windows_options=WindowsSecurityContextOptions( gmsa_credential_spec="gmsa_credential_spec_example", @@ -14122,7 +14850,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -14151,6 +14879,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -14225,6 +14954,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -14398,6 +15128,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -14550,6 +15285,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -14723,6 +15459,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -14836,6 +15577,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -15009,6 +15751,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -15098,7 +15845,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -15121,7 +15871,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -15150,7 +15903,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -15169,7 +15922,7 @@ with argo_workflows.ApiClient(configuration) as api_client: host_ip="host_ip_example", host_port=1, name="name_example", - protocol="SCTP", + protocol="protocol_example", ), ], readiness_probe=Probe( @@ -15193,7 +15946,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -15205,7 +15958,18 @@ with argo_workflows.ApiClient(configuration) as api_client: termination_grace_period_seconds=1, timeout_seconds=1, ), + resize_policy=[ + ContainerResizePolicy( + resource_name="resource_name_example", + restart_policy="restart_policy_example", + ), + ], resources=ResourceRequirements( + claims=[ + ResourceClaim( + name="name_example", + ), + ], limits={ "key": "key_example", }, @@ -15213,8 +15977,13 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + restart_policy="restart_policy_example", security_context=SecurityContext( allow_privilege_escalation=True, + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), capabilities=Capabilities( add=[ "add_example", @@ -15237,7 +16006,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), windows_options=WindowsSecurityContextOptions( gmsa_credential_spec="gmsa_credential_spec_example", @@ -15268,7 +16037,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -15297,6 +16066,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -15304,6 +16074,10 @@ with argo_workflows.ApiClient(configuration) as api_client: working_dir="working_dir_example", ), security_context=PodSecurityContext( + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), fs_group=1, fs_group_change_policy="fs_group_change_policy_example", run_as_group=1, @@ -15317,7 +16091,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), supplemental_groups=[ 1, @@ -15403,7 +16177,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -15426,7 +16203,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -15455,7 +16235,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -15475,7 +16255,7 @@ with argo_workflows.ApiClient(configuration) as api_client: host_ip="host_ip_example", host_port=1, name="name_example", - protocol="SCTP", + protocol="protocol_example", ), ], readiness_probe=Probe( @@ -15499,7 +16279,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -15511,7 +16291,18 @@ with argo_workflows.ApiClient(configuration) as api_client: termination_grace_period_seconds=1, timeout_seconds=1, ), + resize_policy=[ + ContainerResizePolicy( + resource_name="resource_name_example", + restart_policy="restart_policy_example", + ), + ], resources=ResourceRequirements( + claims=[ + ResourceClaim( + name="name_example", + ), + ], limits={ "key": "key_example", }, @@ -15519,8 +16310,13 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + restart_policy="restart_policy_example", security_context=SecurityContext( allow_privilege_escalation=True, + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), capabilities=Capabilities( add=[ "add_example", @@ -15543,7 +16339,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), windows_options=WindowsSecurityContextOptions( gmsa_credential_spec="gmsa_credential_spec_example", @@ -15573,7 +16369,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -15602,6 +16398,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -15679,6 +16476,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -15852,6 +16650,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -15958,6 +16761,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -16131,6 +16935,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -16204,6 +17013,12 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", namespace="namespace_example", ), + mutexes=[ + IoArgoprojWorkflowV1alpha1Mutex( + name="name_example", + namespace="namespace_example", + ), + ], semaphore=IoArgoprojWorkflowV1alpha1SemaphoreRef( config_map_key_ref=ConfigMapKeySelector( key="key_example", @@ -16212,13 +17027,23 @@ with argo_workflows.ApiClient(configuration) as api_client: ), namespace="namespace_example", ), + semaphores=[ + IoArgoprojWorkflowV1alpha1SemaphoreRef( + config_map_key_ref=ConfigMapKeySelector( + key="key_example", + name="name_example", + optional=True, + ), + namespace="namespace_example", + ), + ], ), timeout="timeout_example", tolerations=[ Toleration( - effect="NoExecute", + effect="effect_example", key="key_example", - operator="Equal", + operator="operator_example", toleration_seconds=1, value="value_example", ), @@ -16315,7 +17140,6 @@ with argo_workflows.ApiClient(configuration) as api_client: annotations={ "key": "key_example", }, - cluster_name="cluster_name_example", creation_timestamp=dateutil_parser('1970-01-01T00:00:00.00Z'), deletion_grace_period_seconds=1, deletion_timestamp=dateutil_parser('1970-01-01T00:00:00.00Z'), @@ -16363,12 +17187,13 @@ with argo_workflows.ApiClient(configuration) as api_client: kind="kind_example", name="name_example", ), - data_source_ref=TypedLocalObjectReference( + data_source_ref=TypedObjectReference( api_group="api_group_example", kind="kind_example", name="name_example", + namespace="namespace_example", ), - resources=ResourceRequirements( + resources=VolumeResourceRequirements( limits={ "key": "key_example", }, @@ -16391,6 +17216,7 @@ with argo_workflows.ApiClient(configuration) as api_client: }, ), storage_class_name="storage_class_name_example", + volume_attributes_class_name="volume_attributes_class_name_example", volume_mode="volume_mode_example", volume_name="volume_name_example", ), @@ -16482,6 +17308,26 @@ with argo_workflows.ApiClient(configuration) as api_client: default_mode=1, sources=[ VolumeProjection( + cluster_trust_bundle=ClusterTrustBundleProjection( + label_selector=LabelSelector( + match_expressions=[ + LabelSelectorRequirement( + key="key_example", + operator="operator_example", + values=[ + "values_example", + ], + ), + ], + match_labels={ + "key": "key_example", + }, + ), + name="name_example", + optional=True, + path="path_example", + signer_name="signer_name_example", + ), config_map=ConfigMapProjection( items=[ KeyToPath( @@ -16606,7 +17452,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_expressions=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -16615,7 +17461,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_fields=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -16631,7 +17477,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_expressions=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -16640,7 +17486,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_fields=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -16668,6 +17514,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -16706,6 +17558,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -16745,6 +17603,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -16783,6 +17647,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -16848,6 +17718,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -17015,6 +17886,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), ), @@ -17067,7 +17943,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), ], image="image_example", - image_pull_policy="Always", + image_pull_policy="image_pull_policy_example", lifecycle=Lifecycle( post_start=LifecycleHandler( _exec=ExecAction( @@ -17085,7 +17961,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -17108,7 +17987,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -17137,7 +18019,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -17156,7 +18038,7 @@ with argo_workflows.ApiClient(configuration) as api_client: host_ip="host_ip_example", host_port=1, name="name_example", - protocol="SCTP", + protocol="protocol_example", ), ], readiness_probe=Probe( @@ -17180,7 +18062,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -17192,7 +18074,18 @@ with argo_workflows.ApiClient(configuration) as api_client: termination_grace_period_seconds=1, timeout_seconds=1, ), + resize_policy=[ + ContainerResizePolicy( + resource_name="resource_name_example", + restart_policy="restart_policy_example", + ), + ], resources=ResourceRequirements( + claims=[ + ResourceClaim( + name="name_example", + ), + ], limits={ "key": "key_example", }, @@ -17200,8 +18093,13 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + restart_policy="restart_policy_example", security_context=SecurityContext( allow_privilege_escalation=True, + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), capabilities=Capabilities( add=[ "add_example", @@ -17224,7 +18122,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), windows_options=WindowsSecurityContextOptions( gmsa_credential_spec="gmsa_credential_spec_example", @@ -17254,7 +18152,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -17269,7 +18167,7 @@ with argo_workflows.ApiClient(configuration) as api_client: stdin=True, stdin_once=True, termination_message_path="termination_message_path_example", - termination_message_policy="FallbackToLogsOnError", + termination_message_policy="termination_message_policy_example", tty=True, volume_devices=[ VolumeDevice( @@ -17283,6 +18181,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -17360,7 +18259,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -17383,7 +18285,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -17412,7 +18317,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -17431,7 +18336,7 @@ with argo_workflows.ApiClient(configuration) as api_client: host_ip="host_ip_example", host_port=1, name="name_example", - protocol="SCTP", + protocol="protocol_example", ), ], readiness_probe=Probe( @@ -17455,7 +18360,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -17467,7 +18372,18 @@ with argo_workflows.ApiClient(configuration) as api_client: termination_grace_period_seconds=1, timeout_seconds=1, ), + resize_policy=[ + ContainerResizePolicy( + resource_name="resource_name_example", + restart_policy="restart_policy_example", + ), + ], resources=ResourceRequirements( + claims=[ + ResourceClaim( + name="name_example", + ), + ], limits={ "key": "key_example", }, @@ -17475,8 +18391,13 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + restart_policy="restart_policy_example", security_context=SecurityContext( allow_privilege_escalation=True, + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), capabilities=Capabilities( add=[ "add_example", @@ -17499,7 +18420,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), windows_options=WindowsSecurityContextOptions( gmsa_credential_spec="gmsa_credential_spec_example", @@ -17529,7 +18450,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -17558,6 +18479,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -17575,6 +18497,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -17653,6 +18576,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -17826,6 +18750,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -17936,6 +18865,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -18109,6 +19039,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -18241,6 +19176,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -18414,6 +19350,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -18528,7 +19469,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -18551,7 +19495,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -18580,7 +19527,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -18600,7 +19547,7 @@ with argo_workflows.ApiClient(configuration) as api_client: host_ip="host_ip_example", host_port=1, name="name_example", - protocol="SCTP", + protocol="protocol_example", ), ], readiness_probe=Probe( @@ -18624,7 +19571,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -18636,7 +19583,18 @@ with argo_workflows.ApiClient(configuration) as api_client: termination_grace_period_seconds=1, timeout_seconds=1, ), + resize_policy=[ + ContainerResizePolicy( + resource_name="resource_name_example", + restart_policy="restart_policy_example", + ), + ], resources=ResourceRequirements( + claims=[ + ResourceClaim( + name="name_example", + ), + ], limits={ "key": "key_example", }, @@ -18644,8 +19602,13 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + restart_policy="restart_policy_example", security_context=SecurityContext( allow_privilege_escalation=True, + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), capabilities=Capabilities( add=[ "add_example", @@ -18668,7 +19631,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), windows_options=WindowsSecurityContextOptions( gmsa_credential_spec="gmsa_credential_spec_example", @@ -18698,7 +19661,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -18727,6 +19690,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -18801,6 +19765,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -18974,6 +19939,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -19126,6 +20096,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -19299,6 +20270,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -19412,6 +20388,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -19585,6 +20562,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -19674,7 +20656,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -19697,7 +20682,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -19726,7 +20714,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -19745,7 +20733,7 @@ with argo_workflows.ApiClient(configuration) as api_client: host_ip="host_ip_example", host_port=1, name="name_example", - protocol="SCTP", + protocol="protocol_example", ), ], readiness_probe=Probe( @@ -19769,7 +20757,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -19781,7 +20769,18 @@ with argo_workflows.ApiClient(configuration) as api_client: termination_grace_period_seconds=1, timeout_seconds=1, ), + resize_policy=[ + ContainerResizePolicy( + resource_name="resource_name_example", + restart_policy="restart_policy_example", + ), + ], resources=ResourceRequirements( + claims=[ + ResourceClaim( + name="name_example", + ), + ], limits={ "key": "key_example", }, @@ -19789,8 +20788,13 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + restart_policy="restart_policy_example", security_context=SecurityContext( allow_privilege_escalation=True, + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), capabilities=Capabilities( add=[ "add_example", @@ -19813,7 +20817,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), windows_options=WindowsSecurityContextOptions( gmsa_credential_spec="gmsa_credential_spec_example", @@ -19844,7 +20848,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -19873,6 +20877,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -19880,6 +20885,10 @@ with argo_workflows.ApiClient(configuration) as api_client: working_dir="working_dir_example", ), security_context=PodSecurityContext( + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), fs_group=1, fs_group_change_policy="fs_group_change_policy_example", run_as_group=1, @@ -19893,7 +20902,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), supplemental_groups=[ 1, @@ -19979,7 +20988,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -20002,7 +21014,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -20031,7 +21046,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -20051,7 +21066,7 @@ with argo_workflows.ApiClient(configuration) as api_client: host_ip="host_ip_example", host_port=1, name="name_example", - protocol="SCTP", + protocol="protocol_example", ), ], readiness_probe=Probe( @@ -20075,7 +21090,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -20087,7 +21102,18 @@ with argo_workflows.ApiClient(configuration) as api_client: termination_grace_period_seconds=1, timeout_seconds=1, ), + resize_policy=[ + ContainerResizePolicy( + resource_name="resource_name_example", + restart_policy="restart_policy_example", + ), + ], resources=ResourceRequirements( + claims=[ + ResourceClaim( + name="name_example", + ), + ], limits={ "key": "key_example", }, @@ -20095,8 +21121,13 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + restart_policy="restart_policy_example", security_context=SecurityContext( allow_privilege_escalation=True, + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), capabilities=Capabilities( add=[ "add_example", @@ -20119,7 +21150,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), windows_options=WindowsSecurityContextOptions( gmsa_credential_spec="gmsa_credential_spec_example", @@ -20149,7 +21180,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -20178,6 +21209,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -20255,6 +21287,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -20428,6 +21461,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -20534,6 +21572,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -20707,6 +21746,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -20780,6 +21824,12 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", namespace="namespace_example", ), + mutexes=[ + IoArgoprojWorkflowV1alpha1Mutex( + name="name_example", + namespace="namespace_example", + ), + ], semaphore=IoArgoprojWorkflowV1alpha1SemaphoreRef( config_map_key_ref=ConfigMapKeySelector( key="key_example", @@ -20788,13 +21838,23 @@ with argo_workflows.ApiClient(configuration) as api_client: ), namespace="namespace_example", ), + semaphores=[ + IoArgoprojWorkflowV1alpha1SemaphoreRef( + config_map_key_ref=ConfigMapKeySelector( + key="key_example", + name="name_example", + optional=True, + ), + namespace="namespace_example", + ), + ], ), timeout="timeout_example", tolerations=[ Toleration( - effect="NoExecute", + effect="effect_example", key="key_example", - operator="Equal", + operator="operator_example", toleration_seconds=1, value="value_example", ), @@ -20891,7 +21951,6 @@ with argo_workflows.ApiClient(configuration) as api_client: annotations={ "key": "key_example", }, - cluster_name="cluster_name_example", creation_timestamp=dateutil_parser('1970-01-01T00:00:00.00Z'), deletion_grace_period_seconds=1, deletion_timestamp=dateutil_parser('1970-01-01T00:00:00.00Z'), @@ -20939,12 +21998,13 @@ with argo_workflows.ApiClient(configuration) as api_client: kind="kind_example", name="name_example", ), - data_source_ref=TypedLocalObjectReference( + data_source_ref=TypedObjectReference( api_group="api_group_example", kind="kind_example", name="name_example", + namespace="namespace_example", ), - resources=ResourceRequirements( + resources=VolumeResourceRequirements( limits={ "key": "key_example", }, @@ -20967,6 +22027,7 @@ with argo_workflows.ApiClient(configuration) as api_client: }, ), storage_class_name="storage_class_name_example", + volume_attributes_class_name="volume_attributes_class_name_example", volume_mode="volume_mode_example", volume_name="volume_name_example", ), @@ -21058,6 +22119,26 @@ with argo_workflows.ApiClient(configuration) as api_client: default_mode=1, sources=[ VolumeProjection( + cluster_trust_bundle=ClusterTrustBundleProjection( + label_selector=LabelSelector( + match_expressions=[ + LabelSelectorRequirement( + key="key_example", + operator="operator_example", + values=[ + "values_example", + ], + ), + ], + match_labels={ + "key": "key_example", + }, + ), + name="name_example", + optional=True, + path="path_example", + signer_name="signer_name_example", + ), config_map=ConfigMapProjection( items=[ KeyToPath( @@ -21174,9 +22255,9 @@ with argo_workflows.ApiClient(configuration) as api_client: ], tolerations=[ Toleration( - effect="NoExecute", + effect="effect_example", key="key_example", - operator="Equal", + operator="operator_example", toleration_seconds=1, value="value_example", ), @@ -21197,7 +22278,6 @@ with argo_workflows.ApiClient(configuration) as api_client: annotations={ "key": "key_example", }, - cluster_name="cluster_name_example", creation_timestamp=dateutil_parser('1970-01-01T00:00:00.00Z'), deletion_grace_period_seconds=1, deletion_timestamp=dateutil_parser('1970-01-01T00:00:00.00Z'), @@ -21245,12 +22325,13 @@ with argo_workflows.ApiClient(configuration) as api_client: kind="kind_example", name="name_example", ), - data_source_ref=TypedLocalObjectReference( + data_source_ref=TypedObjectReference( api_group="api_group_example", kind="kind_example", name="name_example", + namespace="namespace_example", ), - resources=ResourceRequirements( + resources=VolumeResourceRequirements( limits={ "key": "key_example", }, @@ -21273,6 +22354,7 @@ with argo_workflows.ApiClient(configuration) as api_client: }, ), storage_class_name="storage_class_name_example", + volume_attributes_class_name="volume_attributes_class_name_example", volume_mode="volume_mode_example", volume_name="volume_name_example", ), @@ -21280,6 +22362,9 @@ with argo_workflows.ApiClient(configuration) as api_client: access_modes=[ "access_modes_example", ], + allocated_resource_statuses={ + "key": "key_example", + }, allocated_resources={ "key": "key_example", }, @@ -21293,11 +22378,15 @@ with argo_workflows.ApiClient(configuration) as api_client: message="message_example", reason="reason_example", status="status_example", - type="FileSystemResizePending", + type="type_example", ), ], - phase="Bound", - resize_status="resize_status_example", + current_volume_attributes_class_name="current_volume_attributes_class_name_example", + modify_volume_status=ModifyVolumeStatus( + status="status_example", + target_volume_attributes_class_name="target_volume_attributes_class_name_example", + ), + phase="phase_example", ), ), ], @@ -21393,7 +22482,6 @@ with argo_workflows.ApiClient(configuration) as api_client: annotations={ "key": "key_example", }, - cluster_name="cluster_name_example", creation_timestamp=dateutil_parser('1970-01-01T00:00:00.00Z'), deletion_grace_period_seconds=1, deletion_timestamp=dateutil_parser('1970-01-01T00:00:00.00Z'), @@ -21441,12 +22529,13 @@ with argo_workflows.ApiClient(configuration) as api_client: kind="kind_example", name="name_example", ), - data_source_ref=TypedLocalObjectReference( + data_source_ref=TypedObjectReference( api_group="api_group_example", kind="kind_example", name="name_example", + namespace="namespace_example", ), - resources=ResourceRequirements( + resources=VolumeResourceRequirements( limits={ "key": "key_example", }, @@ -21469,6 +22558,7 @@ with argo_workflows.ApiClient(configuration) as api_client: }, ), storage_class_name="storage_class_name_example", + volume_attributes_class_name="volume_attributes_class_name_example", volume_mode="volume_mode_example", volume_name="volume_name_example", ), @@ -21560,6 +22650,26 @@ with argo_workflows.ApiClient(configuration) as api_client: default_mode=1, sources=[ VolumeProjection( + cluster_trust_bundle=ClusterTrustBundleProjection( + label_selector=LabelSelector( + match_expressions=[ + LabelSelectorRequirement( + key="key_example", + operator="operator_example", + values=[ + "values_example", + ], + ), + ], + match_labels={ + "key": "key_example", + }, + ), + name="name_example", + optional=True, + path="path_example", + signer_name="signer_name_example", + ), config_map=ConfigMapProjection( items=[ KeyToPath( @@ -21777,11 +22887,12 @@ with argo_workflows.ApiClient(configuration) as api_client: list_options_timeout_seconds = "listOptions.timeoutSeconds_example" # 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 = "listOptions.limit_example" # 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 = "listOptions.continue_example" # 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 = True # 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) # example passing only required values which don't have defaults set # and optional values try: - api_response = api_instance.list_cluster_workflow_templates(list_options_label_selector=list_options_label_selector, list_options_field_selector=list_options_field_selector, list_options_watch=list_options_watch, list_options_allow_watch_bookmarks=list_options_allow_watch_bookmarks, list_options_resource_version=list_options_resource_version, list_options_resource_version_match=list_options_resource_version_match, list_options_timeout_seconds=list_options_timeout_seconds, list_options_limit=list_options_limit, list_options_continue=list_options_continue) + api_response = api_instance.list_cluster_workflow_templates(list_options_label_selector=list_options_label_selector, list_options_field_selector=list_options_field_selector, list_options_watch=list_options_watch, list_options_allow_watch_bookmarks=list_options_allow_watch_bookmarks, list_options_resource_version=list_options_resource_version, list_options_resource_version_match=list_options_resource_version_match, list_options_timeout_seconds=list_options_timeout_seconds, list_options_limit=list_options_limit, list_options_continue=list_options_continue, list_options_send_initial_events=list_options_send_initial_events) pprint(api_response) except argo_workflows.ApiException as e: print("Exception when calling ClusterWorkflowTemplateServiceApi->list_cluster_workflow_templates: %s\n" % e) @@ -21801,6 +22912,7 @@ Name | Type | Description | Notes **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 type @@ -21873,7 +22985,6 @@ with argo_workflows.ApiClient(configuration) as api_client: annotations={ "key": "key_example", }, - cluster_name="cluster_name_example", creation_timestamp=dateutil_parser('1970-01-01T00:00:00.00Z'), deletion_grace_period_seconds=1, deletion_timestamp=dateutil_parser('1970-01-01T00:00:00.00Z'), @@ -21922,7 +23033,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_expressions=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -21931,7 +23042,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_fields=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -21947,7 +23058,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_expressions=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -21956,7 +23067,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_fields=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -21984,6 +23095,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -22022,6 +23139,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -22061,6 +23184,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -22099,6 +23228,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -22189,6 +23324,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -22362,6 +23498,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -22502,6 +23643,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -22675,6 +23817,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -22782,6 +23929,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + unhealthy_pod_eviction_policy="unhealthy_pod_eviction_policy_example", ), pod_gc=IoArgoprojWorkflowV1alpha1PodGC( delete_delay_duration="delete_delay_duration_example", @@ -22828,6 +23976,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ), scheduler_name="scheduler_name_example", security_context=PodSecurityContext( + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), fs_group=1, fs_group_change_policy="fs_group_change_policy_example", run_as_group=1, @@ -22841,7 +23993,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), supplemental_groups=[ 1, @@ -22867,6 +24019,12 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", namespace="namespace_example", ), + mutexes=[ + IoArgoprojWorkflowV1alpha1Mutex( + name="name_example", + namespace="namespace_example", + ), + ], semaphore=IoArgoprojWorkflowV1alpha1SemaphoreRef( config_map_key_ref=ConfigMapKeySelector( key="key_example", @@ -22875,6 +24033,16 @@ with argo_workflows.ApiClient(configuration) as api_client: ), namespace="namespace_example", ), + semaphores=[ + IoArgoprojWorkflowV1alpha1SemaphoreRef( + config_map_key_ref=ConfigMapKeySelector( + key="key_example", + name="name_example", + optional=True, + ), + namespace="namespace_example", + ), + ], ), template_defaults=IoArgoprojWorkflowV1alpha1Template( active_deadline_seconds="active_deadline_seconds_example", @@ -22886,7 +24054,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_expressions=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -22895,7 +24063,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_fields=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -22911,7 +24079,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_expressions=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -22920,7 +24088,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_fields=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -22948,6 +24116,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -22986,6 +24160,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -23025,6 +24205,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -23063,6 +24249,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -23128,6 +24320,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -23295,6 +24488,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), ), @@ -23347,7 +24545,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), ], image="image_example", - image_pull_policy="Always", + image_pull_policy="image_pull_policy_example", lifecycle=Lifecycle( post_start=LifecycleHandler( _exec=ExecAction( @@ -23365,7 +24563,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -23388,7 +24589,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -23417,7 +24621,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -23436,7 +24640,7 @@ with argo_workflows.ApiClient(configuration) as api_client: host_ip="host_ip_example", host_port=1, name="name_example", - protocol="SCTP", + protocol="protocol_example", ), ], readiness_probe=Probe( @@ -23460,7 +24664,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -23472,7 +24676,18 @@ with argo_workflows.ApiClient(configuration) as api_client: termination_grace_period_seconds=1, timeout_seconds=1, ), + resize_policy=[ + ContainerResizePolicy( + resource_name="resource_name_example", + restart_policy="restart_policy_example", + ), + ], resources=ResourceRequirements( + claims=[ + ResourceClaim( + name="name_example", + ), + ], limits={ "key": "key_example", }, @@ -23480,8 +24695,13 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + restart_policy="restart_policy_example", security_context=SecurityContext( allow_privilege_escalation=True, + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), capabilities=Capabilities( add=[ "add_example", @@ -23504,7 +24724,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), windows_options=WindowsSecurityContextOptions( gmsa_credential_spec="gmsa_credential_spec_example", @@ -23534,7 +24754,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -23549,7 +24769,7 @@ with argo_workflows.ApiClient(configuration) as api_client: stdin=True, stdin_once=True, termination_message_path="termination_message_path_example", - termination_message_policy="FallbackToLogsOnError", + termination_message_policy="termination_message_policy_example", tty=True, volume_devices=[ VolumeDevice( @@ -23563,6 +24783,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -23640,7 +24861,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -23663,7 +24887,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -23692,7 +24919,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -23711,7 +24938,7 @@ with argo_workflows.ApiClient(configuration) as api_client: host_ip="host_ip_example", host_port=1, name="name_example", - protocol="SCTP", + protocol="protocol_example", ), ], readiness_probe=Probe( @@ -23735,7 +24962,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -23747,7 +24974,18 @@ with argo_workflows.ApiClient(configuration) as api_client: termination_grace_period_seconds=1, timeout_seconds=1, ), + resize_policy=[ + ContainerResizePolicy( + resource_name="resource_name_example", + restart_policy="restart_policy_example", + ), + ], resources=ResourceRequirements( + claims=[ + ResourceClaim( + name="name_example", + ), + ], limits={ "key": "key_example", }, @@ -23755,8 +24993,13 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + restart_policy="restart_policy_example", security_context=SecurityContext( allow_privilege_escalation=True, + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), capabilities=Capabilities( add=[ "add_example", @@ -23779,7 +25022,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), windows_options=WindowsSecurityContextOptions( gmsa_credential_spec="gmsa_credential_spec_example", @@ -23809,7 +25052,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -23838,6 +25081,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -23855,6 +25099,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -23933,6 +25178,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -24106,6 +25352,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -24216,6 +25467,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -24389,6 +25641,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -24521,6 +25778,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -24694,6 +25952,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -24808,7 +26071,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -24831,7 +26097,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -24860,7 +26129,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -24880,7 +26149,7 @@ with argo_workflows.ApiClient(configuration) as api_client: host_ip="host_ip_example", host_port=1, name="name_example", - protocol="SCTP", + protocol="protocol_example", ), ], readiness_probe=Probe( @@ -24904,7 +26173,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -24916,7 +26185,18 @@ with argo_workflows.ApiClient(configuration) as api_client: termination_grace_period_seconds=1, timeout_seconds=1, ), + resize_policy=[ + ContainerResizePolicy( + resource_name="resource_name_example", + restart_policy="restart_policy_example", + ), + ], resources=ResourceRequirements( + claims=[ + ResourceClaim( + name="name_example", + ), + ], limits={ "key": "key_example", }, @@ -24924,8 +26204,13 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + restart_policy="restart_policy_example", security_context=SecurityContext( allow_privilege_escalation=True, + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), capabilities=Capabilities( add=[ "add_example", @@ -24948,7 +26233,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), windows_options=WindowsSecurityContextOptions( gmsa_credential_spec="gmsa_credential_spec_example", @@ -24978,7 +26263,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -25007,6 +26292,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -25081,6 +26367,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -25254,6 +26541,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -25406,6 +26698,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -25579,6 +26872,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -25692,6 +26990,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -25865,6 +27164,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -25954,7 +27258,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -25977,7 +27284,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -26006,7 +27316,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -26025,7 +27335,7 @@ with argo_workflows.ApiClient(configuration) as api_client: host_ip="host_ip_example", host_port=1, name="name_example", - protocol="SCTP", + protocol="protocol_example", ), ], readiness_probe=Probe( @@ -26049,7 +27359,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -26061,7 +27371,18 @@ with argo_workflows.ApiClient(configuration) as api_client: termination_grace_period_seconds=1, timeout_seconds=1, ), + resize_policy=[ + ContainerResizePolicy( + resource_name="resource_name_example", + restart_policy="restart_policy_example", + ), + ], resources=ResourceRequirements( + claims=[ + ResourceClaim( + name="name_example", + ), + ], limits={ "key": "key_example", }, @@ -26069,8 +27390,13 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + restart_policy="restart_policy_example", security_context=SecurityContext( allow_privilege_escalation=True, + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), capabilities=Capabilities( add=[ "add_example", @@ -26093,7 +27419,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), windows_options=WindowsSecurityContextOptions( gmsa_credential_spec="gmsa_credential_spec_example", @@ -26124,7 +27450,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -26153,6 +27479,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -26160,6 +27487,10 @@ with argo_workflows.ApiClient(configuration) as api_client: working_dir="working_dir_example", ), security_context=PodSecurityContext( + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), fs_group=1, fs_group_change_policy="fs_group_change_policy_example", run_as_group=1, @@ -26173,7 +27504,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), supplemental_groups=[ 1, @@ -26259,7 +27590,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -26282,7 +27616,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -26311,7 +27648,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -26331,7 +27668,7 @@ with argo_workflows.ApiClient(configuration) as api_client: host_ip="host_ip_example", host_port=1, name="name_example", - protocol="SCTP", + protocol="protocol_example", ), ], readiness_probe=Probe( @@ -26355,7 +27692,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -26367,7 +27704,18 @@ with argo_workflows.ApiClient(configuration) as api_client: termination_grace_period_seconds=1, timeout_seconds=1, ), + resize_policy=[ + ContainerResizePolicy( + resource_name="resource_name_example", + restart_policy="restart_policy_example", + ), + ], resources=ResourceRequirements( + claims=[ + ResourceClaim( + name="name_example", + ), + ], limits={ "key": "key_example", }, @@ -26375,8 +27723,13 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + restart_policy="restart_policy_example", security_context=SecurityContext( allow_privilege_escalation=True, + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), capabilities=Capabilities( add=[ "add_example", @@ -26399,7 +27752,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), windows_options=WindowsSecurityContextOptions( gmsa_credential_spec="gmsa_credential_spec_example", @@ -26429,7 +27782,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -26458,6 +27811,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -26535,6 +27889,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -26708,6 +28063,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -26814,6 +28174,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -26987,6 +28348,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -27060,6 +28426,12 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", namespace="namespace_example", ), + mutexes=[ + IoArgoprojWorkflowV1alpha1Mutex( + name="name_example", + namespace="namespace_example", + ), + ], semaphore=IoArgoprojWorkflowV1alpha1SemaphoreRef( config_map_key_ref=ConfigMapKeySelector( key="key_example", @@ -27068,13 +28440,23 @@ with argo_workflows.ApiClient(configuration) as api_client: ), namespace="namespace_example", ), + semaphores=[ + IoArgoprojWorkflowV1alpha1SemaphoreRef( + config_map_key_ref=ConfigMapKeySelector( + key="key_example", + name="name_example", + optional=True, + ), + namespace="namespace_example", + ), + ], ), timeout="timeout_example", tolerations=[ Toleration( - effect="NoExecute", + effect="effect_example", key="key_example", - operator="Equal", + operator="operator_example", toleration_seconds=1, value="value_example", ), @@ -27171,7 +28553,6 @@ with argo_workflows.ApiClient(configuration) as api_client: annotations={ "key": "key_example", }, - cluster_name="cluster_name_example", creation_timestamp=dateutil_parser('1970-01-01T00:00:00.00Z'), deletion_grace_period_seconds=1, deletion_timestamp=dateutil_parser('1970-01-01T00:00:00.00Z'), @@ -27219,12 +28600,13 @@ with argo_workflows.ApiClient(configuration) as api_client: kind="kind_example", name="name_example", ), - data_source_ref=TypedLocalObjectReference( + data_source_ref=TypedObjectReference( api_group="api_group_example", kind="kind_example", name="name_example", + namespace="namespace_example", ), - resources=ResourceRequirements( + resources=VolumeResourceRequirements( limits={ "key": "key_example", }, @@ -27247,6 +28629,7 @@ with argo_workflows.ApiClient(configuration) as api_client: }, ), storage_class_name="storage_class_name_example", + volume_attributes_class_name="volume_attributes_class_name_example", volume_mode="volume_mode_example", volume_name="volume_name_example", ), @@ -27338,6 +28721,26 @@ with argo_workflows.ApiClient(configuration) as api_client: default_mode=1, sources=[ VolumeProjection( + cluster_trust_bundle=ClusterTrustBundleProjection( + label_selector=LabelSelector( + match_expressions=[ + LabelSelectorRequirement( + key="key_example", + operator="operator_example", + values=[ + "values_example", + ], + ), + ], + match_labels={ + "key": "key_example", + }, + ), + name="name_example", + optional=True, + path="path_example", + signer_name="signer_name_example", + ), config_map=ConfigMapProjection( items=[ KeyToPath( @@ -27462,7 +28865,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_expressions=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -27471,7 +28874,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_fields=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -27487,7 +28890,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_expressions=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -27496,7 +28899,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_fields=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -27524,6 +28927,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -27562,6 +28971,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -27601,6 +29016,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -27639,6 +29060,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -27704,6 +29131,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -27871,6 +29299,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), ), @@ -27923,7 +29356,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), ], image="image_example", - image_pull_policy="Always", + image_pull_policy="image_pull_policy_example", lifecycle=Lifecycle( post_start=LifecycleHandler( _exec=ExecAction( @@ -27941,7 +29374,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -27964,7 +29400,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -27993,7 +29432,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -28012,7 +29451,7 @@ with argo_workflows.ApiClient(configuration) as api_client: host_ip="host_ip_example", host_port=1, name="name_example", - protocol="SCTP", + protocol="protocol_example", ), ], readiness_probe=Probe( @@ -28036,7 +29475,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -28048,7 +29487,18 @@ with argo_workflows.ApiClient(configuration) as api_client: termination_grace_period_seconds=1, timeout_seconds=1, ), + resize_policy=[ + ContainerResizePolicy( + resource_name="resource_name_example", + restart_policy="restart_policy_example", + ), + ], resources=ResourceRequirements( + claims=[ + ResourceClaim( + name="name_example", + ), + ], limits={ "key": "key_example", }, @@ -28056,8 +29506,13 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + restart_policy="restart_policy_example", security_context=SecurityContext( allow_privilege_escalation=True, + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), capabilities=Capabilities( add=[ "add_example", @@ -28080,7 +29535,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), windows_options=WindowsSecurityContextOptions( gmsa_credential_spec="gmsa_credential_spec_example", @@ -28110,7 +29565,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -28125,7 +29580,7 @@ with argo_workflows.ApiClient(configuration) as api_client: stdin=True, stdin_once=True, termination_message_path="termination_message_path_example", - termination_message_policy="FallbackToLogsOnError", + termination_message_policy="termination_message_policy_example", tty=True, volume_devices=[ VolumeDevice( @@ -28139,6 +29594,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -28216,7 +29672,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -28239,7 +29698,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -28268,7 +29730,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -28287,7 +29749,7 @@ with argo_workflows.ApiClient(configuration) as api_client: host_ip="host_ip_example", host_port=1, name="name_example", - protocol="SCTP", + protocol="protocol_example", ), ], readiness_probe=Probe( @@ -28311,7 +29773,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -28323,7 +29785,18 @@ with argo_workflows.ApiClient(configuration) as api_client: termination_grace_period_seconds=1, timeout_seconds=1, ), + resize_policy=[ + ContainerResizePolicy( + resource_name="resource_name_example", + restart_policy="restart_policy_example", + ), + ], resources=ResourceRequirements( + claims=[ + ResourceClaim( + name="name_example", + ), + ], limits={ "key": "key_example", }, @@ -28331,8 +29804,13 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + restart_policy="restart_policy_example", security_context=SecurityContext( allow_privilege_escalation=True, + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), capabilities=Capabilities( add=[ "add_example", @@ -28355,7 +29833,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), windows_options=WindowsSecurityContextOptions( gmsa_credential_spec="gmsa_credential_spec_example", @@ -28385,7 +29863,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -28414,6 +29892,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -28431,6 +29910,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -28509,6 +29989,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -28682,6 +30163,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -28792,6 +30278,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -28965,6 +30452,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -29097,6 +30589,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -29270,6 +30763,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -29384,7 +30882,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -29407,7 +30908,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -29436,7 +30940,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -29456,7 +30960,7 @@ with argo_workflows.ApiClient(configuration) as api_client: host_ip="host_ip_example", host_port=1, name="name_example", - protocol="SCTP", + protocol="protocol_example", ), ], readiness_probe=Probe( @@ -29480,7 +30984,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -29492,7 +30996,18 @@ with argo_workflows.ApiClient(configuration) as api_client: termination_grace_period_seconds=1, timeout_seconds=1, ), + resize_policy=[ + ContainerResizePolicy( + resource_name="resource_name_example", + restart_policy="restart_policy_example", + ), + ], resources=ResourceRequirements( + claims=[ + ResourceClaim( + name="name_example", + ), + ], limits={ "key": "key_example", }, @@ -29500,8 +31015,13 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + restart_policy="restart_policy_example", security_context=SecurityContext( allow_privilege_escalation=True, + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), capabilities=Capabilities( add=[ "add_example", @@ -29524,7 +31044,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), windows_options=WindowsSecurityContextOptions( gmsa_credential_spec="gmsa_credential_spec_example", @@ -29554,7 +31074,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -29583,6 +31103,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -29657,6 +31178,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -29830,6 +31352,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -29982,6 +31509,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -30155,6 +31683,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -30268,6 +31801,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -30441,6 +31975,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -30530,7 +32069,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -30553,7 +32095,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -30582,7 +32127,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -30601,7 +32146,7 @@ with argo_workflows.ApiClient(configuration) as api_client: host_ip="host_ip_example", host_port=1, name="name_example", - protocol="SCTP", + protocol="protocol_example", ), ], readiness_probe=Probe( @@ -30625,7 +32170,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -30637,7 +32182,18 @@ with argo_workflows.ApiClient(configuration) as api_client: termination_grace_period_seconds=1, timeout_seconds=1, ), + resize_policy=[ + ContainerResizePolicy( + resource_name="resource_name_example", + restart_policy="restart_policy_example", + ), + ], resources=ResourceRequirements( + claims=[ + ResourceClaim( + name="name_example", + ), + ], limits={ "key": "key_example", }, @@ -30645,8 +32201,13 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + restart_policy="restart_policy_example", security_context=SecurityContext( allow_privilege_escalation=True, + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), capabilities=Capabilities( add=[ "add_example", @@ -30669,7 +32230,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), windows_options=WindowsSecurityContextOptions( gmsa_credential_spec="gmsa_credential_spec_example", @@ -30700,7 +32261,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -30729,6 +32290,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -30736,6 +32298,10 @@ with argo_workflows.ApiClient(configuration) as api_client: working_dir="working_dir_example", ), security_context=PodSecurityContext( + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), fs_group=1, fs_group_change_policy="fs_group_change_policy_example", run_as_group=1, @@ -30749,7 +32315,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), supplemental_groups=[ 1, @@ -30835,7 +32401,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -30858,7 +32427,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -30887,7 +32459,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -30907,7 +32479,7 @@ with argo_workflows.ApiClient(configuration) as api_client: host_ip="host_ip_example", host_port=1, name="name_example", - protocol="SCTP", + protocol="protocol_example", ), ], readiness_probe=Probe( @@ -30931,7 +32503,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -30943,7 +32515,18 @@ with argo_workflows.ApiClient(configuration) as api_client: termination_grace_period_seconds=1, timeout_seconds=1, ), + resize_policy=[ + ContainerResizePolicy( + resource_name="resource_name_example", + restart_policy="restart_policy_example", + ), + ], resources=ResourceRequirements( + claims=[ + ResourceClaim( + name="name_example", + ), + ], limits={ "key": "key_example", }, @@ -30951,8 +32534,13 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + restart_policy="restart_policy_example", security_context=SecurityContext( allow_privilege_escalation=True, + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), capabilities=Capabilities( add=[ "add_example", @@ -30975,7 +32563,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), windows_options=WindowsSecurityContextOptions( gmsa_credential_spec="gmsa_credential_spec_example", @@ -31005,7 +32593,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -31034,6 +32622,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -31111,6 +32700,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -31284,6 +32874,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -31390,6 +32985,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -31563,6 +33159,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -31636,6 +33237,12 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", namespace="namespace_example", ), + mutexes=[ + IoArgoprojWorkflowV1alpha1Mutex( + name="name_example", + namespace="namespace_example", + ), + ], semaphore=IoArgoprojWorkflowV1alpha1SemaphoreRef( config_map_key_ref=ConfigMapKeySelector( key="key_example", @@ -31644,13 +33251,23 @@ with argo_workflows.ApiClient(configuration) as api_client: ), namespace="namespace_example", ), + semaphores=[ + IoArgoprojWorkflowV1alpha1SemaphoreRef( + config_map_key_ref=ConfigMapKeySelector( + key="key_example", + name="name_example", + optional=True, + ), + namespace="namespace_example", + ), + ], ), timeout="timeout_example", tolerations=[ Toleration( - effect="NoExecute", + effect="effect_example", key="key_example", - operator="Equal", + operator="operator_example", toleration_seconds=1, value="value_example", ), @@ -31747,7 +33364,6 @@ with argo_workflows.ApiClient(configuration) as api_client: annotations={ "key": "key_example", }, - cluster_name="cluster_name_example", creation_timestamp=dateutil_parser('1970-01-01T00:00:00.00Z'), deletion_grace_period_seconds=1, deletion_timestamp=dateutil_parser('1970-01-01T00:00:00.00Z'), @@ -31795,12 +33411,13 @@ with argo_workflows.ApiClient(configuration) as api_client: kind="kind_example", name="name_example", ), - data_source_ref=TypedLocalObjectReference( + data_source_ref=TypedObjectReference( api_group="api_group_example", kind="kind_example", name="name_example", + namespace="namespace_example", ), - resources=ResourceRequirements( + resources=VolumeResourceRequirements( limits={ "key": "key_example", }, @@ -31823,6 +33440,7 @@ with argo_workflows.ApiClient(configuration) as api_client: }, ), storage_class_name="storage_class_name_example", + volume_attributes_class_name="volume_attributes_class_name_example", volume_mode="volume_mode_example", volume_name="volume_name_example", ), @@ -31914,6 +33532,26 @@ with argo_workflows.ApiClient(configuration) as api_client: default_mode=1, sources=[ VolumeProjection( + cluster_trust_bundle=ClusterTrustBundleProjection( + label_selector=LabelSelector( + match_expressions=[ + LabelSelectorRequirement( + key="key_example", + operator="operator_example", + values=[ + "values_example", + ], + ), + ], + match_labels={ + "key": "key_example", + }, + ), + name="name_example", + optional=True, + path="path_example", + signer_name="signer_name_example", + ), config_map=ConfigMapProjection( items=[ KeyToPath( @@ -32030,9 +33668,9 @@ with argo_workflows.ApiClient(configuration) as api_client: ], tolerations=[ Toleration( - effect="NoExecute", + effect="effect_example", key="key_example", - operator="Equal", + operator="operator_example", toleration_seconds=1, value="value_example", ), @@ -32053,7 +33691,6 @@ with argo_workflows.ApiClient(configuration) as api_client: annotations={ "key": "key_example", }, - cluster_name="cluster_name_example", creation_timestamp=dateutil_parser('1970-01-01T00:00:00.00Z'), deletion_grace_period_seconds=1, deletion_timestamp=dateutil_parser('1970-01-01T00:00:00.00Z'), @@ -32101,12 +33738,13 @@ with argo_workflows.ApiClient(configuration) as api_client: kind="kind_example", name="name_example", ), - data_source_ref=TypedLocalObjectReference( + data_source_ref=TypedObjectReference( api_group="api_group_example", kind="kind_example", name="name_example", + namespace="namespace_example", ), - resources=ResourceRequirements( + resources=VolumeResourceRequirements( limits={ "key": "key_example", }, @@ -32129,6 +33767,7 @@ with argo_workflows.ApiClient(configuration) as api_client: }, ), storage_class_name="storage_class_name_example", + volume_attributes_class_name="volume_attributes_class_name_example", volume_mode="volume_mode_example", volume_name="volume_name_example", ), @@ -32136,6 +33775,9 @@ with argo_workflows.ApiClient(configuration) as api_client: access_modes=[ "access_modes_example", ], + allocated_resource_statuses={ + "key": "key_example", + }, allocated_resources={ "key": "key_example", }, @@ -32149,11 +33791,15 @@ with argo_workflows.ApiClient(configuration) as api_client: message="message_example", reason="reason_example", status="status_example", - type="FileSystemResizePending", + type="type_example", ), ], - phase="Bound", - resize_status="resize_status_example", + current_volume_attributes_class_name="current_volume_attributes_class_name_example", + modify_volume_status=ModifyVolumeStatus( + status="status_example", + target_volume_attributes_class_name="target_volume_attributes_class_name_example", + ), + phase="phase_example", ), ), ], @@ -32249,7 +33895,6 @@ with argo_workflows.ApiClient(configuration) as api_client: annotations={ "key": "key_example", }, - cluster_name="cluster_name_example", creation_timestamp=dateutil_parser('1970-01-01T00:00:00.00Z'), deletion_grace_period_seconds=1, deletion_timestamp=dateutil_parser('1970-01-01T00:00:00.00Z'), @@ -32297,12 +33942,13 @@ with argo_workflows.ApiClient(configuration) as api_client: kind="kind_example", name="name_example", ), - data_source_ref=TypedLocalObjectReference( + data_source_ref=TypedObjectReference( api_group="api_group_example", kind="kind_example", name="name_example", + namespace="namespace_example", ), - resources=ResourceRequirements( + resources=VolumeResourceRequirements( limits={ "key": "key_example", }, @@ -32325,6 +33971,7 @@ with argo_workflows.ApiClient(configuration) as api_client: }, ), storage_class_name="storage_class_name_example", + volume_attributes_class_name="volume_attributes_class_name_example", volume_mode="volume_mode_example", volume_name="volume_name_example", ), @@ -32416,6 +34063,26 @@ with argo_workflows.ApiClient(configuration) as api_client: default_mode=1, sources=[ VolumeProjection( + cluster_trust_bundle=ClusterTrustBundleProjection( + label_selector=LabelSelector( + match_expressions=[ + LabelSelectorRequirement( + key="key_example", + operator="operator_example", + values=[ + "values_example", + ], + ), + ], + match_labels={ + "key": "key_example", + }, + ), + name="name_example", + optional=True, + path="path_example", + signer_name="signer_name_example", + ), config_map=ConfigMapProjection( items=[ KeyToPath( diff --git a/sdks/python/client/docs/ConfigMapEnvSource.md b/sdks/python/client/docs/ConfigMapEnvSource.md index 115e1b4e025d..230f9a57fa0c 100644 --- a/sdks/python/client/docs/ConfigMapEnvSource.md +++ b/sdks/python/client/docs/ConfigMapEnvSource.md @@ -5,7 +5,7 @@ ConfigMapEnvSource selects a ConfigMap to populate the environment variables wit ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**name** | **str** | Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names | [optional] +**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] **optional** | **bool** | Specify whether the ConfigMap must be defined | [optional] **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] diff --git a/sdks/python/client/docs/ConfigMapKeySelector.md b/sdks/python/client/docs/ConfigMapKeySelector.md index 038f51a6294a..cdadcf559e2d 100644 --- a/sdks/python/client/docs/ConfigMapKeySelector.md +++ b/sdks/python/client/docs/ConfigMapKeySelector.md @@ -6,7 +6,7 @@ Selects a key from a ConfigMap. Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **key** | **str** | The key to select. | -**name** | **str** | Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names | [optional] +**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] **optional** | **bool** | Specify whether the ConfigMap or its key must be defined | [optional] **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] diff --git a/sdks/python/client/docs/ConfigMapProjection.md b/sdks/python/client/docs/ConfigMapProjection.md index 458d5ac2c188..092e53a9e052 100644 --- a/sdks/python/client/docs/ConfigMapProjection.md +++ b/sdks/python/client/docs/ConfigMapProjection.md @@ -5,9 +5,9 @@ Adapts a ConfigMap into a projected volume. The contents of the target ConfigMa ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**items** | [**[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** | **str** | Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names | [optional] -**optional** | **bool** | Specify whether the ConfigMap or its keys must be defined | [optional] +**items** | [**[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** | **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] +**optional** | **bool** | optional specify whether the ConfigMap or its keys must be defined | [optional] **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/sdks/python/client/docs/ConfigMapVolumeSource.md b/sdks/python/client/docs/ConfigMapVolumeSource.md index d4fa4742a171..e161dab379e1 100644 --- a/sdks/python/client/docs/ConfigMapVolumeSource.md +++ b/sdks/python/client/docs/ConfigMapVolumeSource.md @@ -5,10 +5,10 @@ Adapts a ConfigMap into a volume. The contents of the target ConfigMap's Data f ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**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] -**items** | [**[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** | **str** | Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names | [optional] -**optional** | **bool** | Specify whether the ConfigMap or its keys must be defined | [optional] +**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] +**items** | [**[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** | **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] +**optional** | **bool** | optional specify whether the ConfigMap or its keys must be defined | [optional] **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/sdks/python/client/docs/Container.md b/sdks/python/client/docs/Container.md index 6c70e01262fc..b4ed62a0e9f7 100644 --- a/sdks/python/client/docs/Container.md +++ b/sdks/python/client/docs/Container.md @@ -5,24 +5,26 @@ A single application container that you want to run within a pod. ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**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. | -**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] -**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] +**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. | +**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] +**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] **env** | [**[EnvVar]**](EnvVar.md) | List of environment variables to set in the container. Cannot be updated. | [optional] **env_from** | [**[EnvFromSource]**](EnvFromSource.md) | 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] -**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] +**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] **lifecycle** | [**Lifecycle**](Lifecycle.md) | | [optional] **liveness_probe** | [**Probe**](Probe.md) | | [optional] **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] -**ports** | [**[ContainerPort]**](ContainerPort.md) | 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] +**ports** | [**[ContainerPort]**](ContainerPort.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] **readiness_probe** | [**Probe**](Probe.md) | | [optional] +**resize_policy** | [**[ContainerResizePolicy]**](ContainerResizePolicy.md) | Resources resize policy for the container. | [optional] **resources** | [**ResourceRequirements**](ResourceRequirements.md) | | [optional] +**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] **security_context** | [**SecurityContext**](SecurityContext.md) | | [optional] **startup_probe** | [**Probe**](Probe.md) | | [optional] **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] **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] **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] -**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] +**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] **tty** | **bool** | Whether this container should allocate a TTY for itself, also requires 'stdin' to be true. Default is false. | [optional] **volume_devices** | [**[VolumeDevice]**](VolumeDevice.md) | volumeDevices is the list of block devices to be used by the container. | [optional] **volume_mounts** | [**[VolumeMount]**](VolumeMount.md) | Pod volumes to mount into the container's filesystem. Cannot be updated. | [optional] diff --git a/sdks/python/client/docs/ContainerPort.md b/sdks/python/client/docs/ContainerPort.md index 36dfc1b46bf9..5d6b2bd44f76 100644 --- a/sdks/python/client/docs/ContainerPort.md +++ b/sdks/python/client/docs/ContainerPort.md @@ -9,7 +9,7 @@ Name | Type | Description | Notes **host_ip** | **str** | What host IP to bind the external port to. | [optional] **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] **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] -**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] +**protocol** | **str** | Protocol for port. Must be UDP, TCP, or SCTP. Defaults to \"TCP\". | [optional] **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/sdks/python/client/docs/ContainerResizePolicy.md b/sdks/python/client/docs/ContainerResizePolicy.md new file mode 100644 index 000000000000..de631cfc8373 --- /dev/null +++ b/sdks/python/client/docs/ContainerResizePolicy.md @@ -0,0 +1,14 @@ +# ContainerResizePolicy + +ContainerResizePolicy represents resource resize policy for the container. + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**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. | +**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/sdks/python/client/docs/CronWorkflowServiceApi.md b/sdks/python/client/docs/CronWorkflowServiceApi.md index ca8d73de1950..361bc77da1a1 100644 --- a/sdks/python/client/docs/CronWorkflowServiceApi.md +++ b/sdks/python/client/docs/CronWorkflowServiceApi.md @@ -68,7 +68,6 @@ with argo_workflows.ApiClient(configuration) as api_client: annotations={ "key": "key_example", }, - cluster_name="cluster_name_example", creation_timestamp=dateutil_parser('1970-01-01T00:00:00.00Z'), deletion_grace_period_seconds=1, deletion_timestamp=dateutil_parser('1970-01-01T00:00:00.00Z'), @@ -116,16 +115,16 @@ with argo_workflows.ApiClient(configuration) as api_client: ], starting_deadline_seconds=1, stop_strategy=IoArgoprojWorkflowV1alpha1StopStrategy( - condition="condition_example", + expression="expression_example", ), successful_jobs_history_limit=1, suspend=True, timezone="timezone_example", + when="when_example", workflow_metadata=ObjectMeta( annotations={ "key": "key_example", }, - cluster_name="cluster_name_example", creation_timestamp=dateutil_parser('1970-01-01T00:00:00.00Z'), deletion_grace_period_seconds=1, deletion_timestamp=dateutil_parser('1970-01-01T00:00:00.00Z'), @@ -174,7 +173,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_expressions=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -183,7 +182,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_fields=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -199,7 +198,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_expressions=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -208,7 +207,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_fields=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -236,6 +235,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -274,6 +279,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -313,6 +324,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -351,6 +368,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -441,6 +464,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -614,6 +638,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -754,6 +783,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -927,6 +957,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -1034,6 +1069,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + unhealthy_pod_eviction_policy="unhealthy_pod_eviction_policy_example", ), pod_gc=IoArgoprojWorkflowV1alpha1PodGC( delete_delay_duration="delete_delay_duration_example", @@ -1080,6 +1116,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ), scheduler_name="scheduler_name_example", security_context=PodSecurityContext( + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), fs_group=1, fs_group_change_policy="fs_group_change_policy_example", run_as_group=1, @@ -1093,7 +1133,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), supplemental_groups=[ 1, @@ -1119,6 +1159,12 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", namespace="namespace_example", ), + mutexes=[ + IoArgoprojWorkflowV1alpha1Mutex( + name="name_example", + namespace="namespace_example", + ), + ], semaphore=IoArgoprojWorkflowV1alpha1SemaphoreRef( config_map_key_ref=ConfigMapKeySelector( key="key_example", @@ -1127,6 +1173,16 @@ with argo_workflows.ApiClient(configuration) as api_client: ), namespace="namespace_example", ), + semaphores=[ + IoArgoprojWorkflowV1alpha1SemaphoreRef( + config_map_key_ref=ConfigMapKeySelector( + key="key_example", + name="name_example", + optional=True, + ), + namespace="namespace_example", + ), + ], ), template_defaults=IoArgoprojWorkflowV1alpha1Template( active_deadline_seconds="active_deadline_seconds_example", @@ -1138,7 +1194,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_expressions=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -1147,7 +1203,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_fields=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -1163,7 +1219,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_expressions=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -1172,7 +1228,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_fields=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -1200,6 +1256,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -1238,6 +1300,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -1277,6 +1345,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -1315,6 +1389,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -1380,6 +1460,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -1547,6 +1628,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), ), @@ -1599,7 +1685,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), ], image="image_example", - image_pull_policy="Always", + image_pull_policy="image_pull_policy_example", lifecycle=Lifecycle( post_start=LifecycleHandler( _exec=ExecAction( @@ -1617,7 +1703,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -1640,7 +1729,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -1669,7 +1761,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -1688,7 +1780,7 @@ with argo_workflows.ApiClient(configuration) as api_client: host_ip="host_ip_example", host_port=1, name="name_example", - protocol="SCTP", + protocol="protocol_example", ), ], readiness_probe=Probe( @@ -1712,7 +1804,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -1724,7 +1816,18 @@ with argo_workflows.ApiClient(configuration) as api_client: termination_grace_period_seconds=1, timeout_seconds=1, ), + resize_policy=[ + ContainerResizePolicy( + resource_name="resource_name_example", + restart_policy="restart_policy_example", + ), + ], resources=ResourceRequirements( + claims=[ + ResourceClaim( + name="name_example", + ), + ], limits={ "key": "key_example", }, @@ -1732,8 +1835,13 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + restart_policy="restart_policy_example", security_context=SecurityContext( allow_privilege_escalation=True, + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), capabilities=Capabilities( add=[ "add_example", @@ -1756,7 +1864,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), windows_options=WindowsSecurityContextOptions( gmsa_credential_spec="gmsa_credential_spec_example", @@ -1786,7 +1894,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -1801,7 +1909,7 @@ with argo_workflows.ApiClient(configuration) as api_client: stdin=True, stdin_once=True, termination_message_path="termination_message_path_example", - termination_message_policy="FallbackToLogsOnError", + termination_message_policy="termination_message_policy_example", tty=True, volume_devices=[ VolumeDevice( @@ -1815,6 +1923,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -1892,7 +2001,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -1915,7 +2027,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -1944,7 +2059,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -1963,7 +2078,7 @@ with argo_workflows.ApiClient(configuration) as api_client: host_ip="host_ip_example", host_port=1, name="name_example", - protocol="SCTP", + protocol="protocol_example", ), ], readiness_probe=Probe( @@ -1987,7 +2102,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -1999,7 +2114,18 @@ with argo_workflows.ApiClient(configuration) as api_client: termination_grace_period_seconds=1, timeout_seconds=1, ), + resize_policy=[ + ContainerResizePolicy( + resource_name="resource_name_example", + restart_policy="restart_policy_example", + ), + ], resources=ResourceRequirements( + claims=[ + ResourceClaim( + name="name_example", + ), + ], limits={ "key": "key_example", }, @@ -2007,8 +2133,13 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + restart_policy="restart_policy_example", security_context=SecurityContext( allow_privilege_escalation=True, + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), capabilities=Capabilities( add=[ "add_example", @@ -2031,7 +2162,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), windows_options=WindowsSecurityContextOptions( gmsa_credential_spec="gmsa_credential_spec_example", @@ -2061,7 +2192,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -2090,6 +2221,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -2107,6 +2239,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -2185,6 +2318,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -2358,6 +2492,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -2468,6 +2607,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -2641,6 +2781,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -2773,6 +2918,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -2946,6 +3092,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -3060,7 +3211,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -3083,7 +3237,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -3112,7 +3269,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -3132,7 +3289,7 @@ with argo_workflows.ApiClient(configuration) as api_client: host_ip="host_ip_example", host_port=1, name="name_example", - protocol="SCTP", + protocol="protocol_example", ), ], readiness_probe=Probe( @@ -3156,7 +3313,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -3168,7 +3325,18 @@ with argo_workflows.ApiClient(configuration) as api_client: termination_grace_period_seconds=1, timeout_seconds=1, ), + resize_policy=[ + ContainerResizePolicy( + resource_name="resource_name_example", + restart_policy="restart_policy_example", + ), + ], resources=ResourceRequirements( + claims=[ + ResourceClaim( + name="name_example", + ), + ], limits={ "key": "key_example", }, @@ -3176,8 +3344,13 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + restart_policy="restart_policy_example", security_context=SecurityContext( allow_privilege_escalation=True, + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), capabilities=Capabilities( add=[ "add_example", @@ -3200,7 +3373,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), windows_options=WindowsSecurityContextOptions( gmsa_credential_spec="gmsa_credential_spec_example", @@ -3230,7 +3403,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -3259,6 +3432,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -3333,6 +3507,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -3506,6 +3681,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -3658,6 +3838,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -3831,6 +4012,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -3944,6 +4130,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -4117,6 +4304,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -4206,7 +4398,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -4229,7 +4424,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -4258,7 +4456,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -4277,7 +4475,7 @@ with argo_workflows.ApiClient(configuration) as api_client: host_ip="host_ip_example", host_port=1, name="name_example", - protocol="SCTP", + protocol="protocol_example", ), ], readiness_probe=Probe( @@ -4301,7 +4499,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -4313,7 +4511,18 @@ with argo_workflows.ApiClient(configuration) as api_client: termination_grace_period_seconds=1, timeout_seconds=1, ), + resize_policy=[ + ContainerResizePolicy( + resource_name="resource_name_example", + restart_policy="restart_policy_example", + ), + ], resources=ResourceRequirements( + claims=[ + ResourceClaim( + name="name_example", + ), + ], limits={ "key": "key_example", }, @@ -4321,8 +4530,13 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + restart_policy="restart_policy_example", security_context=SecurityContext( allow_privilege_escalation=True, + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), capabilities=Capabilities( add=[ "add_example", @@ -4345,7 +4559,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), windows_options=WindowsSecurityContextOptions( gmsa_credential_spec="gmsa_credential_spec_example", @@ -4376,7 +4590,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -4405,6 +4619,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -4412,6 +4627,10 @@ with argo_workflows.ApiClient(configuration) as api_client: working_dir="working_dir_example", ), security_context=PodSecurityContext( + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), fs_group=1, fs_group_change_policy="fs_group_change_policy_example", run_as_group=1, @@ -4425,7 +4644,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), supplemental_groups=[ 1, @@ -4511,7 +4730,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -4534,7 +4756,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -4563,7 +4788,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -4583,7 +4808,7 @@ with argo_workflows.ApiClient(configuration) as api_client: host_ip="host_ip_example", host_port=1, name="name_example", - protocol="SCTP", + protocol="protocol_example", ), ], readiness_probe=Probe( @@ -4607,7 +4832,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -4619,7 +4844,18 @@ with argo_workflows.ApiClient(configuration) as api_client: termination_grace_period_seconds=1, timeout_seconds=1, ), + resize_policy=[ + ContainerResizePolicy( + resource_name="resource_name_example", + restart_policy="restart_policy_example", + ), + ], resources=ResourceRequirements( + claims=[ + ResourceClaim( + name="name_example", + ), + ], limits={ "key": "key_example", }, @@ -4627,8 +4863,13 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + restart_policy="restart_policy_example", security_context=SecurityContext( allow_privilege_escalation=True, + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), capabilities=Capabilities( add=[ "add_example", @@ -4651,7 +4892,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), windows_options=WindowsSecurityContextOptions( gmsa_credential_spec="gmsa_credential_spec_example", @@ -4681,7 +4922,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -4710,6 +4951,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -4787,6 +5029,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -4960,6 +5203,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -5066,6 +5314,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -5239,6 +5488,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -5312,6 +5566,12 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", namespace="namespace_example", ), + mutexes=[ + IoArgoprojWorkflowV1alpha1Mutex( + name="name_example", + namespace="namespace_example", + ), + ], semaphore=IoArgoprojWorkflowV1alpha1SemaphoreRef( config_map_key_ref=ConfigMapKeySelector( key="key_example", @@ -5320,13 +5580,23 @@ with argo_workflows.ApiClient(configuration) as api_client: ), namespace="namespace_example", ), + semaphores=[ + IoArgoprojWorkflowV1alpha1SemaphoreRef( + config_map_key_ref=ConfigMapKeySelector( + key="key_example", + name="name_example", + optional=True, + ), + namespace="namespace_example", + ), + ], ), timeout="timeout_example", tolerations=[ Toleration( - effect="NoExecute", + effect="effect_example", key="key_example", - operator="Equal", + operator="operator_example", toleration_seconds=1, value="value_example", ), @@ -5423,7 +5693,6 @@ with argo_workflows.ApiClient(configuration) as api_client: annotations={ "key": "key_example", }, - cluster_name="cluster_name_example", creation_timestamp=dateutil_parser('1970-01-01T00:00:00.00Z'), deletion_grace_period_seconds=1, deletion_timestamp=dateutil_parser('1970-01-01T00:00:00.00Z'), @@ -5471,12 +5740,13 @@ with argo_workflows.ApiClient(configuration) as api_client: kind="kind_example", name="name_example", ), - data_source_ref=TypedLocalObjectReference( + data_source_ref=TypedObjectReference( api_group="api_group_example", kind="kind_example", name="name_example", + namespace="namespace_example", ), - resources=ResourceRequirements( + resources=VolumeResourceRequirements( limits={ "key": "key_example", }, @@ -5499,6 +5769,7 @@ with argo_workflows.ApiClient(configuration) as api_client: }, ), storage_class_name="storage_class_name_example", + volume_attributes_class_name="volume_attributes_class_name_example", volume_mode="volume_mode_example", volume_name="volume_name_example", ), @@ -5590,6 +5861,26 @@ with argo_workflows.ApiClient(configuration) as api_client: default_mode=1, sources=[ VolumeProjection( + cluster_trust_bundle=ClusterTrustBundleProjection( + label_selector=LabelSelector( + match_expressions=[ + LabelSelectorRequirement( + key="key_example", + operator="operator_example", + values=[ + "values_example", + ], + ), + ], + match_labels={ + "key": "key_example", + }, + ), + name="name_example", + optional=True, + path="path_example", + signer_name="signer_name_example", + ), config_map=ConfigMapProjection( items=[ KeyToPath( @@ -5714,7 +6005,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_expressions=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -5723,7 +6014,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_fields=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -5739,7 +6030,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_expressions=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -5748,7 +6039,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_fields=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -5776,83 +6067,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), - namespace_selector=LabelSelector( - match_expressions=[ - LabelSelectorRequirement( - key="key_example", - operator="operator_example", - values=[ - "values_example", - ], - ), - ], - match_labels={ - "key": "key_example", - }, - ), - namespaces=[ - "namespaces_example", - ], - topology_key="topology_key_example", - ), - weight=1, - ), - ], - required_during_scheduling_ignored_during_execution=[ - PodAffinityTerm( - label_selector=LabelSelector( - match_expressions=[ - LabelSelectorRequirement( - key="key_example", - operator="operator_example", - values=[ - "values_example", - ], - ), + match_label_keys=[ + "match_label_keys_example", ], - match_labels={ - "key": "key_example", - }, - ), - namespace_selector=LabelSelector( - match_expressions=[ - LabelSelectorRequirement( - key="key_example", - operator="operator_example", - values=[ - "values_example", - ], - ), + mismatch_label_keys=[ + "mismatch_label_keys_example", ], - match_labels={ - "key": "key_example", - }, - ), - namespaces=[ - "namespaces_example", - ], - topology_key="topology_key_example", - ), - ], - ), - pod_anti_affinity=PodAntiAffinity( - preferred_during_scheduling_ignored_during_execution=[ - WeightedPodAffinityTerm( - pod_affinity_term=PodAffinityTerm( - label_selector=LabelSelector( - match_expressions=[ - LabelSelectorRequirement( - key="key_example", - operator="operator_example", - values=[ - "values_example", - ], - ), - ], - match_labels={ - "key": "key_example", - }, - ), namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -5891,6 +6111,101 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], + namespace_selector=LabelSelector( + match_expressions=[ + LabelSelectorRequirement( + key="key_example", + operator="operator_example", + values=[ + "values_example", + ], + ), + ], + match_labels={ + "key": "key_example", + }, + ), + namespaces=[ + "namespaces_example", + ], + topology_key="topology_key_example", + ), + ], + ), + pod_anti_affinity=PodAntiAffinity( + preferred_during_scheduling_ignored_during_execution=[ + WeightedPodAffinityTerm( + pod_affinity_term=PodAffinityTerm( + label_selector=LabelSelector( + match_expressions=[ + LabelSelectorRequirement( + key="key_example", + operator="operator_example", + values=[ + "values_example", + ], + ), + ], + match_labels={ + "key": "key_example", + }, + ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], + namespace_selector=LabelSelector( + match_expressions=[ + LabelSelectorRequirement( + key="key_example", + operator="operator_example", + values=[ + "values_example", + ], + ), + ], + match_labels={ + "key": "key_example", + }, + ), + namespaces=[ + "namespaces_example", + ], + topology_key="topology_key_example", + ), + weight=1, + ), + ], + required_during_scheduling_ignored_during_execution=[ + PodAffinityTerm( + label_selector=LabelSelector( + match_expressions=[ + LabelSelectorRequirement( + key="key_example", + operator="operator_example", + values=[ + "values_example", + ], + ), + ], + match_labels={ + "key": "key_example", + }, + ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -5956,6 +6271,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -6123,6 +6439,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), ), @@ -6175,7 +6496,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), ], image="image_example", - image_pull_policy="Always", + image_pull_policy="image_pull_policy_example", lifecycle=Lifecycle( post_start=LifecycleHandler( _exec=ExecAction( @@ -6193,7 +6514,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -6216,7 +6540,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -6245,7 +6572,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -6264,7 +6591,7 @@ with argo_workflows.ApiClient(configuration) as api_client: host_ip="host_ip_example", host_port=1, name="name_example", - protocol="SCTP", + protocol="protocol_example", ), ], readiness_probe=Probe( @@ -6288,7 +6615,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -6300,7 +6627,18 @@ with argo_workflows.ApiClient(configuration) as api_client: termination_grace_period_seconds=1, timeout_seconds=1, ), + resize_policy=[ + ContainerResizePolicy( + resource_name="resource_name_example", + restart_policy="restart_policy_example", + ), + ], resources=ResourceRequirements( + claims=[ + ResourceClaim( + name="name_example", + ), + ], limits={ "key": "key_example", }, @@ -6308,8 +6646,13 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + restart_policy="restart_policy_example", security_context=SecurityContext( allow_privilege_escalation=True, + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), capabilities=Capabilities( add=[ "add_example", @@ -6332,7 +6675,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), windows_options=WindowsSecurityContextOptions( gmsa_credential_spec="gmsa_credential_spec_example", @@ -6362,7 +6705,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -6377,7 +6720,7 @@ with argo_workflows.ApiClient(configuration) as api_client: stdin=True, stdin_once=True, termination_message_path="termination_message_path_example", - termination_message_policy="FallbackToLogsOnError", + termination_message_policy="termination_message_policy_example", tty=True, volume_devices=[ VolumeDevice( @@ -6391,6 +6734,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -6468,7 +6812,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -6491,7 +6838,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -6520,7 +6870,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -6539,7 +6889,7 @@ with argo_workflows.ApiClient(configuration) as api_client: host_ip="host_ip_example", host_port=1, name="name_example", - protocol="SCTP", + protocol="protocol_example", ), ], readiness_probe=Probe( @@ -6563,7 +6913,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -6575,7 +6925,18 @@ with argo_workflows.ApiClient(configuration) as api_client: termination_grace_period_seconds=1, timeout_seconds=1, ), + resize_policy=[ + ContainerResizePolicy( + resource_name="resource_name_example", + restart_policy="restart_policy_example", + ), + ], resources=ResourceRequirements( + claims=[ + ResourceClaim( + name="name_example", + ), + ], limits={ "key": "key_example", }, @@ -6583,8 +6944,13 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + restart_policy="restart_policy_example", security_context=SecurityContext( allow_privilege_escalation=True, + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), capabilities=Capabilities( add=[ "add_example", @@ -6607,7 +6973,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), windows_options=WindowsSecurityContextOptions( gmsa_credential_spec="gmsa_credential_spec_example", @@ -6637,7 +7003,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -6666,6 +7032,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -6683,6 +7050,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -6761,6 +7129,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -6934,6 +7303,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -7044,6 +7418,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -7217,6 +7592,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -7349,6 +7729,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -7522,6 +7903,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -7636,7 +8022,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -7659,7 +8048,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -7688,7 +8080,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -7708,7 +8100,7 @@ with argo_workflows.ApiClient(configuration) as api_client: host_ip="host_ip_example", host_port=1, name="name_example", - protocol="SCTP", + protocol="protocol_example", ), ], readiness_probe=Probe( @@ -7732,7 +8124,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -7744,7 +8136,18 @@ with argo_workflows.ApiClient(configuration) as api_client: termination_grace_period_seconds=1, timeout_seconds=1, ), + resize_policy=[ + ContainerResizePolicy( + resource_name="resource_name_example", + restart_policy="restart_policy_example", + ), + ], resources=ResourceRequirements( + claims=[ + ResourceClaim( + name="name_example", + ), + ], limits={ "key": "key_example", }, @@ -7752,8 +8155,13 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + restart_policy="restart_policy_example", security_context=SecurityContext( allow_privilege_escalation=True, + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), capabilities=Capabilities( add=[ "add_example", @@ -7776,7 +8184,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), windows_options=WindowsSecurityContextOptions( gmsa_credential_spec="gmsa_credential_spec_example", @@ -7806,7 +8214,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -7835,6 +8243,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -7909,6 +8318,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -8082,6 +8492,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -8234,6 +8649,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -8407,6 +8823,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -8520,6 +8941,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -8693,6 +9115,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -8782,7 +9209,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -8805,7 +9235,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -8834,7 +9267,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -8853,7 +9286,7 @@ with argo_workflows.ApiClient(configuration) as api_client: host_ip="host_ip_example", host_port=1, name="name_example", - protocol="SCTP", + protocol="protocol_example", ), ], readiness_probe=Probe( @@ -8877,7 +9310,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -8889,7 +9322,18 @@ with argo_workflows.ApiClient(configuration) as api_client: termination_grace_period_seconds=1, timeout_seconds=1, ), + resize_policy=[ + ContainerResizePolicy( + resource_name="resource_name_example", + restart_policy="restart_policy_example", + ), + ], resources=ResourceRequirements( + claims=[ + ResourceClaim( + name="name_example", + ), + ], limits={ "key": "key_example", }, @@ -8897,8 +9341,13 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + restart_policy="restart_policy_example", security_context=SecurityContext( allow_privilege_escalation=True, + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), capabilities=Capabilities( add=[ "add_example", @@ -8921,7 +9370,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), windows_options=WindowsSecurityContextOptions( gmsa_credential_spec="gmsa_credential_spec_example", @@ -8952,7 +9401,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -8981,6 +9430,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -8988,6 +9438,10 @@ with argo_workflows.ApiClient(configuration) as api_client: working_dir="working_dir_example", ), security_context=PodSecurityContext( + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), fs_group=1, fs_group_change_policy="fs_group_change_policy_example", run_as_group=1, @@ -9001,7 +9455,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), supplemental_groups=[ 1, @@ -9087,7 +9541,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -9110,7 +9567,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -9139,7 +9599,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -9159,7 +9619,7 @@ with argo_workflows.ApiClient(configuration) as api_client: host_ip="host_ip_example", host_port=1, name="name_example", - protocol="SCTP", + protocol="protocol_example", ), ], readiness_probe=Probe( @@ -9183,7 +9643,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -9195,7 +9655,18 @@ with argo_workflows.ApiClient(configuration) as api_client: termination_grace_period_seconds=1, timeout_seconds=1, ), + resize_policy=[ + ContainerResizePolicy( + resource_name="resource_name_example", + restart_policy="restart_policy_example", + ), + ], resources=ResourceRequirements( + claims=[ + ResourceClaim( + name="name_example", + ), + ], limits={ "key": "key_example", }, @@ -9203,8 +9674,13 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + restart_policy="restart_policy_example", security_context=SecurityContext( allow_privilege_escalation=True, + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), capabilities=Capabilities( add=[ "add_example", @@ -9227,7 +9703,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), windows_options=WindowsSecurityContextOptions( gmsa_credential_spec="gmsa_credential_spec_example", @@ -9257,7 +9733,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -9286,6 +9762,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -9363,6 +9840,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -9536,6 +10014,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -9642,6 +10125,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -9815,6 +10299,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -9888,6 +10377,12 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", namespace="namespace_example", ), + mutexes=[ + IoArgoprojWorkflowV1alpha1Mutex( + name="name_example", + namespace="namespace_example", + ), + ], semaphore=IoArgoprojWorkflowV1alpha1SemaphoreRef( config_map_key_ref=ConfigMapKeySelector( key="key_example", @@ -9896,13 +10391,23 @@ with argo_workflows.ApiClient(configuration) as api_client: ), namespace="namespace_example", ), + semaphores=[ + IoArgoprojWorkflowV1alpha1SemaphoreRef( + config_map_key_ref=ConfigMapKeySelector( + key="key_example", + name="name_example", + optional=True, + ), + namespace="namespace_example", + ), + ], ), timeout="timeout_example", tolerations=[ Toleration( - effect="NoExecute", + effect="effect_example", key="key_example", - operator="Equal", + operator="operator_example", toleration_seconds=1, value="value_example", ), @@ -9999,7 +10504,6 @@ with argo_workflows.ApiClient(configuration) as api_client: annotations={ "key": "key_example", }, - cluster_name="cluster_name_example", creation_timestamp=dateutil_parser('1970-01-01T00:00:00.00Z'), deletion_grace_period_seconds=1, deletion_timestamp=dateutil_parser('1970-01-01T00:00:00.00Z'), @@ -10047,12 +10551,13 @@ with argo_workflows.ApiClient(configuration) as api_client: kind="kind_example", name="name_example", ), - data_source_ref=TypedLocalObjectReference( + data_source_ref=TypedObjectReference( api_group="api_group_example", kind="kind_example", name="name_example", + namespace="namespace_example", ), - resources=ResourceRequirements( + resources=VolumeResourceRequirements( limits={ "key": "key_example", }, @@ -10075,6 +10580,7 @@ with argo_workflows.ApiClient(configuration) as api_client: }, ), storage_class_name="storage_class_name_example", + volume_attributes_class_name="volume_attributes_class_name_example", volume_mode="volume_mode_example", volume_name="volume_name_example", ), @@ -10166,6 +10672,26 @@ with argo_workflows.ApiClient(configuration) as api_client: default_mode=1, sources=[ VolumeProjection( + cluster_trust_bundle=ClusterTrustBundleProjection( + label_selector=LabelSelector( + match_expressions=[ + LabelSelectorRequirement( + key="key_example", + operator="operator_example", + values=[ + "values_example", + ], + ), + ], + match_labels={ + "key": "key_example", + }, + ), + name="name_example", + optional=True, + path="path_example", + signer_name="signer_name_example", + ), config_map=ConfigMapProjection( items=[ KeyToPath( @@ -10282,9 +10808,9 @@ with argo_workflows.ApiClient(configuration) as api_client: ], tolerations=[ Toleration( - effect="NoExecute", + effect="effect_example", key="key_example", - operator="Equal", + operator="operator_example", toleration_seconds=1, value="value_example", ), @@ -10305,7 +10831,6 @@ with argo_workflows.ApiClient(configuration) as api_client: annotations={ "key": "key_example", }, - cluster_name="cluster_name_example", creation_timestamp=dateutil_parser('1970-01-01T00:00:00.00Z'), deletion_grace_period_seconds=1, deletion_timestamp=dateutil_parser('1970-01-01T00:00:00.00Z'), @@ -10353,12 +10878,13 @@ with argo_workflows.ApiClient(configuration) as api_client: kind="kind_example", name="name_example", ), - data_source_ref=TypedLocalObjectReference( + data_source_ref=TypedObjectReference( api_group="api_group_example", kind="kind_example", name="name_example", + namespace="namespace_example", ), - resources=ResourceRequirements( + resources=VolumeResourceRequirements( limits={ "key": "key_example", }, @@ -10381,6 +10907,7 @@ with argo_workflows.ApiClient(configuration) as api_client: }, ), storage_class_name="storage_class_name_example", + volume_attributes_class_name="volume_attributes_class_name_example", volume_mode="volume_mode_example", volume_name="volume_name_example", ), @@ -10388,6 +10915,9 @@ with argo_workflows.ApiClient(configuration) as api_client: access_modes=[ "access_modes_example", ], + allocated_resource_statuses={ + "key": "key_example", + }, allocated_resources={ "key": "key_example", }, @@ -10401,11 +10931,15 @@ with argo_workflows.ApiClient(configuration) as api_client: message="message_example", reason="reason_example", status="status_example", - type="FileSystemResizePending", + type="type_example", ), ], - phase="Bound", - resize_status="resize_status_example", + current_volume_attributes_class_name="current_volume_attributes_class_name_example", + modify_volume_status=ModifyVolumeStatus( + status="status_example", + target_volume_attributes_class_name="target_volume_attributes_class_name_example", + ), + phase="phase_example", ), ), ], @@ -10501,7 +11035,6 @@ with argo_workflows.ApiClient(configuration) as api_client: annotations={ "key": "key_example", }, - cluster_name="cluster_name_example", creation_timestamp=dateutil_parser('1970-01-01T00:00:00.00Z'), deletion_grace_period_seconds=1, deletion_timestamp=dateutil_parser('1970-01-01T00:00:00.00Z'), @@ -10549,12 +11082,13 @@ with argo_workflows.ApiClient(configuration) as api_client: kind="kind_example", name="name_example", ), - data_source_ref=TypedLocalObjectReference( + data_source_ref=TypedObjectReference( api_group="api_group_example", kind="kind_example", name="name_example", + namespace="namespace_example", ), - resources=ResourceRequirements( + resources=VolumeResourceRequirements( limits={ "key": "key_example", }, @@ -10577,6 +11111,7 @@ with argo_workflows.ApiClient(configuration) as api_client: }, ), storage_class_name="storage_class_name_example", + volume_attributes_class_name="volume_attributes_class_name_example", volume_mode="volume_mode_example", volume_name="volume_name_example", ), @@ -10668,6 +11203,26 @@ with argo_workflows.ApiClient(configuration) as api_client: default_mode=1, sources=[ VolumeProjection( + cluster_trust_bundle=ClusterTrustBundleProjection( + label_selector=LabelSelector( + match_expressions=[ + LabelSelectorRequirement( + key="key_example", + operator="operator_example", + values=[ + "values_example", + ], + ), + ], + match_labels={ + "key": "key_example", + }, + ), + name="name_example", + optional=True, + path="path_example", + signer_name="signer_name_example", + ), config_map=ConfigMapProjection( items=[ KeyToPath( @@ -10911,7 +11466,7 @@ with argo_workflows.ApiClient(configuration) as api_client: delete_options_propagation_policy = "deleteOptions.propagationPolicy_example" # 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 = [ "deleteOptions.dryRun_example", - ] # [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) + ] # [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) # example passing only required values which don't have defaults set try: @@ -10941,7 +11496,7 @@ Name | Type | Description | Notes **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 type @@ -11102,7 +11657,6 @@ with argo_workflows.ApiClient(configuration) as api_client: annotations={ "key": "key_example", }, - cluster_name="cluster_name_example", creation_timestamp=dateutil_parser('1970-01-01T00:00:00.00Z'), deletion_grace_period_seconds=1, deletion_timestamp=dateutil_parser('1970-01-01T00:00:00.00Z'), @@ -11150,16 +11704,16 @@ with argo_workflows.ApiClient(configuration) as api_client: ], starting_deadline_seconds=1, stop_strategy=IoArgoprojWorkflowV1alpha1StopStrategy( - condition="condition_example", + expression="expression_example", ), successful_jobs_history_limit=1, suspend=True, timezone="timezone_example", + when="when_example", workflow_metadata=ObjectMeta( annotations={ "key": "key_example", }, - cluster_name="cluster_name_example", creation_timestamp=dateutil_parser('1970-01-01T00:00:00.00Z'), deletion_grace_period_seconds=1, deletion_timestamp=dateutil_parser('1970-01-01T00:00:00.00Z'), @@ -11208,7 +11762,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_expressions=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -11217,7 +11771,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_fields=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -11233,7 +11787,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_expressions=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -11242,7 +11796,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_fields=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -11270,6 +11824,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -11308,6 +11868,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -11347,6 +11913,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -11385,6 +11957,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -11475,6 +12053,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -11648,6 +12227,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -11788,6 +12372,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -11961,6 +12546,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -12068,6 +12658,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + unhealthy_pod_eviction_policy="unhealthy_pod_eviction_policy_example", ), pod_gc=IoArgoprojWorkflowV1alpha1PodGC( delete_delay_duration="delete_delay_duration_example", @@ -12114,6 +12705,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ), scheduler_name="scheduler_name_example", security_context=PodSecurityContext( + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), fs_group=1, fs_group_change_policy="fs_group_change_policy_example", run_as_group=1, @@ -12127,7 +12722,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), supplemental_groups=[ 1, @@ -12153,6 +12748,12 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", namespace="namespace_example", ), + mutexes=[ + IoArgoprojWorkflowV1alpha1Mutex( + name="name_example", + namespace="namespace_example", + ), + ], semaphore=IoArgoprojWorkflowV1alpha1SemaphoreRef( config_map_key_ref=ConfigMapKeySelector( key="key_example", @@ -12161,6 +12762,16 @@ with argo_workflows.ApiClient(configuration) as api_client: ), namespace="namespace_example", ), + semaphores=[ + IoArgoprojWorkflowV1alpha1SemaphoreRef( + config_map_key_ref=ConfigMapKeySelector( + key="key_example", + name="name_example", + optional=True, + ), + namespace="namespace_example", + ), + ], ), template_defaults=IoArgoprojWorkflowV1alpha1Template( active_deadline_seconds="active_deadline_seconds_example", @@ -12172,7 +12783,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_expressions=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -12181,7 +12792,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_fields=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -12197,7 +12808,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_expressions=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -12206,7 +12817,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_fields=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -12234,6 +12845,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -12272,6 +12889,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -12311,6 +12934,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -12349,6 +12978,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -12414,6 +13049,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -12581,6 +13217,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), ), @@ -12633,7 +13274,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), ], image="image_example", - image_pull_policy="Always", + image_pull_policy="image_pull_policy_example", lifecycle=Lifecycle( post_start=LifecycleHandler( _exec=ExecAction( @@ -12651,7 +13292,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -12674,7 +13318,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -12703,7 +13350,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -12722,7 +13369,7 @@ with argo_workflows.ApiClient(configuration) as api_client: host_ip="host_ip_example", host_port=1, name="name_example", - protocol="SCTP", + protocol="protocol_example", ), ], readiness_probe=Probe( @@ -12746,7 +13393,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -12758,7 +13405,18 @@ with argo_workflows.ApiClient(configuration) as api_client: termination_grace_period_seconds=1, timeout_seconds=1, ), + resize_policy=[ + ContainerResizePolicy( + resource_name="resource_name_example", + restart_policy="restart_policy_example", + ), + ], resources=ResourceRequirements( + claims=[ + ResourceClaim( + name="name_example", + ), + ], limits={ "key": "key_example", }, @@ -12766,8 +13424,13 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + restart_policy="restart_policy_example", security_context=SecurityContext( allow_privilege_escalation=True, + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), capabilities=Capabilities( add=[ "add_example", @@ -12790,7 +13453,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), windows_options=WindowsSecurityContextOptions( gmsa_credential_spec="gmsa_credential_spec_example", @@ -12820,7 +13483,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -12835,7 +13498,7 @@ with argo_workflows.ApiClient(configuration) as api_client: stdin=True, stdin_once=True, termination_message_path="termination_message_path_example", - termination_message_policy="FallbackToLogsOnError", + termination_message_policy="termination_message_policy_example", tty=True, volume_devices=[ VolumeDevice( @@ -12849,6 +13512,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -12926,7 +13590,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -12949,7 +13616,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -12978,7 +13648,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -12997,7 +13667,7 @@ with argo_workflows.ApiClient(configuration) as api_client: host_ip="host_ip_example", host_port=1, name="name_example", - protocol="SCTP", + protocol="protocol_example", ), ], readiness_probe=Probe( @@ -13021,7 +13691,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -13033,7 +13703,18 @@ with argo_workflows.ApiClient(configuration) as api_client: termination_grace_period_seconds=1, timeout_seconds=1, ), + resize_policy=[ + ContainerResizePolicy( + resource_name="resource_name_example", + restart_policy="restart_policy_example", + ), + ], resources=ResourceRequirements( + claims=[ + ResourceClaim( + name="name_example", + ), + ], limits={ "key": "key_example", }, @@ -13041,8 +13722,13 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + restart_policy="restart_policy_example", security_context=SecurityContext( allow_privilege_escalation=True, + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), capabilities=Capabilities( add=[ "add_example", @@ -13065,7 +13751,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), windows_options=WindowsSecurityContextOptions( gmsa_credential_spec="gmsa_credential_spec_example", @@ -13095,7 +13781,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -13124,6 +13810,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -13141,6 +13828,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -13219,6 +13907,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -13392,6 +14081,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -13502,6 +14196,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -13675,6 +14370,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -13807,6 +14507,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -13980,6 +14681,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -14094,7 +14800,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -14117,7 +14826,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -14146,7 +14858,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -14166,7 +14878,7 @@ with argo_workflows.ApiClient(configuration) as api_client: host_ip="host_ip_example", host_port=1, name="name_example", - protocol="SCTP", + protocol="protocol_example", ), ], readiness_probe=Probe( @@ -14190,7 +14902,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -14202,7 +14914,18 @@ with argo_workflows.ApiClient(configuration) as api_client: termination_grace_period_seconds=1, timeout_seconds=1, ), + resize_policy=[ + ContainerResizePolicy( + resource_name="resource_name_example", + restart_policy="restart_policy_example", + ), + ], resources=ResourceRequirements( + claims=[ + ResourceClaim( + name="name_example", + ), + ], limits={ "key": "key_example", }, @@ -14210,8 +14933,13 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + restart_policy="restart_policy_example", security_context=SecurityContext( allow_privilege_escalation=True, + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), capabilities=Capabilities( add=[ "add_example", @@ -14234,7 +14962,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), windows_options=WindowsSecurityContextOptions( gmsa_credential_spec="gmsa_credential_spec_example", @@ -14264,7 +14992,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -14293,6 +15021,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -14367,6 +15096,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -14540,6 +15270,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -14692,6 +15427,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -14865,6 +15601,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -14978,6 +15719,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -15151,6 +15893,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -15240,7 +15987,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -15263,7 +16013,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -15292,7 +16045,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -15311,7 +16064,7 @@ with argo_workflows.ApiClient(configuration) as api_client: host_ip="host_ip_example", host_port=1, name="name_example", - protocol="SCTP", + protocol="protocol_example", ), ], readiness_probe=Probe( @@ -15335,7 +16088,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -15347,7 +16100,18 @@ with argo_workflows.ApiClient(configuration) as api_client: termination_grace_period_seconds=1, timeout_seconds=1, ), + resize_policy=[ + ContainerResizePolicy( + resource_name="resource_name_example", + restart_policy="restart_policy_example", + ), + ], resources=ResourceRequirements( + claims=[ + ResourceClaim( + name="name_example", + ), + ], limits={ "key": "key_example", }, @@ -15355,8 +16119,13 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + restart_policy="restart_policy_example", security_context=SecurityContext( allow_privilege_escalation=True, + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), capabilities=Capabilities( add=[ "add_example", @@ -15379,7 +16148,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), windows_options=WindowsSecurityContextOptions( gmsa_credential_spec="gmsa_credential_spec_example", @@ -15410,7 +16179,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -15439,6 +16208,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -15446,6 +16216,10 @@ with argo_workflows.ApiClient(configuration) as api_client: working_dir="working_dir_example", ), security_context=PodSecurityContext( + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), fs_group=1, fs_group_change_policy="fs_group_change_policy_example", run_as_group=1, @@ -15459,7 +16233,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), supplemental_groups=[ 1, @@ -15545,7 +16319,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -15568,7 +16345,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -15597,7 +16377,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -15617,7 +16397,7 @@ with argo_workflows.ApiClient(configuration) as api_client: host_ip="host_ip_example", host_port=1, name="name_example", - protocol="SCTP", + protocol="protocol_example", ), ], readiness_probe=Probe( @@ -15641,7 +16421,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -15653,7 +16433,18 @@ with argo_workflows.ApiClient(configuration) as api_client: termination_grace_period_seconds=1, timeout_seconds=1, ), + resize_policy=[ + ContainerResizePolicy( + resource_name="resource_name_example", + restart_policy="restart_policy_example", + ), + ], resources=ResourceRequirements( + claims=[ + ResourceClaim( + name="name_example", + ), + ], limits={ "key": "key_example", }, @@ -15661,8 +16452,13 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + restart_policy="restart_policy_example", security_context=SecurityContext( allow_privilege_escalation=True, + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), capabilities=Capabilities( add=[ "add_example", @@ -15685,7 +16481,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), windows_options=WindowsSecurityContextOptions( gmsa_credential_spec="gmsa_credential_spec_example", @@ -15715,7 +16511,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -15744,6 +16540,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -15821,6 +16618,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -15994,6 +16792,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -16100,6 +16903,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -16273,6 +17077,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -16346,6 +17155,12 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", namespace="namespace_example", ), + mutexes=[ + IoArgoprojWorkflowV1alpha1Mutex( + name="name_example", + namespace="namespace_example", + ), + ], semaphore=IoArgoprojWorkflowV1alpha1SemaphoreRef( config_map_key_ref=ConfigMapKeySelector( key="key_example", @@ -16354,13 +17169,23 @@ with argo_workflows.ApiClient(configuration) as api_client: ), namespace="namespace_example", ), + semaphores=[ + IoArgoprojWorkflowV1alpha1SemaphoreRef( + config_map_key_ref=ConfigMapKeySelector( + key="key_example", + name="name_example", + optional=True, + ), + namespace="namespace_example", + ), + ], ), timeout="timeout_example", tolerations=[ Toleration( - effect="NoExecute", + effect="effect_example", key="key_example", - operator="Equal", + operator="operator_example", toleration_seconds=1, value="value_example", ), @@ -16457,7 +17282,6 @@ with argo_workflows.ApiClient(configuration) as api_client: annotations={ "key": "key_example", }, - cluster_name="cluster_name_example", creation_timestamp=dateutil_parser('1970-01-01T00:00:00.00Z'), deletion_grace_period_seconds=1, deletion_timestamp=dateutil_parser('1970-01-01T00:00:00.00Z'), @@ -16505,12 +17329,13 @@ with argo_workflows.ApiClient(configuration) as api_client: kind="kind_example", name="name_example", ), - data_source_ref=TypedLocalObjectReference( + data_source_ref=TypedObjectReference( api_group="api_group_example", kind="kind_example", name="name_example", + namespace="namespace_example", ), - resources=ResourceRequirements( + resources=VolumeResourceRequirements( limits={ "key": "key_example", }, @@ -16533,6 +17358,7 @@ with argo_workflows.ApiClient(configuration) as api_client: }, ), storage_class_name="storage_class_name_example", + volume_attributes_class_name="volume_attributes_class_name_example", volume_mode="volume_mode_example", volume_name="volume_name_example", ), @@ -16624,6 +17450,26 @@ with argo_workflows.ApiClient(configuration) as api_client: default_mode=1, sources=[ VolumeProjection( + cluster_trust_bundle=ClusterTrustBundleProjection( + label_selector=LabelSelector( + match_expressions=[ + LabelSelectorRequirement( + key="key_example", + operator="operator_example", + values=[ + "values_example", + ], + ), + ], + match_labels={ + "key": "key_example", + }, + ), + name="name_example", + optional=True, + path="path_example", + signer_name="signer_name_example", + ), config_map=ConfigMapProjection( items=[ KeyToPath( @@ -16748,7 +17594,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_expressions=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -16757,7 +17603,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_fields=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -16773,7 +17619,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_expressions=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -16782,7 +17628,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_fields=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -16810,6 +17656,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -16848,6 +17700,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -16887,6 +17745,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -16925,6 +17789,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -16990,6 +17860,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -17157,6 +18028,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), ), @@ -17209,7 +18085,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), ], image="image_example", - image_pull_policy="Always", + image_pull_policy="image_pull_policy_example", lifecycle=Lifecycle( post_start=LifecycleHandler( _exec=ExecAction( @@ -17227,7 +18103,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -17250,7 +18129,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -17279,7 +18161,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -17298,7 +18180,7 @@ with argo_workflows.ApiClient(configuration) as api_client: host_ip="host_ip_example", host_port=1, name="name_example", - protocol="SCTP", + protocol="protocol_example", ), ], readiness_probe=Probe( @@ -17322,7 +18204,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -17334,7 +18216,18 @@ with argo_workflows.ApiClient(configuration) as api_client: termination_grace_period_seconds=1, timeout_seconds=1, ), + resize_policy=[ + ContainerResizePolicy( + resource_name="resource_name_example", + restart_policy="restart_policy_example", + ), + ], resources=ResourceRequirements( + claims=[ + ResourceClaim( + name="name_example", + ), + ], limits={ "key": "key_example", }, @@ -17342,8 +18235,13 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + restart_policy="restart_policy_example", security_context=SecurityContext( allow_privilege_escalation=True, + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), capabilities=Capabilities( add=[ "add_example", @@ -17366,7 +18264,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), windows_options=WindowsSecurityContextOptions( gmsa_credential_spec="gmsa_credential_spec_example", @@ -17396,7 +18294,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -17411,7 +18309,7 @@ with argo_workflows.ApiClient(configuration) as api_client: stdin=True, stdin_once=True, termination_message_path="termination_message_path_example", - termination_message_policy="FallbackToLogsOnError", + termination_message_policy="termination_message_policy_example", tty=True, volume_devices=[ VolumeDevice( @@ -17425,6 +18323,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -17502,7 +18401,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -17525,7 +18427,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -17554,7 +18459,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -17573,7 +18478,7 @@ with argo_workflows.ApiClient(configuration) as api_client: host_ip="host_ip_example", host_port=1, name="name_example", - protocol="SCTP", + protocol="protocol_example", ), ], readiness_probe=Probe( @@ -17597,7 +18502,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -17609,7 +18514,18 @@ with argo_workflows.ApiClient(configuration) as api_client: termination_grace_period_seconds=1, timeout_seconds=1, ), + resize_policy=[ + ContainerResizePolicy( + resource_name="resource_name_example", + restart_policy="restart_policy_example", + ), + ], resources=ResourceRequirements( + claims=[ + ResourceClaim( + name="name_example", + ), + ], limits={ "key": "key_example", }, @@ -17617,8 +18533,13 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + restart_policy="restart_policy_example", security_context=SecurityContext( allow_privilege_escalation=True, + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), capabilities=Capabilities( add=[ "add_example", @@ -17641,7 +18562,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), windows_options=WindowsSecurityContextOptions( gmsa_credential_spec="gmsa_credential_spec_example", @@ -17671,7 +18592,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -17700,6 +18621,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -17717,6 +18639,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -17795,6 +18718,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -17968,6 +18892,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -18078,6 +19007,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -18251,6 +19181,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -18383,6 +19318,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -18556,6 +19492,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -18670,7 +19611,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -18693,7 +19637,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -18722,7 +19669,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -18742,7 +19689,7 @@ with argo_workflows.ApiClient(configuration) as api_client: host_ip="host_ip_example", host_port=1, name="name_example", - protocol="SCTP", + protocol="protocol_example", ), ], readiness_probe=Probe( @@ -18766,7 +19713,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -18778,7 +19725,18 @@ with argo_workflows.ApiClient(configuration) as api_client: termination_grace_period_seconds=1, timeout_seconds=1, ), + resize_policy=[ + ContainerResizePolicy( + resource_name="resource_name_example", + restart_policy="restart_policy_example", + ), + ], resources=ResourceRequirements( + claims=[ + ResourceClaim( + name="name_example", + ), + ], limits={ "key": "key_example", }, @@ -18786,8 +19744,13 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + restart_policy="restart_policy_example", security_context=SecurityContext( allow_privilege_escalation=True, + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), capabilities=Capabilities( add=[ "add_example", @@ -18810,7 +19773,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), windows_options=WindowsSecurityContextOptions( gmsa_credential_spec="gmsa_credential_spec_example", @@ -18840,7 +19803,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -18869,6 +19832,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -18943,6 +19907,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -19116,6 +20081,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -19268,6 +20238,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -19441,6 +20412,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -19554,6 +20530,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -19727,6 +20704,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -19816,7 +20798,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -19839,7 +20824,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -19868,7 +20856,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -19887,7 +20875,7 @@ with argo_workflows.ApiClient(configuration) as api_client: host_ip="host_ip_example", host_port=1, name="name_example", - protocol="SCTP", + protocol="protocol_example", ), ], readiness_probe=Probe( @@ -19911,7 +20899,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -19923,7 +20911,18 @@ with argo_workflows.ApiClient(configuration) as api_client: termination_grace_period_seconds=1, timeout_seconds=1, ), + resize_policy=[ + ContainerResizePolicy( + resource_name="resource_name_example", + restart_policy="restart_policy_example", + ), + ], resources=ResourceRequirements( + claims=[ + ResourceClaim( + name="name_example", + ), + ], limits={ "key": "key_example", }, @@ -19931,8 +20930,13 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + restart_policy="restart_policy_example", security_context=SecurityContext( allow_privilege_escalation=True, + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), capabilities=Capabilities( add=[ "add_example", @@ -19955,7 +20959,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), windows_options=WindowsSecurityContextOptions( gmsa_credential_spec="gmsa_credential_spec_example", @@ -19986,7 +20990,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -20015,6 +21019,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -20022,6 +21027,10 @@ with argo_workflows.ApiClient(configuration) as api_client: working_dir="working_dir_example", ), security_context=PodSecurityContext( + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), fs_group=1, fs_group_change_policy="fs_group_change_policy_example", run_as_group=1, @@ -20035,7 +21044,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), supplemental_groups=[ 1, @@ -20121,7 +21130,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -20144,7 +21156,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -20173,7 +21188,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -20193,7 +21208,7 @@ with argo_workflows.ApiClient(configuration) as api_client: host_ip="host_ip_example", host_port=1, name="name_example", - protocol="SCTP", + protocol="protocol_example", ), ], readiness_probe=Probe( @@ -20217,7 +21232,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -20229,7 +21244,18 @@ with argo_workflows.ApiClient(configuration) as api_client: termination_grace_period_seconds=1, timeout_seconds=1, ), + resize_policy=[ + ContainerResizePolicy( + resource_name="resource_name_example", + restart_policy="restart_policy_example", + ), + ], resources=ResourceRequirements( + claims=[ + ResourceClaim( + name="name_example", + ), + ], limits={ "key": "key_example", }, @@ -20237,8 +21263,13 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + restart_policy="restart_policy_example", security_context=SecurityContext( allow_privilege_escalation=True, + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), capabilities=Capabilities( add=[ "add_example", @@ -20261,7 +21292,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), windows_options=WindowsSecurityContextOptions( gmsa_credential_spec="gmsa_credential_spec_example", @@ -20291,7 +21322,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -20320,6 +21351,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -20397,6 +21429,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -20570,6 +21603,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -20676,6 +21714,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -20849,6 +21888,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -20922,6 +21966,12 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", namespace="namespace_example", ), + mutexes=[ + IoArgoprojWorkflowV1alpha1Mutex( + name="name_example", + namespace="namespace_example", + ), + ], semaphore=IoArgoprojWorkflowV1alpha1SemaphoreRef( config_map_key_ref=ConfigMapKeySelector( key="key_example", @@ -20930,13 +21980,23 @@ with argo_workflows.ApiClient(configuration) as api_client: ), namespace="namespace_example", ), + semaphores=[ + IoArgoprojWorkflowV1alpha1SemaphoreRef( + config_map_key_ref=ConfigMapKeySelector( + key="key_example", + name="name_example", + optional=True, + ), + namespace="namespace_example", + ), + ], ), timeout="timeout_example", tolerations=[ Toleration( - effect="NoExecute", + effect="effect_example", key="key_example", - operator="Equal", + operator="operator_example", toleration_seconds=1, value="value_example", ), @@ -21033,7 +22093,6 @@ with argo_workflows.ApiClient(configuration) as api_client: annotations={ "key": "key_example", }, - cluster_name="cluster_name_example", creation_timestamp=dateutil_parser('1970-01-01T00:00:00.00Z'), deletion_grace_period_seconds=1, deletion_timestamp=dateutil_parser('1970-01-01T00:00:00.00Z'), @@ -21081,12 +22140,13 @@ with argo_workflows.ApiClient(configuration) as api_client: kind="kind_example", name="name_example", ), - data_source_ref=TypedLocalObjectReference( + data_source_ref=TypedObjectReference( api_group="api_group_example", kind="kind_example", name="name_example", + namespace="namespace_example", ), - resources=ResourceRequirements( + resources=VolumeResourceRequirements( limits={ "key": "key_example", }, @@ -21109,6 +22169,7 @@ with argo_workflows.ApiClient(configuration) as api_client: }, ), storage_class_name="storage_class_name_example", + volume_attributes_class_name="volume_attributes_class_name_example", volume_mode="volume_mode_example", volume_name="volume_name_example", ), @@ -21200,6 +22261,26 @@ with argo_workflows.ApiClient(configuration) as api_client: default_mode=1, sources=[ VolumeProjection( + cluster_trust_bundle=ClusterTrustBundleProjection( + label_selector=LabelSelector( + match_expressions=[ + LabelSelectorRequirement( + key="key_example", + operator="operator_example", + values=[ + "values_example", + ], + ), + ], + match_labels={ + "key": "key_example", + }, + ), + name="name_example", + optional=True, + path="path_example", + signer_name="signer_name_example", + ), config_map=ConfigMapProjection( items=[ KeyToPath( @@ -21316,9 +22397,9 @@ with argo_workflows.ApiClient(configuration) as api_client: ], tolerations=[ Toleration( - effect="NoExecute", + effect="effect_example", key="key_example", - operator="Equal", + operator="operator_example", toleration_seconds=1, value="value_example", ), @@ -21339,7 +22420,6 @@ with argo_workflows.ApiClient(configuration) as api_client: annotations={ "key": "key_example", }, - cluster_name="cluster_name_example", creation_timestamp=dateutil_parser('1970-01-01T00:00:00.00Z'), deletion_grace_period_seconds=1, deletion_timestamp=dateutil_parser('1970-01-01T00:00:00.00Z'), @@ -21387,12 +22467,13 @@ with argo_workflows.ApiClient(configuration) as api_client: kind="kind_example", name="name_example", ), - data_source_ref=TypedLocalObjectReference( + data_source_ref=TypedObjectReference( api_group="api_group_example", kind="kind_example", name="name_example", + namespace="namespace_example", ), - resources=ResourceRequirements( + resources=VolumeResourceRequirements( limits={ "key": "key_example", }, @@ -21415,6 +22496,7 @@ with argo_workflows.ApiClient(configuration) as api_client: }, ), storage_class_name="storage_class_name_example", + volume_attributes_class_name="volume_attributes_class_name_example", volume_mode="volume_mode_example", volume_name="volume_name_example", ), @@ -21422,6 +22504,9 @@ with argo_workflows.ApiClient(configuration) as api_client: access_modes=[ "access_modes_example", ], + allocated_resource_statuses={ + "key": "key_example", + }, allocated_resources={ "key": "key_example", }, @@ -21435,11 +22520,15 @@ with argo_workflows.ApiClient(configuration) as api_client: message="message_example", reason="reason_example", status="status_example", - type="FileSystemResizePending", + type="type_example", ), ], - phase="Bound", - resize_status="resize_status_example", + current_volume_attributes_class_name="current_volume_attributes_class_name_example", + modify_volume_status=ModifyVolumeStatus( + status="status_example", + target_volume_attributes_class_name="target_volume_attributes_class_name_example", + ), + phase="phase_example", ), ), ], @@ -21535,7 +22624,6 @@ with argo_workflows.ApiClient(configuration) as api_client: annotations={ "key": "key_example", }, - cluster_name="cluster_name_example", creation_timestamp=dateutil_parser('1970-01-01T00:00:00.00Z'), deletion_grace_period_seconds=1, deletion_timestamp=dateutil_parser('1970-01-01T00:00:00.00Z'), @@ -21583,12 +22671,13 @@ with argo_workflows.ApiClient(configuration) as api_client: kind="kind_example", name="name_example", ), - data_source_ref=TypedLocalObjectReference( + data_source_ref=TypedObjectReference( api_group="api_group_example", kind="kind_example", name="name_example", + namespace="namespace_example", ), - resources=ResourceRequirements( + resources=VolumeResourceRequirements( limits={ "key": "key_example", }, @@ -21611,6 +22700,7 @@ with argo_workflows.ApiClient(configuration) as api_client: }, ), storage_class_name="storage_class_name_example", + volume_attributes_class_name="volume_attributes_class_name_example", volume_mode="volume_mode_example", volume_name="volume_name_example", ), @@ -21702,6 +22792,26 @@ with argo_workflows.ApiClient(configuration) as api_client: default_mode=1, sources=[ VolumeProjection( + cluster_trust_bundle=ClusterTrustBundleProjection( + label_selector=LabelSelector( + match_expressions=[ + LabelSelectorRequirement( + key="key_example", + operator="operator_example", + values=[ + "values_example", + ], + ), + ], + match_labels={ + "key": "key_example", + }, + ), + name="name_example", + optional=True, + path="path_example", + signer_name="signer_name_example", + ), config_map=ConfigMapProjection( items=[ KeyToPath( @@ -21947,6 +23057,7 @@ with argo_workflows.ApiClient(configuration) as api_client: list_options_timeout_seconds = "listOptions.timeoutSeconds_example" # 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 = "listOptions.limit_example" # 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 = "listOptions.continue_example" # 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 = True # 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) # example passing only required values which don't have defaults set try: @@ -21958,7 +23069,7 @@ with argo_workflows.ApiClient(configuration) as api_client: # example passing only required values which don't have defaults set # and optional values try: - api_response = api_instance.list_cron_workflows(namespace, list_options_label_selector=list_options_label_selector, list_options_field_selector=list_options_field_selector, list_options_watch=list_options_watch, list_options_allow_watch_bookmarks=list_options_allow_watch_bookmarks, list_options_resource_version=list_options_resource_version, list_options_resource_version_match=list_options_resource_version_match, list_options_timeout_seconds=list_options_timeout_seconds, list_options_limit=list_options_limit, list_options_continue=list_options_continue) + api_response = api_instance.list_cron_workflows(namespace, list_options_label_selector=list_options_label_selector, list_options_field_selector=list_options_field_selector, list_options_watch=list_options_watch, list_options_allow_watch_bookmarks=list_options_allow_watch_bookmarks, list_options_resource_version=list_options_resource_version, list_options_resource_version_match=list_options_resource_version_match, list_options_timeout_seconds=list_options_timeout_seconds, list_options_limit=list_options_limit, list_options_continue=list_options_continue, list_options_send_initial_events=list_options_send_initial_events) pprint(api_response) except argo_workflows.ApiException as e: print("Exception when calling CronWorkflowServiceApi->list_cron_workflows: %s\n" % e) @@ -21979,6 +23090,7 @@ Name | Type | Description | Notes **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 type @@ -22221,7 +23333,6 @@ with argo_workflows.ApiClient(configuration) as api_client: annotations={ "key": "key_example", }, - cluster_name="cluster_name_example", creation_timestamp=dateutil_parser('1970-01-01T00:00:00.00Z'), deletion_grace_period_seconds=1, deletion_timestamp=dateutil_parser('1970-01-01T00:00:00.00Z'), @@ -22269,16 +23380,16 @@ with argo_workflows.ApiClient(configuration) as api_client: ], starting_deadline_seconds=1, stop_strategy=IoArgoprojWorkflowV1alpha1StopStrategy( - condition="condition_example", + expression="expression_example", ), successful_jobs_history_limit=1, suspend=True, timezone="timezone_example", + when="when_example", workflow_metadata=ObjectMeta( annotations={ "key": "key_example", }, - cluster_name="cluster_name_example", creation_timestamp=dateutil_parser('1970-01-01T00:00:00.00Z'), deletion_grace_period_seconds=1, deletion_timestamp=dateutil_parser('1970-01-01T00:00:00.00Z'), @@ -22327,7 +23438,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_expressions=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -22336,7 +23447,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_fields=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -22352,7 +23463,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_expressions=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -22361,7 +23472,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_fields=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -22389,6 +23500,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -22427,6 +23544,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -22466,6 +23589,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -22504,6 +23633,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -22594,6 +23729,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -22767,6 +23903,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -22907,6 +24048,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -23080,6 +24222,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -23187,6 +24334,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + unhealthy_pod_eviction_policy="unhealthy_pod_eviction_policy_example", ), pod_gc=IoArgoprojWorkflowV1alpha1PodGC( delete_delay_duration="delete_delay_duration_example", @@ -23233,6 +24381,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ), scheduler_name="scheduler_name_example", security_context=PodSecurityContext( + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), fs_group=1, fs_group_change_policy="fs_group_change_policy_example", run_as_group=1, @@ -23246,7 +24398,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), supplemental_groups=[ 1, @@ -23272,6 +24424,12 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", namespace="namespace_example", ), + mutexes=[ + IoArgoprojWorkflowV1alpha1Mutex( + name="name_example", + namespace="namespace_example", + ), + ], semaphore=IoArgoprojWorkflowV1alpha1SemaphoreRef( config_map_key_ref=ConfigMapKeySelector( key="key_example", @@ -23280,6 +24438,16 @@ with argo_workflows.ApiClient(configuration) as api_client: ), namespace="namespace_example", ), + semaphores=[ + IoArgoprojWorkflowV1alpha1SemaphoreRef( + config_map_key_ref=ConfigMapKeySelector( + key="key_example", + name="name_example", + optional=True, + ), + namespace="namespace_example", + ), + ], ), template_defaults=IoArgoprojWorkflowV1alpha1Template( active_deadline_seconds="active_deadline_seconds_example", @@ -23291,7 +24459,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_expressions=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -23300,7 +24468,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_fields=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -23316,7 +24484,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_expressions=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -23325,7 +24493,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_fields=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -23353,6 +24521,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -23391,6 +24565,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -23430,6 +24610,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -23468,6 +24654,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -23533,6 +24725,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -23700,6 +24893,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), ), @@ -23752,7 +24950,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), ], image="image_example", - image_pull_policy="Always", + image_pull_policy="image_pull_policy_example", lifecycle=Lifecycle( post_start=LifecycleHandler( _exec=ExecAction( @@ -23770,7 +24968,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -23793,7 +24994,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -23822,7 +25026,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -23841,7 +25045,7 @@ with argo_workflows.ApiClient(configuration) as api_client: host_ip="host_ip_example", host_port=1, name="name_example", - protocol="SCTP", + protocol="protocol_example", ), ], readiness_probe=Probe( @@ -23865,7 +25069,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -23877,7 +25081,18 @@ with argo_workflows.ApiClient(configuration) as api_client: termination_grace_period_seconds=1, timeout_seconds=1, ), + resize_policy=[ + ContainerResizePolicy( + resource_name="resource_name_example", + restart_policy="restart_policy_example", + ), + ], resources=ResourceRequirements( + claims=[ + ResourceClaim( + name="name_example", + ), + ], limits={ "key": "key_example", }, @@ -23885,8 +25100,13 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + restart_policy="restart_policy_example", security_context=SecurityContext( allow_privilege_escalation=True, + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), capabilities=Capabilities( add=[ "add_example", @@ -23909,7 +25129,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), windows_options=WindowsSecurityContextOptions( gmsa_credential_spec="gmsa_credential_spec_example", @@ -23939,7 +25159,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -23954,7 +25174,7 @@ with argo_workflows.ApiClient(configuration) as api_client: stdin=True, stdin_once=True, termination_message_path="termination_message_path_example", - termination_message_policy="FallbackToLogsOnError", + termination_message_policy="termination_message_policy_example", tty=True, volume_devices=[ VolumeDevice( @@ -23968,6 +25188,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -24045,7 +25266,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -24068,7 +25292,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -24097,7 +25324,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -24116,7 +25343,7 @@ with argo_workflows.ApiClient(configuration) as api_client: host_ip="host_ip_example", host_port=1, name="name_example", - protocol="SCTP", + protocol="protocol_example", ), ], readiness_probe=Probe( @@ -24140,7 +25367,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -24152,7 +25379,18 @@ with argo_workflows.ApiClient(configuration) as api_client: termination_grace_period_seconds=1, timeout_seconds=1, ), + resize_policy=[ + ContainerResizePolicy( + resource_name="resource_name_example", + restart_policy="restart_policy_example", + ), + ], resources=ResourceRequirements( + claims=[ + ResourceClaim( + name="name_example", + ), + ], limits={ "key": "key_example", }, @@ -24160,8 +25398,13 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + restart_policy="restart_policy_example", security_context=SecurityContext( allow_privilege_escalation=True, + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), capabilities=Capabilities( add=[ "add_example", @@ -24184,7 +25427,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), windows_options=WindowsSecurityContextOptions( gmsa_credential_spec="gmsa_credential_spec_example", @@ -24214,7 +25457,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -24243,6 +25486,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -24260,6 +25504,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -24338,6 +25583,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -24511,6 +25757,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -24621,6 +25872,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -24794,6 +26046,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -24926,6 +26183,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -25099,6 +26357,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -25213,7 +26476,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -25236,7 +26502,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -25265,7 +26534,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -25285,7 +26554,7 @@ with argo_workflows.ApiClient(configuration) as api_client: host_ip="host_ip_example", host_port=1, name="name_example", - protocol="SCTP", + protocol="protocol_example", ), ], readiness_probe=Probe( @@ -25309,7 +26578,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -25321,7 +26590,18 @@ with argo_workflows.ApiClient(configuration) as api_client: termination_grace_period_seconds=1, timeout_seconds=1, ), + resize_policy=[ + ContainerResizePolicy( + resource_name="resource_name_example", + restart_policy="restart_policy_example", + ), + ], resources=ResourceRequirements( + claims=[ + ResourceClaim( + name="name_example", + ), + ], limits={ "key": "key_example", }, @@ -25329,8 +26609,13 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + restart_policy="restart_policy_example", security_context=SecurityContext( allow_privilege_escalation=True, + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), capabilities=Capabilities( add=[ "add_example", @@ -25353,7 +26638,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), windows_options=WindowsSecurityContextOptions( gmsa_credential_spec="gmsa_credential_spec_example", @@ -25383,7 +26668,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -25412,6 +26697,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -25486,6 +26772,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -25659,6 +26946,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -25811,6 +27103,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -25984,6 +27277,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -26097,6 +27395,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -26270,6 +27569,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -26359,7 +27663,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -26382,7 +27689,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -26411,7 +27721,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -26430,7 +27740,7 @@ with argo_workflows.ApiClient(configuration) as api_client: host_ip="host_ip_example", host_port=1, name="name_example", - protocol="SCTP", + protocol="protocol_example", ), ], readiness_probe=Probe( @@ -26454,7 +27764,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -26466,7 +27776,18 @@ with argo_workflows.ApiClient(configuration) as api_client: termination_grace_period_seconds=1, timeout_seconds=1, ), + resize_policy=[ + ContainerResizePolicy( + resource_name="resource_name_example", + restart_policy="restart_policy_example", + ), + ], resources=ResourceRequirements( + claims=[ + ResourceClaim( + name="name_example", + ), + ], limits={ "key": "key_example", }, @@ -26474,8 +27795,13 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + restart_policy="restart_policy_example", security_context=SecurityContext( allow_privilege_escalation=True, + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), capabilities=Capabilities( add=[ "add_example", @@ -26498,7 +27824,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), windows_options=WindowsSecurityContextOptions( gmsa_credential_spec="gmsa_credential_spec_example", @@ -26529,7 +27855,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -26558,6 +27884,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -26565,6 +27892,10 @@ with argo_workflows.ApiClient(configuration) as api_client: working_dir="working_dir_example", ), security_context=PodSecurityContext( + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), fs_group=1, fs_group_change_policy="fs_group_change_policy_example", run_as_group=1, @@ -26578,7 +27909,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), supplemental_groups=[ 1, @@ -26664,7 +27995,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -26687,7 +28021,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -26716,7 +28053,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -26736,7 +28073,7 @@ with argo_workflows.ApiClient(configuration) as api_client: host_ip="host_ip_example", host_port=1, name="name_example", - protocol="SCTP", + protocol="protocol_example", ), ], readiness_probe=Probe( @@ -26760,7 +28097,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -26772,7 +28109,18 @@ with argo_workflows.ApiClient(configuration) as api_client: termination_grace_period_seconds=1, timeout_seconds=1, ), + resize_policy=[ + ContainerResizePolicy( + resource_name="resource_name_example", + restart_policy="restart_policy_example", + ), + ], resources=ResourceRequirements( + claims=[ + ResourceClaim( + name="name_example", + ), + ], limits={ "key": "key_example", }, @@ -26780,8 +28128,13 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + restart_policy="restart_policy_example", security_context=SecurityContext( allow_privilege_escalation=True, + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), capabilities=Capabilities( add=[ "add_example", @@ -26804,7 +28157,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), windows_options=WindowsSecurityContextOptions( gmsa_credential_spec="gmsa_credential_spec_example", @@ -26834,7 +28187,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -26863,6 +28216,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -26940,6 +28294,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -27113,6 +28468,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -27219,6 +28579,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -27392,6 +28753,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -27465,6 +28831,12 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", namespace="namespace_example", ), + mutexes=[ + IoArgoprojWorkflowV1alpha1Mutex( + name="name_example", + namespace="namespace_example", + ), + ], semaphore=IoArgoprojWorkflowV1alpha1SemaphoreRef( config_map_key_ref=ConfigMapKeySelector( key="key_example", @@ -27473,13 +28845,23 @@ with argo_workflows.ApiClient(configuration) as api_client: ), namespace="namespace_example", ), + semaphores=[ + IoArgoprojWorkflowV1alpha1SemaphoreRef( + config_map_key_ref=ConfigMapKeySelector( + key="key_example", + name="name_example", + optional=True, + ), + namespace="namespace_example", + ), + ], ), timeout="timeout_example", tolerations=[ Toleration( - effect="NoExecute", + effect="effect_example", key="key_example", - operator="Equal", + operator="operator_example", toleration_seconds=1, value="value_example", ), @@ -27576,7 +28958,6 @@ with argo_workflows.ApiClient(configuration) as api_client: annotations={ "key": "key_example", }, - cluster_name="cluster_name_example", creation_timestamp=dateutil_parser('1970-01-01T00:00:00.00Z'), deletion_grace_period_seconds=1, deletion_timestamp=dateutil_parser('1970-01-01T00:00:00.00Z'), @@ -27624,12 +29005,13 @@ with argo_workflows.ApiClient(configuration) as api_client: kind="kind_example", name="name_example", ), - data_source_ref=TypedLocalObjectReference( + data_source_ref=TypedObjectReference( api_group="api_group_example", kind="kind_example", name="name_example", + namespace="namespace_example", ), - resources=ResourceRequirements( + resources=VolumeResourceRequirements( limits={ "key": "key_example", }, @@ -27652,6 +29034,7 @@ with argo_workflows.ApiClient(configuration) as api_client: }, ), storage_class_name="storage_class_name_example", + volume_attributes_class_name="volume_attributes_class_name_example", volume_mode="volume_mode_example", volume_name="volume_name_example", ), @@ -27743,6 +29126,26 @@ with argo_workflows.ApiClient(configuration) as api_client: default_mode=1, sources=[ VolumeProjection( + cluster_trust_bundle=ClusterTrustBundleProjection( + label_selector=LabelSelector( + match_expressions=[ + LabelSelectorRequirement( + key="key_example", + operator="operator_example", + values=[ + "values_example", + ], + ), + ], + match_labels={ + "key": "key_example", + }, + ), + name="name_example", + optional=True, + path="path_example", + signer_name="signer_name_example", + ), config_map=ConfigMapProjection( items=[ KeyToPath( @@ -27867,7 +29270,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_expressions=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -27876,7 +29279,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_fields=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -27892,7 +29295,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_expressions=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -27901,7 +29304,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_fields=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -27929,6 +29332,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -27967,6 +29376,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -28006,6 +29421,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -28044,6 +29465,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -28109,6 +29536,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -28276,6 +29704,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), ), @@ -28328,7 +29761,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), ], image="image_example", - image_pull_policy="Always", + image_pull_policy="image_pull_policy_example", lifecycle=Lifecycle( post_start=LifecycleHandler( _exec=ExecAction( @@ -28346,7 +29779,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -28369,7 +29805,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -28398,7 +29837,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -28417,7 +29856,7 @@ with argo_workflows.ApiClient(configuration) as api_client: host_ip="host_ip_example", host_port=1, name="name_example", - protocol="SCTP", + protocol="protocol_example", ), ], readiness_probe=Probe( @@ -28441,7 +29880,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -28453,7 +29892,18 @@ with argo_workflows.ApiClient(configuration) as api_client: termination_grace_period_seconds=1, timeout_seconds=1, ), + resize_policy=[ + ContainerResizePolicy( + resource_name="resource_name_example", + restart_policy="restart_policy_example", + ), + ], resources=ResourceRequirements( + claims=[ + ResourceClaim( + name="name_example", + ), + ], limits={ "key": "key_example", }, @@ -28461,8 +29911,13 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + restart_policy="restart_policy_example", security_context=SecurityContext( allow_privilege_escalation=True, + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), capabilities=Capabilities( add=[ "add_example", @@ -28485,7 +29940,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), windows_options=WindowsSecurityContextOptions( gmsa_credential_spec="gmsa_credential_spec_example", @@ -28515,7 +29970,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -28530,7 +29985,7 @@ with argo_workflows.ApiClient(configuration) as api_client: stdin=True, stdin_once=True, termination_message_path="termination_message_path_example", - termination_message_policy="FallbackToLogsOnError", + termination_message_policy="termination_message_policy_example", tty=True, volume_devices=[ VolumeDevice( @@ -28544,6 +29999,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -28621,7 +30077,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -28644,7 +30103,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -28673,7 +30135,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -28692,7 +30154,7 @@ with argo_workflows.ApiClient(configuration) as api_client: host_ip="host_ip_example", host_port=1, name="name_example", - protocol="SCTP", + protocol="protocol_example", ), ], readiness_probe=Probe( @@ -28716,7 +30178,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -28728,7 +30190,18 @@ with argo_workflows.ApiClient(configuration) as api_client: termination_grace_period_seconds=1, timeout_seconds=1, ), + resize_policy=[ + ContainerResizePolicy( + resource_name="resource_name_example", + restart_policy="restart_policy_example", + ), + ], resources=ResourceRequirements( + claims=[ + ResourceClaim( + name="name_example", + ), + ], limits={ "key": "key_example", }, @@ -28736,8 +30209,13 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + restart_policy="restart_policy_example", security_context=SecurityContext( allow_privilege_escalation=True, + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), capabilities=Capabilities( add=[ "add_example", @@ -28760,7 +30238,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), windows_options=WindowsSecurityContextOptions( gmsa_credential_spec="gmsa_credential_spec_example", @@ -28790,7 +30268,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -28819,6 +30297,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -28836,6 +30315,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -28914,6 +30394,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -29087,6 +30568,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -29197,6 +30683,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -29370,6 +30857,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -29502,6 +30994,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -29675,6 +31168,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -29789,7 +31287,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -29812,7 +31313,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -29841,7 +31345,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -29861,7 +31365,7 @@ with argo_workflows.ApiClient(configuration) as api_client: host_ip="host_ip_example", host_port=1, name="name_example", - protocol="SCTP", + protocol="protocol_example", ), ], readiness_probe=Probe( @@ -29885,7 +31389,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -29897,7 +31401,18 @@ with argo_workflows.ApiClient(configuration) as api_client: termination_grace_period_seconds=1, timeout_seconds=1, ), + resize_policy=[ + ContainerResizePolicy( + resource_name="resource_name_example", + restart_policy="restart_policy_example", + ), + ], resources=ResourceRequirements( + claims=[ + ResourceClaim( + name="name_example", + ), + ], limits={ "key": "key_example", }, @@ -29905,8 +31420,13 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + restart_policy="restart_policy_example", security_context=SecurityContext( allow_privilege_escalation=True, + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), capabilities=Capabilities( add=[ "add_example", @@ -29929,7 +31449,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), windows_options=WindowsSecurityContextOptions( gmsa_credential_spec="gmsa_credential_spec_example", @@ -29959,7 +31479,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -29988,6 +31508,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -30062,6 +31583,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -30235,6 +31757,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -30387,6 +31914,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -30560,6 +32088,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -30673,6 +32206,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -30846,6 +32380,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -30935,7 +32474,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -30958,7 +32500,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -30987,7 +32532,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -31006,7 +32551,7 @@ with argo_workflows.ApiClient(configuration) as api_client: host_ip="host_ip_example", host_port=1, name="name_example", - protocol="SCTP", + protocol="protocol_example", ), ], readiness_probe=Probe( @@ -31030,7 +32575,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -31042,7 +32587,18 @@ with argo_workflows.ApiClient(configuration) as api_client: termination_grace_period_seconds=1, timeout_seconds=1, ), + resize_policy=[ + ContainerResizePolicy( + resource_name="resource_name_example", + restart_policy="restart_policy_example", + ), + ], resources=ResourceRequirements( + claims=[ + ResourceClaim( + name="name_example", + ), + ], limits={ "key": "key_example", }, @@ -31050,8 +32606,13 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + restart_policy="restart_policy_example", security_context=SecurityContext( allow_privilege_escalation=True, + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), capabilities=Capabilities( add=[ "add_example", @@ -31074,7 +32635,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), windows_options=WindowsSecurityContextOptions( gmsa_credential_spec="gmsa_credential_spec_example", @@ -31105,7 +32666,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -31134,6 +32695,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -31141,6 +32703,10 @@ with argo_workflows.ApiClient(configuration) as api_client: working_dir="working_dir_example", ), security_context=PodSecurityContext( + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), fs_group=1, fs_group_change_policy="fs_group_change_policy_example", run_as_group=1, @@ -31154,7 +32720,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), supplemental_groups=[ 1, @@ -31240,7 +32806,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -31263,7 +32832,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -31292,7 +32864,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -31312,7 +32884,7 @@ with argo_workflows.ApiClient(configuration) as api_client: host_ip="host_ip_example", host_port=1, name="name_example", - protocol="SCTP", + protocol="protocol_example", ), ], readiness_probe=Probe( @@ -31336,7 +32908,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -31348,7 +32920,18 @@ with argo_workflows.ApiClient(configuration) as api_client: termination_grace_period_seconds=1, timeout_seconds=1, ), + resize_policy=[ + ContainerResizePolicy( + resource_name="resource_name_example", + restart_policy="restart_policy_example", + ), + ], resources=ResourceRequirements( + claims=[ + ResourceClaim( + name="name_example", + ), + ], limits={ "key": "key_example", }, @@ -31356,8 +32939,13 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + restart_policy="restart_policy_example", security_context=SecurityContext( allow_privilege_escalation=True, + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), capabilities=Capabilities( add=[ "add_example", @@ -31380,7 +32968,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), windows_options=WindowsSecurityContextOptions( gmsa_credential_spec="gmsa_credential_spec_example", @@ -31410,7 +32998,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -31439,6 +33027,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -31516,6 +33105,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -31689,6 +33279,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -31795,6 +33390,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -31968,6 +33564,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -32041,6 +33642,12 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", namespace="namespace_example", ), + mutexes=[ + IoArgoprojWorkflowV1alpha1Mutex( + name="name_example", + namespace="namespace_example", + ), + ], semaphore=IoArgoprojWorkflowV1alpha1SemaphoreRef( config_map_key_ref=ConfigMapKeySelector( key="key_example", @@ -32049,13 +33656,23 @@ with argo_workflows.ApiClient(configuration) as api_client: ), namespace="namespace_example", ), + semaphores=[ + IoArgoprojWorkflowV1alpha1SemaphoreRef( + config_map_key_ref=ConfigMapKeySelector( + key="key_example", + name="name_example", + optional=True, + ), + namespace="namespace_example", + ), + ], ), timeout="timeout_example", tolerations=[ Toleration( - effect="NoExecute", + effect="effect_example", key="key_example", - operator="Equal", + operator="operator_example", toleration_seconds=1, value="value_example", ), @@ -32152,7 +33769,6 @@ with argo_workflows.ApiClient(configuration) as api_client: annotations={ "key": "key_example", }, - cluster_name="cluster_name_example", creation_timestamp=dateutil_parser('1970-01-01T00:00:00.00Z'), deletion_grace_period_seconds=1, deletion_timestamp=dateutil_parser('1970-01-01T00:00:00.00Z'), @@ -32200,12 +33816,13 @@ with argo_workflows.ApiClient(configuration) as api_client: kind="kind_example", name="name_example", ), - data_source_ref=TypedLocalObjectReference( + data_source_ref=TypedObjectReference( api_group="api_group_example", kind="kind_example", name="name_example", + namespace="namespace_example", ), - resources=ResourceRequirements( + resources=VolumeResourceRequirements( limits={ "key": "key_example", }, @@ -32228,6 +33845,7 @@ with argo_workflows.ApiClient(configuration) as api_client: }, ), storage_class_name="storage_class_name_example", + volume_attributes_class_name="volume_attributes_class_name_example", volume_mode="volume_mode_example", volume_name="volume_name_example", ), @@ -32319,6 +33937,26 @@ with argo_workflows.ApiClient(configuration) as api_client: default_mode=1, sources=[ VolumeProjection( + cluster_trust_bundle=ClusterTrustBundleProjection( + label_selector=LabelSelector( + match_expressions=[ + LabelSelectorRequirement( + key="key_example", + operator="operator_example", + values=[ + "values_example", + ], + ), + ], + match_labels={ + "key": "key_example", + }, + ), + name="name_example", + optional=True, + path="path_example", + signer_name="signer_name_example", + ), config_map=ConfigMapProjection( items=[ KeyToPath( @@ -32435,9 +34073,9 @@ with argo_workflows.ApiClient(configuration) as api_client: ], tolerations=[ Toleration( - effect="NoExecute", + effect="effect_example", key="key_example", - operator="Equal", + operator="operator_example", toleration_seconds=1, value="value_example", ), @@ -32458,7 +34096,6 @@ with argo_workflows.ApiClient(configuration) as api_client: annotations={ "key": "key_example", }, - cluster_name="cluster_name_example", creation_timestamp=dateutil_parser('1970-01-01T00:00:00.00Z'), deletion_grace_period_seconds=1, deletion_timestamp=dateutil_parser('1970-01-01T00:00:00.00Z'), @@ -32506,12 +34143,13 @@ with argo_workflows.ApiClient(configuration) as api_client: kind="kind_example", name="name_example", ), - data_source_ref=TypedLocalObjectReference( + data_source_ref=TypedObjectReference( api_group="api_group_example", kind="kind_example", name="name_example", + namespace="namespace_example", ), - resources=ResourceRequirements( + resources=VolumeResourceRequirements( limits={ "key": "key_example", }, @@ -32534,6 +34172,7 @@ with argo_workflows.ApiClient(configuration) as api_client: }, ), storage_class_name="storage_class_name_example", + volume_attributes_class_name="volume_attributes_class_name_example", volume_mode="volume_mode_example", volume_name="volume_name_example", ), @@ -32541,6 +34180,9 @@ with argo_workflows.ApiClient(configuration) as api_client: access_modes=[ "access_modes_example", ], + allocated_resource_statuses={ + "key": "key_example", + }, allocated_resources={ "key": "key_example", }, @@ -32554,11 +34196,15 @@ with argo_workflows.ApiClient(configuration) as api_client: message="message_example", reason="reason_example", status="status_example", - type="FileSystemResizePending", + type="type_example", ), ], - phase="Bound", - resize_status="resize_status_example", + current_volume_attributes_class_name="current_volume_attributes_class_name_example", + modify_volume_status=ModifyVolumeStatus( + status="status_example", + target_volume_attributes_class_name="target_volume_attributes_class_name_example", + ), + phase="phase_example", ), ), ], @@ -32654,7 +34300,6 @@ with argo_workflows.ApiClient(configuration) as api_client: annotations={ "key": "key_example", }, - cluster_name="cluster_name_example", creation_timestamp=dateutil_parser('1970-01-01T00:00:00.00Z'), deletion_grace_period_seconds=1, deletion_timestamp=dateutil_parser('1970-01-01T00:00:00.00Z'), @@ -32702,12 +34347,13 @@ with argo_workflows.ApiClient(configuration) as api_client: kind="kind_example", name="name_example", ), - data_source_ref=TypedLocalObjectReference( + data_source_ref=TypedObjectReference( api_group="api_group_example", kind="kind_example", name="name_example", + namespace="namespace_example", ), - resources=ResourceRequirements( + resources=VolumeResourceRequirements( limits={ "key": "key_example", }, @@ -32730,6 +34376,7 @@ with argo_workflows.ApiClient(configuration) as api_client: }, ), storage_class_name="storage_class_name_example", + volume_attributes_class_name="volume_attributes_class_name_example", volume_mode="volume_mode_example", volume_name="volume_name_example", ), @@ -32821,6 +34468,26 @@ with argo_workflows.ApiClient(configuration) as api_client: default_mode=1, sources=[ VolumeProjection( + cluster_trust_bundle=ClusterTrustBundleProjection( + label_selector=LabelSelector( + match_expressions=[ + LabelSelectorRequirement( + key="key_example", + operator="operator_example", + values=[ + "values_example", + ], + ), + ], + match_labels={ + "key": "key_example", + }, + ), + name="name_example", + optional=True, + path="path_example", + signer_name="signer_name_example", + ), config_map=ConfigMapProjection( items=[ KeyToPath( diff --git a/sdks/python/client/docs/EmptyDirVolumeSource.md b/sdks/python/client/docs/EmptyDirVolumeSource.md index 345366e016d5..8d41c9c4600b 100644 --- a/sdks/python/client/docs/EmptyDirVolumeSource.md +++ b/sdks/python/client/docs/EmptyDirVolumeSource.md @@ -5,8 +5,8 @@ Represents an empty directory for a pod. Empty directory volumes support ownersh ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**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] -**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: <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** | **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] +**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: ``` <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] **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/sdks/python/client/docs/EventServiceApi.md b/sdks/python/client/docs/EventServiceApi.md index f013152208e0..e6cd001e299b 100644 --- a/sdks/python/client/docs/EventServiceApi.md +++ b/sdks/python/client/docs/EventServiceApi.md @@ -55,6 +55,7 @@ with argo_workflows.ApiClient(configuration) as api_client: list_options_timeout_seconds = "listOptions.timeoutSeconds_example" # 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 = "listOptions.limit_example" # 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 = "listOptions.continue_example" # 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 = True # 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) # example passing only required values which don't have defaults set try: @@ -66,7 +67,7 @@ with argo_workflows.ApiClient(configuration) as api_client: # example passing only required values which don't have defaults set # and optional values try: - api_response = api_instance.list_workflow_event_bindings(namespace, list_options_label_selector=list_options_label_selector, list_options_field_selector=list_options_field_selector, list_options_watch=list_options_watch, list_options_allow_watch_bookmarks=list_options_allow_watch_bookmarks, list_options_resource_version=list_options_resource_version, list_options_resource_version_match=list_options_resource_version_match, list_options_timeout_seconds=list_options_timeout_seconds, list_options_limit=list_options_limit, list_options_continue=list_options_continue) + api_response = api_instance.list_workflow_event_bindings(namespace, list_options_label_selector=list_options_label_selector, list_options_field_selector=list_options_field_selector, list_options_watch=list_options_watch, list_options_allow_watch_bookmarks=list_options_allow_watch_bookmarks, list_options_resource_version=list_options_resource_version, list_options_resource_version_match=list_options_resource_version_match, list_options_timeout_seconds=list_options_timeout_seconds, list_options_limit=list_options_limit, list_options_continue=list_options_continue, list_options_send_initial_events=list_options_send_initial_events) pprint(api_response) except argo_workflows.ApiException as e: print("Exception when calling EventServiceApi->list_workflow_event_bindings: %s\n" % e) @@ -87,6 +88,7 @@ Name | Type | Description | Notes **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 type diff --git a/sdks/python/client/docs/EventSourceServiceApi.md b/sdks/python/client/docs/EventSourceServiceApi.md index 208e197b29ac..fa522c0d0bb7 100644 --- a/sdks/python/client/docs/EventSourceServiceApi.md +++ b/sdks/python/client/docs/EventSourceServiceApi.md @@ -58,7 +58,6 @@ with argo_workflows.ApiClient(configuration) as api_client: annotations={ "key": "key_example", }, - cluster_name="cluster_name_example", creation_timestamp=dateutil_parser('1970-01-01T00:00:00.00Z'), deletion_grace_period_seconds=1, deletion_timestamp=dateutil_parser('1970-01-01T00:00:00.00Z'), @@ -1256,7 +1255,7 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", node_port=1, port=1, - protocol="SCTP", + protocol="protocol_example", target_port="target_port_example", ), ], @@ -1524,7 +1523,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_expressions=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -1533,7 +1532,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_fields=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -1549,7 +1548,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_expressions=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -1558,7 +1557,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_fields=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -1586,6 +1585,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -1624,6 +1629,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -1663,6 +1674,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -1701,6 +1718,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -1771,7 +1794,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), ], image="image_example", - image_pull_policy="Always", + image_pull_policy="image_pull_policy_example", lifecycle=Lifecycle( post_start=LifecycleHandler( _exec=ExecAction( @@ -1789,7 +1812,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -1812,7 +1838,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -1841,7 +1870,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -1860,7 +1889,7 @@ with argo_workflows.ApiClient(configuration) as api_client: host_ip="host_ip_example", host_port=1, name="name_example", - protocol="SCTP", + protocol="protocol_example", ), ], readiness_probe=Probe( @@ -1884,7 +1913,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -1896,7 +1925,18 @@ with argo_workflows.ApiClient(configuration) as api_client: termination_grace_period_seconds=1, timeout_seconds=1, ), + resize_policy=[ + ContainerResizePolicy( + resource_name="resource_name_example", + restart_policy="restart_policy_example", + ), + ], resources=ResourceRequirements( + claims=[ + ResourceClaim( + name="name_example", + ), + ], limits={ "key": "key_example", }, @@ -1904,8 +1944,13 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + restart_policy="restart_policy_example", security_context=SecurityContext( allow_privilege_escalation=True, + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), capabilities=Capabilities( add=[ "add_example", @@ -1928,7 +1973,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), windows_options=WindowsSecurityContextOptions( gmsa_credential_spec="gmsa_credential_spec_example", @@ -1958,7 +2003,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -1973,7 +2018,7 @@ with argo_workflows.ApiClient(configuration) as api_client: stdin=True, stdin_once=True, termination_message_path="termination_message_path_example", - termination_message_policy="FallbackToLogsOnError", + termination_message_policy="termination_message_policy_example", tty=True, volume_devices=[ VolumeDevice( @@ -1987,6 +2032,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -2012,6 +2058,10 @@ with argo_workflows.ApiClient(configuration) as api_client: priority=1, priority_class_name="priority_class_name_example", security_context=PodSecurityContext( + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), fs_group=1, fs_group_change_policy="fs_group_change_policy_example", run_as_group=1, @@ -2025,7 +2075,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), supplemental_groups=[ 1, @@ -2046,9 +2096,9 @@ with argo_workflows.ApiClient(configuration) as api_client: service_account_name="service_account_name_example", tolerations=[ Toleration( - effect="NoExecute", + effect="effect_example", key="key_example", - operator="Equal", + operator="operator_example", toleration_seconds=1, value="value_example", ), @@ -2145,7 +2195,6 @@ with argo_workflows.ApiClient(configuration) as api_client: annotations={ "key": "key_example", }, - cluster_name="cluster_name_example", creation_timestamp=dateutil_parser('1970-01-01T00:00:00.00Z'), deletion_grace_period_seconds=1, deletion_timestamp=dateutil_parser('1970-01-01T00:00:00.00Z'), @@ -2193,12 +2242,13 @@ with argo_workflows.ApiClient(configuration) as api_client: kind="kind_example", name="name_example", ), - data_source_ref=TypedLocalObjectReference( + data_source_ref=TypedObjectReference( api_group="api_group_example", kind="kind_example", name="name_example", + namespace="namespace_example", ), - resources=ResourceRequirements( + resources=VolumeResourceRequirements( limits={ "key": "key_example", }, @@ -2221,6 +2271,7 @@ with argo_workflows.ApiClient(configuration) as api_client: }, ), storage_class_name="storage_class_name_example", + volume_attributes_class_name="volume_attributes_class_name_example", volume_mode="volume_mode_example", volume_name="volume_name_example", ), @@ -2312,6 +2363,26 @@ with argo_workflows.ApiClient(configuration) as api_client: default_mode=1, sources=[ VolumeProjection( + cluster_trust_bundle=ClusterTrustBundleProjection( + label_selector=LabelSelector( + match_expressions=[ + LabelSelectorRequirement( + key="key_example", + operator="operator_example", + values=[ + "values_example", + ], + ), + ], + match_labels={ + "key": "key_example", + }, + ), + name="name_example", + optional=True, + path="path_example", + signer_name="signer_name_example", + ), config_map=ConfigMapProjection( items=[ KeyToPath( @@ -2559,7 +2630,7 @@ with argo_workflows.ApiClient(configuration) as api_client: delete_options_propagation_policy = "deleteOptions.propagationPolicy_example" # 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 = [ "deleteOptions.dryRun_example", - ] # [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) + ] # [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) # example passing only required values which don't have defaults set try: @@ -2589,7 +2660,7 @@ Name | Type | Description | Notes **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 type @@ -2853,6 +2924,7 @@ with argo_workflows.ApiClient(configuration) as api_client: list_options_timeout_seconds = "listOptions.timeoutSeconds_example" # 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 = "listOptions.limit_example" # 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 = "listOptions.continue_example" # 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 = True # 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) # example passing only required values which don't have defaults set try: @@ -2864,7 +2936,7 @@ with argo_workflows.ApiClient(configuration) as api_client: # example passing only required values which don't have defaults set # and optional values try: - api_response = api_instance.list_event_sources(namespace, list_options_label_selector=list_options_label_selector, list_options_field_selector=list_options_field_selector, list_options_watch=list_options_watch, list_options_allow_watch_bookmarks=list_options_allow_watch_bookmarks, list_options_resource_version=list_options_resource_version, list_options_resource_version_match=list_options_resource_version_match, list_options_timeout_seconds=list_options_timeout_seconds, list_options_limit=list_options_limit, list_options_continue=list_options_continue) + api_response = api_instance.list_event_sources(namespace, list_options_label_selector=list_options_label_selector, list_options_field_selector=list_options_field_selector, list_options_watch=list_options_watch, list_options_allow_watch_bookmarks=list_options_allow_watch_bookmarks, list_options_resource_version=list_options_resource_version, list_options_resource_version_match=list_options_resource_version_match, list_options_timeout_seconds=list_options_timeout_seconds, list_options_limit=list_options_limit, list_options_continue=list_options_continue, list_options_send_initial_events=list_options_send_initial_events) pprint(api_response) except argo_workflows.ApiException as e: print("Exception when calling EventSourceServiceApi->list_event_sources: %s\n" % e) @@ -2885,6 +2957,7 @@ Name | Type | Description | Notes **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 type @@ -2955,7 +3028,6 @@ with argo_workflows.ApiClient(configuration) as api_client: annotations={ "key": "key_example", }, - cluster_name="cluster_name_example", creation_timestamp=dateutil_parser('1970-01-01T00:00:00.00Z'), deletion_grace_period_seconds=1, deletion_timestamp=dateutil_parser('1970-01-01T00:00:00.00Z'), @@ -4153,7 +4225,7 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", node_port=1, port=1, - protocol="SCTP", + protocol="protocol_example", target_port="target_port_example", ), ], @@ -4421,7 +4493,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_expressions=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -4430,7 +4502,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_fields=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -4446,7 +4518,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_expressions=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -4455,7 +4527,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_fields=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -4483,6 +4555,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -4521,6 +4599,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -4560,6 +4644,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -4598,6 +4688,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -4668,7 +4764,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), ], image="image_example", - image_pull_policy="Always", + image_pull_policy="image_pull_policy_example", lifecycle=Lifecycle( post_start=LifecycleHandler( _exec=ExecAction( @@ -4686,7 +4782,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -4709,7 +4808,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -4738,7 +4840,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -4757,7 +4859,7 @@ with argo_workflows.ApiClient(configuration) as api_client: host_ip="host_ip_example", host_port=1, name="name_example", - protocol="SCTP", + protocol="protocol_example", ), ], readiness_probe=Probe( @@ -4781,7 +4883,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -4793,7 +4895,18 @@ with argo_workflows.ApiClient(configuration) as api_client: termination_grace_period_seconds=1, timeout_seconds=1, ), + resize_policy=[ + ContainerResizePolicy( + resource_name="resource_name_example", + restart_policy="restart_policy_example", + ), + ], resources=ResourceRequirements( + claims=[ + ResourceClaim( + name="name_example", + ), + ], limits={ "key": "key_example", }, @@ -4801,8 +4914,13 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + restart_policy="restart_policy_example", security_context=SecurityContext( allow_privilege_escalation=True, + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), capabilities=Capabilities( add=[ "add_example", @@ -4825,7 +4943,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), windows_options=WindowsSecurityContextOptions( gmsa_credential_spec="gmsa_credential_spec_example", @@ -4855,7 +4973,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -4870,7 +4988,7 @@ with argo_workflows.ApiClient(configuration) as api_client: stdin=True, stdin_once=True, termination_message_path="termination_message_path_example", - termination_message_policy="FallbackToLogsOnError", + termination_message_policy="termination_message_policy_example", tty=True, volume_devices=[ VolumeDevice( @@ -4884,6 +5002,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -4909,6 +5028,10 @@ with argo_workflows.ApiClient(configuration) as api_client: priority=1, priority_class_name="priority_class_name_example", security_context=PodSecurityContext( + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), fs_group=1, fs_group_change_policy="fs_group_change_policy_example", run_as_group=1, @@ -4922,7 +5045,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), supplemental_groups=[ 1, @@ -4943,9 +5066,9 @@ with argo_workflows.ApiClient(configuration) as api_client: service_account_name="service_account_name_example", tolerations=[ Toleration( - effect="NoExecute", + effect="effect_example", key="key_example", - operator="Equal", + operator="operator_example", toleration_seconds=1, value="value_example", ), @@ -5042,7 +5165,6 @@ with argo_workflows.ApiClient(configuration) as api_client: annotations={ "key": "key_example", }, - cluster_name="cluster_name_example", creation_timestamp=dateutil_parser('1970-01-01T00:00:00.00Z'), deletion_grace_period_seconds=1, deletion_timestamp=dateutil_parser('1970-01-01T00:00:00.00Z'), @@ -5090,12 +5212,13 @@ with argo_workflows.ApiClient(configuration) as api_client: kind="kind_example", name="name_example", ), - data_source_ref=TypedLocalObjectReference( + data_source_ref=TypedObjectReference( api_group="api_group_example", kind="kind_example", name="name_example", + namespace="namespace_example", ), - resources=ResourceRequirements( + resources=VolumeResourceRequirements( limits={ "key": "key_example", }, @@ -5118,6 +5241,7 @@ with argo_workflows.ApiClient(configuration) as api_client: }, ), storage_class_name="storage_class_name_example", + volume_attributes_class_name="volume_attributes_class_name_example", volume_mode="volume_mode_example", volume_name="volume_name_example", ), @@ -5209,6 +5333,26 @@ with argo_workflows.ApiClient(configuration) as api_client: default_mode=1, sources=[ VolumeProjection( + cluster_trust_bundle=ClusterTrustBundleProjection( + label_selector=LabelSelector( + match_expressions=[ + LabelSelectorRequirement( + key="key_example", + operator="operator_example", + values=[ + "values_example", + ], + ), + ], + match_labels={ + "key": "key_example", + }, + ), + name="name_example", + optional=True, + path="path_example", + signer_name="signer_name_example", + ), config_map=ConfigMapProjection( items=[ KeyToPath( @@ -5460,6 +5604,7 @@ with argo_workflows.ApiClient(configuration) as api_client: list_options_timeout_seconds = "listOptions.timeoutSeconds_example" # 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 = "listOptions.limit_example" # 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 = "listOptions.continue_example" # 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 = True # 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) # example passing only required values which don't have defaults set try: @@ -5471,7 +5616,7 @@ with argo_workflows.ApiClient(configuration) as api_client: # example passing only required values which don't have defaults set # and optional values try: - api_response = api_instance.watch_event_sources(namespace, list_options_label_selector=list_options_label_selector, list_options_field_selector=list_options_field_selector, list_options_watch=list_options_watch, list_options_allow_watch_bookmarks=list_options_allow_watch_bookmarks, list_options_resource_version=list_options_resource_version, list_options_resource_version_match=list_options_resource_version_match, list_options_timeout_seconds=list_options_timeout_seconds, list_options_limit=list_options_limit, list_options_continue=list_options_continue) + api_response = api_instance.watch_event_sources(namespace, list_options_label_selector=list_options_label_selector, list_options_field_selector=list_options_field_selector, list_options_watch=list_options_watch, list_options_allow_watch_bookmarks=list_options_allow_watch_bookmarks, list_options_resource_version=list_options_resource_version, list_options_resource_version_match=list_options_resource_version_match, list_options_timeout_seconds=list_options_timeout_seconds, list_options_limit=list_options_limit, list_options_continue=list_options_continue, list_options_send_initial_events=list_options_send_initial_events) pprint(api_response) except argo_workflows.ApiException as e: print("Exception when calling EventSourceServiceApi->watch_event_sources: %s\n" % e) @@ -5492,6 +5637,7 @@ Name | Type | Description | Notes **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 type diff --git a/sdks/python/client/docs/FCVolumeSource.md b/sdks/python/client/docs/FCVolumeSource.md index 1e43db4e774d..fde52537d8b7 100644 --- a/sdks/python/client/docs/FCVolumeSource.md +++ b/sdks/python/client/docs/FCVolumeSource.md @@ -5,11 +5,11 @@ Represents a Fibre Channel volume. Fibre Channel volumes can only be mounted as ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**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] -**lun** | **int** | Optional: FC target lun number | [optional] -**read_only** | **bool** | Optional: Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts. | [optional] -**target_wwns** | **[str]** | Optional: FC target worldwide names (WWNs) | [optional] -**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] +**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] +**lun** | **int** | lun is Optional: FC target lun number | [optional] +**read_only** | **bool** | readOnly is Optional: Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts. | [optional] +**target_wwns** | **[str]** | targetWWNs is Optional: FC target worldwide names (WWNs) | [optional] +**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] **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/sdks/python/client/docs/FlexVolumeSource.md b/sdks/python/client/docs/FlexVolumeSource.md index 8d4b2213a2dd..a45474644e73 100644 --- a/sdks/python/client/docs/FlexVolumeSource.md +++ b/sdks/python/client/docs/FlexVolumeSource.md @@ -5,10 +5,10 @@ FlexVolume represents a generic volume resource that is provisioned/attached usi ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**driver** | **str** | Driver is the name of the driver to use for this volume. | -**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] -**options** | **{str: (str,)}** | Optional: Extra command options if any. | [optional] -**read_only** | **bool** | Optional: Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts. | [optional] +**driver** | **str** | driver is the name of the driver to use for this volume. | +**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] +**options** | **{str: (str,)}** | options is Optional: this field holds extra command options if any. | [optional] +**read_only** | **bool** | readOnly is Optional: defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts. | [optional] **secret_ref** | [**LocalObjectReference**](LocalObjectReference.md) | | [optional] **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] diff --git a/sdks/python/client/docs/FlockerVolumeSource.md b/sdks/python/client/docs/FlockerVolumeSource.md index 8b8e02f2ab87..16288298390f 100644 --- a/sdks/python/client/docs/FlockerVolumeSource.md +++ b/sdks/python/client/docs/FlockerVolumeSource.md @@ -5,8 +5,8 @@ Represents a Flocker volume mounted by the Flocker agent. One and only one of da ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**dataset_name** | **str** | Name of the dataset stored as metadata -> name on the dataset for Flocker should be considered as deprecated | [optional] -**dataset_uuid** | **str** | UUID of the dataset. This is unique identifier of a Flocker dataset | [optional] +**dataset_name** | **str** | datasetName is Name of the dataset stored as metadata -> name on the dataset for Flocker should be considered as deprecated | [optional] +**dataset_uuid** | **str** | datasetUUID is the UUID of the dataset. This is unique identifier of a Flocker dataset | [optional] **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/sdks/python/client/docs/GCEPersistentDiskVolumeSource.md b/sdks/python/client/docs/GCEPersistentDiskVolumeSource.md index 4799162ea133..74bd68273a6a 100644 --- a/sdks/python/client/docs/GCEPersistentDiskVolumeSource.md +++ b/sdks/python/client/docs/GCEPersistentDiskVolumeSource.md @@ -5,10 +5,10 @@ Represents a Persistent Disk resource in Google Compute Engine. A GCE PD must e ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**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 | -**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] -**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] -**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] +**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 | +**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] +**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] +**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] **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/sdks/python/client/docs/GitRepoVolumeSource.md b/sdks/python/client/docs/GitRepoVolumeSource.md index 4574d2b428d2..31d98a2fc993 100644 --- a/sdks/python/client/docs/GitRepoVolumeSource.md +++ b/sdks/python/client/docs/GitRepoVolumeSource.md @@ -5,9 +5,9 @@ Represents a volume that is populated with the contents of a git repository. Git ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**repository** | **str** | Repository URL | -**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] -**revision** | **str** | Commit hash for the specified revision. | [optional] +**repository** | **str** | repository is the URL | +**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] +**revision** | **str** | revision is the commit hash for the specified revision. | [optional] **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/sdks/python/client/docs/GlusterfsVolumeSource.md b/sdks/python/client/docs/GlusterfsVolumeSource.md index 6b41f3f47039..a6c0801f32e9 100644 --- a/sdks/python/client/docs/GlusterfsVolumeSource.md +++ b/sdks/python/client/docs/GlusterfsVolumeSource.md @@ -5,9 +5,9 @@ Represents a Glusterfs mount that lasts the lifetime of a pod. Glusterfs volumes ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**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 | -**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] +**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 | +**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] **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/sdks/python/client/docs/HTTPGetAction.md b/sdks/python/client/docs/HTTPGetAction.md index cbf0219232f2..2de001c3c28c 100644 --- a/sdks/python/client/docs/HTTPGetAction.md +++ b/sdks/python/client/docs/HTTPGetAction.md @@ -9,7 +9,7 @@ Name | Type | Description | Notes **host** | **str** | Host name to connect to, defaults to the pod IP. You probably want to set \"Host\" in httpHeaders instead. | [optional] **http_headers** | [**[HTTPHeader]**](HTTPHeader.md) | Custom headers to set in the request. HTTP allows repeated headers. | [optional] **path** | **str** | Path to access on the HTTP server. | [optional] -**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] +**scheme** | **str** | Scheme to use for connecting to the host. Defaults to HTTP. | [optional] **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/sdks/python/client/docs/HTTPHeader.md b/sdks/python/client/docs/HTTPHeader.md index c25100fd0554..22ccb659e508 100644 --- a/sdks/python/client/docs/HTTPHeader.md +++ b/sdks/python/client/docs/HTTPHeader.md @@ -5,7 +5,7 @@ HTTPHeader describes a custom header to be used in HTTP probes ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**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 | **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] diff --git a/sdks/python/client/docs/HostAlias.md b/sdks/python/client/docs/HostAlias.md index 9cf5e9ea7c87..551f1f16e944 100644 --- a/sdks/python/client/docs/HostAlias.md +++ b/sdks/python/client/docs/HostAlias.md @@ -5,8 +5,8 @@ HostAlias holds the mapping between IP and hostnames that will be injected as an ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- +**ip** | **str** | IP address of the host file entry. | **hostnames** | **[str]** | Hostnames for the above IP address. | [optional] -**ip** | **str** | IP address of the host file entry. | [optional] **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/sdks/python/client/docs/HostPathVolumeSource.md b/sdks/python/client/docs/HostPathVolumeSource.md index faf829cccfd7..6abd25a8ecf3 100644 --- a/sdks/python/client/docs/HostPathVolumeSource.md +++ b/sdks/python/client/docs/HostPathVolumeSource.md @@ -5,8 +5,8 @@ Represents a host path mapped into a pod. Host path volumes do not support owner ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**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 | -**type** | **str** | Type for HostPath Volume Defaults to \"\" More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath | [optional] +**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 | +**type** | **str** | type for HostPath Volume Defaults to \"\" More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath | [optional] **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/sdks/python/client/docs/ISCSIVolumeSource.md b/sdks/python/client/docs/ISCSIVolumeSource.md index a3102c67c3d4..5d13c1d38ae1 100644 --- a/sdks/python/client/docs/ISCSIVolumeSource.md +++ b/sdks/python/client/docs/ISCSIVolumeSource.md @@ -5,16 +5,16 @@ Represents an ISCSI disk. ISCSI volumes can only be mounted as read/write once. ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**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). | -**chap_auth_discovery** | **bool** | whether support iSCSI Discovery CHAP authentication | [optional] -**chap_auth_session** | **bool** | whether support iSCSI Session CHAP authentication | [optional] -**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] -**initiator_name** | **str** | 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] -**iscsi_interface** | **str** | iSCSI Interface Name that uses an iSCSI transport. Defaults to 'default' (tcp). | [optional] -**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] -**read_only** | **bool** | ReadOnly here will force the ReadOnly setting in VolumeMounts. Defaults to false. | [optional] +**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). | +**chap_auth_discovery** | **bool** | chapAuthDiscovery defines whether support iSCSI Discovery CHAP authentication | [optional] +**chap_auth_session** | **bool** | chapAuthSession defines whether support iSCSI Session CHAP authentication | [optional] +**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] +**initiator_name** | **str** | 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] +**iscsi_interface** | **str** | iscsiInterface is the interface Name that uses an iSCSI transport. Defaults to 'default' (tcp). | [optional] +**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] +**read_only** | **bool** | readOnly here will force the ReadOnly setting in VolumeMounts. Defaults to false. | [optional] **secret_ref** | [**LocalObjectReference**](LocalObjectReference.md) | | [optional] **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] diff --git a/sdks/python/client/docs/IoArgoprojWorkflowV1alpha1ContainerNode.md b/sdks/python/client/docs/IoArgoprojWorkflowV1alpha1ContainerNode.md index 133c91613716..a2c2250cf623 100644 --- a/sdks/python/client/docs/IoArgoprojWorkflowV1alpha1ContainerNode.md +++ b/sdks/python/client/docs/IoArgoprojWorkflowV1alpha1ContainerNode.md @@ -16,7 +16,9 @@ Name | Type | Description | Notes **liveness_probe** | [**Probe**](Probe.md) | | [optional] **ports** | [**[ContainerPort]**](ContainerPort.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] **readiness_probe** | [**Probe**](Probe.md) | | [optional] +**resize_policy** | [**[ContainerResizePolicy]**](ContainerResizePolicy.md) | Resources resize policy for the container. | [optional] **resources** | [**ResourceRequirements**](ResourceRequirements.md) | | [optional] +**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] **security_context** | [**SecurityContext**](SecurityContext.md) | | [optional] **startup_probe** | [**Probe**](Probe.md) | | [optional] **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] diff --git a/sdks/python/client/docs/IoArgoprojWorkflowV1alpha1CronWorkflowSpec.md b/sdks/python/client/docs/IoArgoprojWorkflowV1alpha1CronWorkflowSpec.md index 9dae8f1a564c..bdbc1ca10c44 100644 --- a/sdks/python/client/docs/IoArgoprojWorkflowV1alpha1CronWorkflowSpec.md +++ b/sdks/python/client/docs/IoArgoprojWorkflowV1alpha1CronWorkflowSpec.md @@ -5,16 +5,17 @@ CronWorkflowSpec is the specification of a CronWorkflow ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**schedule** | **str** | Schedule is a schedule to run the Workflow in Cron format | **workflow_spec** | [**IoArgoprojWorkflowV1alpha1WorkflowSpec**](IoArgoprojWorkflowV1alpha1WorkflowSpec.md) | | **concurrency_policy** | **str** | ConcurrencyPolicy is the K8s-style concurrency policy that will be used | [optional] **failed_jobs_history_limit** | **int** | FailedJobsHistoryLimit is the number of failed jobs to be kept at a time | [optional] -**schedules** | **[str]** | Schedules is a list of schedules to run the Workflow in Cron format | [optional] +**schedule** | **str** | Schedule is a schedule to run the Workflow in Cron format. Deprecated, use Schedules | [optional] +**schedules** | **[str]** | v3.6 and after: Schedules is a list of schedules to run the Workflow in Cron format | [optional] **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] **stop_strategy** | [**IoArgoprojWorkflowV1alpha1StopStrategy**](IoArgoprojWorkflowV1alpha1StopStrategy.md) | | [optional] **successful_jobs_history_limit** | **int** | SuccessfulJobsHistoryLimit is the number of successful jobs to be kept at a time | [optional] **suspend** | **bool** | Suspend is a flag that will stop new CronWorkflows from running if set to true | [optional] **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] +**when** | **str** | v3.6 and after: When is an expression that determines if a run should be scheduled. | [optional] **workflow_metadata** | [**ObjectMeta**](ObjectMeta.md) | | [optional] **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] diff --git a/sdks/python/client/docs/IoArgoprojWorkflowV1alpha1GitArtifact.md b/sdks/python/client/docs/IoArgoprojWorkflowV1alpha1GitArtifact.md index b2c81b02c31a..1b6de18b4818 100644 --- a/sdks/python/client/docs/IoArgoprojWorkflowV1alpha1GitArtifact.md +++ b/sdks/python/client/docs/IoArgoprojWorkflowV1alpha1GitArtifact.md @@ -11,6 +11,7 @@ Name | Type | Description | Notes **disable_submodules** | **bool** | DisableSubmodules disables submodules during git clone | [optional] **fetch** | **[str]** | Fetch specifies a number of refs that should be fetched before checkout | [optional] **insecure_ignore_host_key** | **bool** | InsecureIgnoreHostKey disables SSH strict host key checking during git clone | [optional] +**insecure_skip_tls** | **bool** | InsecureSkipTLS disables server certificate verification resulting in insecure HTTPS connections | [optional] **password_secret** | [**SecretKeySelector**](SecretKeySelector.md) | | [optional] **revision** | **str** | Revision is the git commit, tag, branch to checkout | [optional] **single_branch** | **bool** | SingleBranch enables single branch clone, using the `branch` parameter | [optional] diff --git a/sdks/python/client/docs/IoArgoprojWorkflowV1alpha1S3Artifact.md b/sdks/python/client/docs/IoArgoprojWorkflowV1alpha1S3Artifact.md index ef36d6a0acb0..ca6bb8fcc0a8 100644 --- a/sdks/python/client/docs/IoArgoprojWorkflowV1alpha1S3Artifact.md +++ b/sdks/python/client/docs/IoArgoprojWorkflowV1alpha1S3Artifact.md @@ -16,6 +16,7 @@ Name | Type | Description | Notes **region** | **str** | Region contains the optional bucket region | [optional] **role_arn** | **str** | RoleARN is the Amazon Resource Name (ARN) of the role to assume. | [optional] **secret_key_secret** | [**SecretKeySelector**](SecretKeySelector.md) | | [optional] +**session_token_secret** | [**SecretKeySelector**](SecretKeySelector.md) | | [optional] **use_sdk_creds** | **bool** | UseSDKCreds tells the driver to figure out credentials based on sdk defaults. | [optional] **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] diff --git a/sdks/python/client/docs/IoArgoprojWorkflowV1alpha1S3ArtifactRepository.md b/sdks/python/client/docs/IoArgoprojWorkflowV1alpha1S3ArtifactRepository.md index 1e46072155e5..70425c310d4d 100644 --- a/sdks/python/client/docs/IoArgoprojWorkflowV1alpha1S3ArtifactRepository.md +++ b/sdks/python/client/docs/IoArgoprojWorkflowV1alpha1S3ArtifactRepository.md @@ -17,6 +17,7 @@ Name | Type | Description | Notes **region** | **str** | Region contains the optional bucket region | [optional] **role_arn** | **str** | RoleARN is the Amazon Resource Name (ARN) of the role to assume. | [optional] **secret_key_secret** | [**SecretKeySelector**](SecretKeySelector.md) | | [optional] +**session_token_secret** | [**SecretKeySelector**](SecretKeySelector.md) | | [optional] **use_sdk_creds** | **bool** | UseSDKCreds tells the driver to figure out credentials based on sdk defaults. | [optional] **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] diff --git a/sdks/python/client/docs/IoArgoprojWorkflowV1alpha1ScriptTemplate.md b/sdks/python/client/docs/IoArgoprojWorkflowV1alpha1ScriptTemplate.md index 9a96612ef976..a9e516e35ae0 100644 --- a/sdks/python/client/docs/IoArgoprojWorkflowV1alpha1ScriptTemplate.md +++ b/sdks/python/client/docs/IoArgoprojWorkflowV1alpha1ScriptTemplate.md @@ -17,7 +17,9 @@ Name | Type | Description | Notes **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] **ports** | [**[ContainerPort]**](ContainerPort.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] **readiness_probe** | [**Probe**](Probe.md) | | [optional] +**resize_policy** | [**[ContainerResizePolicy]**](ContainerResizePolicy.md) | Resources resize policy for the container. | [optional] **resources** | [**ResourceRequirements**](ResourceRequirements.md) | | [optional] +**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] **security_context** | [**SecurityContext**](SecurityContext.md) | | [optional] **startup_probe** | [**Probe**](Probe.md) | | [optional] **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] diff --git a/sdks/python/client/docs/IoArgoprojWorkflowV1alpha1StopStrategy.md b/sdks/python/client/docs/IoArgoprojWorkflowV1alpha1StopStrategy.md index 035cce4f5b22..5c3dc4777114 100644 --- a/sdks/python/client/docs/IoArgoprojWorkflowV1alpha1StopStrategy.md +++ b/sdks/python/client/docs/IoArgoprojWorkflowV1alpha1StopStrategy.md @@ -1,11 +1,11 @@ # 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** | **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. | **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/sdks/python/client/docs/IoArgoprojWorkflowV1alpha1Synchronization.md b/sdks/python/client/docs/IoArgoprojWorkflowV1alpha1Synchronization.md index fc8ba3f2e9c5..c53c3e24cf2b 100644 --- a/sdks/python/client/docs/IoArgoprojWorkflowV1alpha1Synchronization.md +++ b/sdks/python/client/docs/IoArgoprojWorkflowV1alpha1Synchronization.md @@ -6,7 +6,9 @@ Synchronization holds synchronization lock configuration Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **mutex** | [**IoArgoprojWorkflowV1alpha1Mutex**](IoArgoprojWorkflowV1alpha1Mutex.md) | | [optional] +**mutexes** | [**[IoArgoprojWorkflowV1alpha1Mutex]**](IoArgoprojWorkflowV1alpha1Mutex.md) | v3.6 and after: Mutexes holds the list of Mutex lock details | [optional] **semaphore** | [**IoArgoprojWorkflowV1alpha1SemaphoreRef**](IoArgoprojWorkflowV1alpha1SemaphoreRef.md) | | [optional] +**semaphores** | [**[IoArgoprojWorkflowV1alpha1SemaphoreRef]**](IoArgoprojWorkflowV1alpha1SemaphoreRef.md) | v3.6 and after: Semaphores holds the list of Semaphores configuration | [optional] **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/sdks/python/client/docs/IoArgoprojWorkflowV1alpha1UserContainer.md b/sdks/python/client/docs/IoArgoprojWorkflowV1alpha1UserContainer.md index 2b2147e7329b..f6f2e05860ce 100644 --- a/sdks/python/client/docs/IoArgoprojWorkflowV1alpha1UserContainer.md +++ b/sdks/python/client/docs/IoArgoprojWorkflowV1alpha1UserContainer.md @@ -17,7 +17,9 @@ Name | Type | Description | Notes **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] **ports** | [**[ContainerPort]**](ContainerPort.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] **readiness_probe** | [**Probe**](Probe.md) | | [optional] +**resize_policy** | [**[ContainerResizePolicy]**](ContainerResizePolicy.md) | Resources resize policy for the container. | [optional] **resources** | [**ResourceRequirements**](ResourceRequirements.md) | | [optional] +**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] **security_context** | [**SecurityContext**](SecurityContext.md) | | [optional] **startup_probe** | [**Probe**](Probe.md) | | [optional] **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] diff --git a/sdks/python/client/docs/IoK8sApiPolicyV1PodDisruptionBudgetSpec.md b/sdks/python/client/docs/IoK8sApiPolicyV1PodDisruptionBudgetSpec.md index 07dbace72e08..447516847841 100644 --- a/sdks/python/client/docs/IoK8sApiPolicyV1PodDisruptionBudgetSpec.md +++ b/sdks/python/client/docs/IoK8sApiPolicyV1PodDisruptionBudgetSpec.md @@ -8,6 +8,7 @@ Name | Type | Description | Notes **max_unavailable** | **str** | | [optional] **min_available** | **str** | | [optional] **selector** | [**LabelSelector**](LabelSelector.md) | | [optional] +**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] **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/sdks/python/client/docs/KeyToPath.md b/sdks/python/client/docs/KeyToPath.md index 1e57cc00ab57..5102f82ccbea 100644 --- a/sdks/python/client/docs/KeyToPath.md +++ b/sdks/python/client/docs/KeyToPath.md @@ -5,9 +5,9 @@ Maps a string key to a path within a volume. ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**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 '..'. | -**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] +**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 '..'. | +**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] **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/sdks/python/client/docs/LifecycleHandler.md b/sdks/python/client/docs/LifecycleHandler.md index daf29a37d0cb..ce21c68c82c0 100644 --- a/sdks/python/client/docs/LifecycleHandler.md +++ b/sdks/python/client/docs/LifecycleHandler.md @@ -7,6 +7,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **_exec** | [**ExecAction**](ExecAction.md) | | [optional] **http_get** | [**HTTPGetAction**](HTTPGetAction.md) | | [optional] +**sleep** | [**SleepAction**](SleepAction.md) | | [optional] **tcp_socket** | [**TCPSocketAction**](TCPSocketAction.md) | | [optional] **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] diff --git a/sdks/python/client/docs/ListMeta.md b/sdks/python/client/docs/ListMeta.md index 6c7357a98e72..82a4d103cffc 100644 --- a/sdks/python/client/docs/ListMeta.md +++ b/sdks/python/client/docs/ListMeta.md @@ -8,7 +8,7 @@ Name | Type | Description | Notes **_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] **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] **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] -**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] +**self_link** | **str** | Deprecated: selfLink is a legacy read-only field that is no longer populated by the system. | [optional] **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/sdks/python/client/docs/LocalObjectReference.md b/sdks/python/client/docs/LocalObjectReference.md index 4f8ae7b13df5..c0116230c451 100644 --- a/sdks/python/client/docs/LocalObjectReference.md +++ b/sdks/python/client/docs/LocalObjectReference.md @@ -5,7 +5,7 @@ LocalObjectReference contains enough information to let you locate the reference ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**name** | **str** | Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names | [optional] +**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] **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/sdks/python/client/docs/ModifyVolumeStatus.md b/sdks/python/client/docs/ModifyVolumeStatus.md new file mode 100644 index 000000000000..e4112b67b8a5 --- /dev/null +++ b/sdks/python/client/docs/ModifyVolumeStatus.md @@ -0,0 +1,14 @@ +# ModifyVolumeStatus + +ModifyVolumeStatus represents the status object of ControllerModifyVolume operation + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**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. | +**target_volume_attributes_class_name** | **str** | targetVolumeAttributesClassName is the name of the VolumeAttributesClass the PVC currently being reconciled | [optional] +**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/sdks/python/client/docs/NFSVolumeSource.md b/sdks/python/client/docs/NFSVolumeSource.md index a514712bef47..aaad8b2f8927 100644 --- a/sdks/python/client/docs/NFSVolumeSource.md +++ b/sdks/python/client/docs/NFSVolumeSource.md @@ -5,9 +5,9 @@ Represents an NFS mount that lasts the lifetime of a pod. NFS volumes do not sup ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**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 | -**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] +**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 | +**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] **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/sdks/python/client/docs/NodeSelectorRequirement.md b/sdks/python/client/docs/NodeSelectorRequirement.md index 7cc72f18cb0a..41665799704a 100644 --- a/sdks/python/client/docs/NodeSelectorRequirement.md +++ b/sdks/python/client/docs/NodeSelectorRequirement.md @@ -6,7 +6,7 @@ A node selector requirement is a selector that contains values, a key, and an op Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **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. | **values** | **[str]** | 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] **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] diff --git a/sdks/python/client/docs/ObjectMeta.md b/sdks/python/client/docs/ObjectMeta.md index bd09367bbde5..0c646e77f7e1 100644 --- a/sdks/python/client/docs/ObjectMeta.md +++ b/sdks/python/client/docs/ObjectMeta.md @@ -5,22 +5,21 @@ ObjectMeta is metadata that all persisted resources must have, which includes al ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**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] -**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] +**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] **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] **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] **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] **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] -**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] +**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] **generation** | **int** | A sequence number representing a specific generation of the desired state. Populated by the system. Read-only. | [optional] -**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] +**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] **managed_fields** | [**[ManagedFieldsEntry]**](ManagedFieldsEntry.md) | 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] -**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] -**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] +**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] +**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] **owner_references** | [**[OwnerReference]**](OwnerReference.md) | 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] **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] -**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] -**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] +**self_link** | **str** | Deprecated: selfLink is a legacy read-only field that is no longer populated by the system. | [optional] +**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] **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/sdks/python/client/docs/OwnerReference.md b/sdks/python/client/docs/OwnerReference.md index aadfce620221..499372b286b2 100644 --- a/sdks/python/client/docs/OwnerReference.md +++ b/sdks/python/client/docs/OwnerReference.md @@ -7,9 +7,9 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **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 | -**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] +**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 | +**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] **controller** | **bool** | If true, this reference points to the managing controller. | [optional] **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] diff --git a/sdks/python/client/docs/PersistentVolumeClaimCondition.md b/sdks/python/client/docs/PersistentVolumeClaimCondition.md index d84cc228076f..feeed8a9f3ec 100644 --- a/sdks/python/client/docs/PersistentVolumeClaimCondition.md +++ b/sdks/python/client/docs/PersistentVolumeClaimCondition.md @@ -1,16 +1,16 @@ # PersistentVolumeClaimCondition -PersistentVolumeClaimCondition contails details about state of pvc +PersistentVolumeClaimCondition contains details about state of pvc ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **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** | | **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] **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] -**message** | **str** | Human-readable message indicating details about last transition. | [optional] -**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] +**message** | **str** | message is the human-readable message indicating details about last transition. | [optional] +**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] **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/sdks/python/client/docs/PersistentVolumeClaimSpec.md b/sdks/python/client/docs/PersistentVolumeClaimSpec.md index 0ca7bb137164..12318842b292 100644 --- a/sdks/python/client/docs/PersistentVolumeClaimSpec.md +++ b/sdks/python/client/docs/PersistentVolumeClaimSpec.md @@ -5,14 +5,15 @@ PersistentVolumeClaimSpec describes the common attributes of storage devices and ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**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] +**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] **data_source** | [**TypedLocalObjectReference**](TypedLocalObjectReference.md) | | [optional] -**data_source_ref** | [**TypedLocalObjectReference**](TypedLocalObjectReference.md) | | [optional] -**resources** | [**ResourceRequirements**](ResourceRequirements.md) | | [optional] +**data_source_ref** | [**TypedObjectReference**](TypedObjectReference.md) | | [optional] +**resources** | [**VolumeResourceRequirements**](VolumeResourceRequirements.md) | | [optional] **selector** | [**LabelSelector**](LabelSelector.md) | | [optional] -**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] +**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] +**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] **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] -**volume_name** | **str** | VolumeName is the binding reference to the PersistentVolume backing this claim. | [optional] +**volume_name** | **str** | volumeName is the binding reference to the PersistentVolume backing this claim. | [optional] **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/sdks/python/client/docs/PersistentVolumeClaimStatus.md b/sdks/python/client/docs/PersistentVolumeClaimStatus.md index 97d0a474e36d..f88c6ddb88e8 100644 --- a/sdks/python/client/docs/PersistentVolumeClaimStatus.md +++ b/sdks/python/client/docs/PersistentVolumeClaimStatus.md @@ -5,12 +5,14 @@ PersistentVolumeClaimStatus is the current status of a persistent volume claim. ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**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] -**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] -**capacity** | **{str: (str,)}** | Represents the actual resources of the underlying volume. | [optional] -**conditions** | [**[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** | **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] -**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] +**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] +**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] +**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] +**capacity** | **{str: (str,)}** | capacity represents the actual resources of the underlying volume. | [optional] +**conditions** | [**[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] +**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] +**modify_volume_status** | [**ModifyVolumeStatus**](ModifyVolumeStatus.md) | | [optional] +**phase** | **str** | phase represents the current phase of PersistentVolumeClaim. | [optional] **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/sdks/python/client/docs/PersistentVolumeClaimVolumeSource.md b/sdks/python/client/docs/PersistentVolumeClaimVolumeSource.md index 566ced71f884..53a522ed42bc 100644 --- a/sdks/python/client/docs/PersistentVolumeClaimVolumeSource.md +++ b/sdks/python/client/docs/PersistentVolumeClaimVolumeSource.md @@ -5,8 +5,8 @@ PersistentVolumeClaimVolumeSource references the user's PVC in the same namespac ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**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 | -**read_only** | **bool** | Will force the ReadOnly setting in VolumeMounts. Default false. | [optional] +**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 | +**read_only** | **bool** | readOnly Will force the ReadOnly setting in VolumeMounts. Default false. | [optional] **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/sdks/python/client/docs/PhotonPersistentDiskVolumeSource.md b/sdks/python/client/docs/PhotonPersistentDiskVolumeSource.md index 4456bd8e1941..c1791f648ce7 100644 --- a/sdks/python/client/docs/PhotonPersistentDiskVolumeSource.md +++ b/sdks/python/client/docs/PhotonPersistentDiskVolumeSource.md @@ -5,8 +5,8 @@ Represents a Photon Controller persistent disk resource. ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**pd_id** | **str** | ID that identifies Photon Controller persistent disk | -**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] +**pd_id** | **str** | pdID is the ID that identifies Photon Controller persistent disk | +**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] **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/sdks/python/client/docs/PodAffinityTerm.md b/sdks/python/client/docs/PodAffinityTerm.md index e4aa102f641b..71f0c6ecb309 100644 --- a/sdks/python/client/docs/PodAffinityTerm.md +++ b/sdks/python/client/docs/PodAffinityTerm.md @@ -7,8 +7,10 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **topology_key** | **str** | 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. | **label_selector** | [**LabelSelector**](LabelSelector.md) | | [optional] +**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] +**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] **namespace_selector** | [**LabelSelector**](LabelSelector.md) | | [optional] -**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] +**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] **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/sdks/python/client/docs/PodSecurityContext.md b/sdks/python/client/docs/PodSecurityContext.md index e146150529a2..ec2eef1e604c 100644 --- a/sdks/python/client/docs/PodSecurityContext.md +++ b/sdks/python/client/docs/PodSecurityContext.md @@ -5,6 +5,7 @@ PodSecurityContext holds pod-level security attributes and common container sett ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- +**app_armor_profile** | [**AppArmorProfile**](AppArmorProfile.md) | | [optional] **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] **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] **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] @@ -12,7 +13,7 @@ Name | Type | Description | Notes **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] **se_linux_options** | [**SELinuxOptions**](SELinuxOptions.md) | | [optional] **seccomp_profile** | [**SeccompProfile**](SeccompProfile.md) | | [optional] -**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] +**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] **sysctls** | [**[Sysctl]**](Sysctl.md) | 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] **windows_options** | [**WindowsSecurityContextOptions**](WindowsSecurityContextOptions.md) | | [optional] **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] diff --git a/sdks/python/client/docs/PortworxVolumeSource.md b/sdks/python/client/docs/PortworxVolumeSource.md index c5beb6abac1f..3d4c6931f2b1 100644 --- a/sdks/python/client/docs/PortworxVolumeSource.md +++ b/sdks/python/client/docs/PortworxVolumeSource.md @@ -5,9 +5,9 @@ PortworxVolumeSource represents a Portworx volume resource. ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**volume_id** | **str** | VolumeID uniquely identifies a Portworx volume | -**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] -**read_only** | **bool** | Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts. | [optional] +**volume_id** | **str** | volumeID uniquely identifies a Portworx volume | +**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] +**read_only** | **bool** | readOnly defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts. | [optional] **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/sdks/python/client/docs/ProjectedVolumeSource.md b/sdks/python/client/docs/ProjectedVolumeSource.md index ef201cb06090..885e63456b66 100644 --- a/sdks/python/client/docs/ProjectedVolumeSource.md +++ b/sdks/python/client/docs/ProjectedVolumeSource.md @@ -5,8 +5,8 @@ Represents a projected volume source ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**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] -**sources** | [**[VolumeProjection]**](VolumeProjection.md) | list of volume projections | [optional] +**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] +**sources** | [**[VolumeProjection]**](VolumeProjection.md) | sources is the list of volume projections | [optional] **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/sdks/python/client/docs/QuobyteVolumeSource.md b/sdks/python/client/docs/QuobyteVolumeSource.md index f5d3ddc6d667..4f04a49ca1c7 100644 --- a/sdks/python/client/docs/QuobyteVolumeSource.md +++ b/sdks/python/client/docs/QuobyteVolumeSource.md @@ -5,12 +5,12 @@ Represents a Quobyte mount that lasts the lifetime of a pod. Quobyte volumes do ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**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. | -**group** | **str** | Group to map volume access to Default is no group | [optional] -**read_only** | **bool** | ReadOnly here will force the Quobyte volume to be mounted with read-only permissions. Defaults to false. | [optional] -**tenant** | **str** | Tenant owning the given Quobyte volume in the Backend Used with dynamically provisioned Quobyte volumes, value is set by the plugin | [optional] -**user** | **str** | User to map volume access to Defaults to serivceaccount user | [optional] +**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. | +**group** | **str** | group to map volume access to Default is no group | [optional] +**read_only** | **bool** | readOnly here will force the Quobyte volume to be mounted with read-only permissions. Defaults to false. | [optional] +**tenant** | **str** | tenant owning the given Quobyte volume in the Backend Used with dynamically provisioned Quobyte volumes, value is set by the plugin | [optional] +**user** | **str** | user to map volume access to Defaults to serivceaccount user | [optional] **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/sdks/python/client/docs/RBDVolumeSource.md b/sdks/python/client/docs/RBDVolumeSource.md index 64324677561b..38149dd5bb7a 100644 --- a/sdks/python/client/docs/RBDVolumeSource.md +++ b/sdks/python/client/docs/RBDVolumeSource.md @@ -5,14 +5,14 @@ Represents a Rados Block Device mount that lasts the lifetime of a pod. RBD volu ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**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 | -**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] -**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] -**pool** | **str** | The rados pool name. Default is rbd. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it | [optional] -**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] +**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 | +**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] +**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] +**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] +**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] **secret_ref** | [**LocalObjectReference**](LocalObjectReference.md) | | [optional] -**user** | **str** | The rados user name. Default is admin. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it | [optional] +**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] **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/sdks/python/client/docs/ResourceClaim.md b/sdks/python/client/docs/ResourceClaim.md new file mode 100644 index 000000000000..6bc50fcf05db --- /dev/null +++ b/sdks/python/client/docs/ResourceClaim.md @@ -0,0 +1,13 @@ +# ResourceClaim + +ResourceClaim references one entry in PodSpec.ResourceClaims. + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**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. | +**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/sdks/python/client/docs/ResourceFieldSelector.md b/sdks/python/client/docs/ResourceFieldSelector.md index 306a7e20ead3..2e6015d0c870 100644 --- a/sdks/python/client/docs/ResourceFieldSelector.md +++ b/sdks/python/client/docs/ResourceFieldSelector.md @@ -7,7 +7,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **resource** | **str** | Required: resource to select | **container_name** | **str** | Container name: required for volumes, optional for env vars | [optional] -**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: <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** | **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: ``` <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] **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/sdks/python/client/docs/ResourceRequirements.md b/sdks/python/client/docs/ResourceRequirements.md index 6fcd52166776..4c0399c740db 100644 --- a/sdks/python/client/docs/ResourceRequirements.md +++ b/sdks/python/client/docs/ResourceRequirements.md @@ -5,8 +5,9 @@ ResourceRequirements describes the compute resource requirements. ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- +**claims** | [**[ResourceClaim]**](ResourceClaim.md) | 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. | [optional] **limits** | **{str: (str,)}** | Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ | [optional] -**requests** | **{str: (str,)}** | 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/ | [optional] +**requests** | **{str: (str,)}** | 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] **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/sdks/python/client/docs/ScaleIOVolumeSource.md b/sdks/python/client/docs/ScaleIOVolumeSource.md index cacc9eee7bcd..f3b8fe1ce052 100644 --- a/sdks/python/client/docs/ScaleIOVolumeSource.md +++ b/sdks/python/client/docs/ScaleIOVolumeSource.md @@ -5,16 +5,16 @@ ScaleIOVolumeSource represents a persistent ScaleIO volume ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**gateway** | **str** | The host address of the ScaleIO API Gateway. | +**gateway** | **str** | gateway is the host address of the ScaleIO API Gateway. | **secret_ref** | [**LocalObjectReference**](LocalObjectReference.md) | | -**system** | **str** | The name of the storage system as configured in ScaleIO. | -**fs_type** | **str** | Filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. \"ext4\", \"xfs\", \"ntfs\". Default is \"xfs\". | [optional] -**protection_domain** | **str** | The name of the ScaleIO Protection Domain for the configured storage. | [optional] -**read_only** | **bool** | Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts. | [optional] -**ssl_enabled** | **bool** | Flag to enable/disable SSL communication with Gateway, default false | [optional] -**storage_mode** | **str** | Indicates whether the storage for a volume should be ThickProvisioned or ThinProvisioned. Default is ThinProvisioned. | [optional] -**storage_pool** | **str** | The ScaleIO Storage Pool associated with the protection domain. | [optional] -**volume_name** | **str** | The name of a volume already created in the ScaleIO system that is associated with this volume source. | [optional] +**system** | **str** | system is the name of the storage system as configured in ScaleIO. | +**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\". Default is \"xfs\". | [optional] +**protection_domain** | **str** | protectionDomain is the name of the ScaleIO Protection Domain for the configured storage. | [optional] +**read_only** | **bool** | readOnly Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts. | [optional] +**ssl_enabled** | **bool** | sslEnabled Flag enable/disable SSL communication with Gateway, default false | [optional] +**storage_mode** | **str** | storageMode indicates whether the storage for a volume should be ThickProvisioned or ThinProvisioned. Default is ThinProvisioned. | [optional] +**storage_pool** | **str** | storagePool is the ScaleIO Storage Pool associated with the protection domain. | [optional] +**volume_name** | **str** | volumeName is the name of a volume already created in the ScaleIO system that is associated with this volume source. | [optional] **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/sdks/python/client/docs/SeccompProfile.md b/sdks/python/client/docs/SeccompProfile.md index 3855ebb15e6e..d23ca57c8c34 100644 --- a/sdks/python/client/docs/SeccompProfile.md +++ b/sdks/python/client/docs/SeccompProfile.md @@ -5,8 +5,8 @@ SeccompProfile defines a pod/container's seccomp profile settings. Only one prof ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**type** | **str** | 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). | -**localhost_profile** | **str** | 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** | **str** | 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. | +**localhost_profile** | **str** | 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] **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/sdks/python/client/docs/SecretEnvSource.md b/sdks/python/client/docs/SecretEnvSource.md index 8a463ccfa374..8ce727447c80 100644 --- a/sdks/python/client/docs/SecretEnvSource.md +++ b/sdks/python/client/docs/SecretEnvSource.md @@ -5,7 +5,7 @@ SecretEnvSource selects a Secret to populate the environment variables with. Th ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**name** | **str** | Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names | [optional] +**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] **optional** | **bool** | Specify whether the Secret must be defined | [optional] **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] diff --git a/sdks/python/client/docs/SecretKeySelector.md b/sdks/python/client/docs/SecretKeySelector.md index 6a754141450d..238016b7ffdf 100644 --- a/sdks/python/client/docs/SecretKeySelector.md +++ b/sdks/python/client/docs/SecretKeySelector.md @@ -6,7 +6,7 @@ SecretKeySelector selects a key of a Secret. Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **key** | **str** | The key of the secret to select from. Must be a valid secret key. | -**name** | **str** | Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names | [optional] +**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] **optional** | **bool** | Specify whether the Secret or its key must be defined | [optional] **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] diff --git a/sdks/python/client/docs/SecretProjection.md b/sdks/python/client/docs/SecretProjection.md index f9a2d1bc3e89..7b0347fd538f 100644 --- a/sdks/python/client/docs/SecretProjection.md +++ b/sdks/python/client/docs/SecretProjection.md @@ -5,9 +5,9 @@ Adapts a secret into a projected volume. The contents of the target Secret's Da ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**items** | [**[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** | **str** | Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names | [optional] -**optional** | **bool** | Specify whether the Secret or its key must be defined | [optional] +**items** | [**[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** | **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] +**optional** | **bool** | optional field specify whether the Secret or its key must be defined | [optional] **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/sdks/python/client/docs/SecretVolumeSource.md b/sdks/python/client/docs/SecretVolumeSource.md index ce9194bba8b0..c252cabd1345 100644 --- a/sdks/python/client/docs/SecretVolumeSource.md +++ b/sdks/python/client/docs/SecretVolumeSource.md @@ -5,10 +5,10 @@ Adapts a Secret into a volume. The contents of the target Secret's Data field w ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**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] -**items** | [**[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** | **bool** | Specify whether the Secret or its keys must be defined | [optional] -**secret_name** | **str** | Name of the secret in the pod's namespace to use. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret | [optional] +**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] +**items** | [**[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** | **bool** | optional field specify whether the Secret or its keys must be defined | [optional] +**secret_name** | **str** | 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] **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/sdks/python/client/docs/SecurityContext.md b/sdks/python/client/docs/SecurityContext.md index 7d1963f9e98e..2fbe87da9e26 100644 --- a/sdks/python/client/docs/SecurityContext.md +++ b/sdks/python/client/docs/SecurityContext.md @@ -6,6 +6,7 @@ SecurityContext holds security configuration that will be applied to a container Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **allow_privilege_escalation** | **bool** | 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. | [optional] +**app_armor_profile** | [**AppArmorProfile**](AppArmorProfile.md) | | [optional] **capabilities** | [**Capabilities**](Capabilities.md) | | [optional] **privileged** | **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] **proc_mount** | **str** | 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. | [optional] diff --git a/sdks/python/client/docs/SensorServiceApi.md b/sdks/python/client/docs/SensorServiceApi.md index e24fbcbda071..069c99c5f3b4 100644 --- a/sdks/python/client/docs/SensorServiceApi.md +++ b/sdks/python/client/docs/SensorServiceApi.md @@ -66,7 +66,6 @@ with argo_workflows.ApiClient(configuration) as api_client: annotations={ "key": "key_example", }, - cluster_name="cluster_name_example", creation_timestamp=dateutil_parser('1970-01-01T00:00:00.00Z'), deletion_grace_period_seconds=1, deletion_timestamp=dateutil_parser('1970-01-01T00:00:00.00Z'), @@ -174,7 +173,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_expressions=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -183,7 +182,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_fields=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -199,7 +198,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_expressions=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -208,7 +207,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_fields=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -236,6 +235,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -274,6 +279,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -313,6 +324,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -351,6 +368,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -421,7 +444,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), ], image="image_example", - image_pull_policy="Always", + image_pull_policy="image_pull_policy_example", lifecycle=Lifecycle( post_start=LifecycleHandler( _exec=ExecAction( @@ -439,7 +462,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -462,7 +488,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -491,7 +520,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -510,7 +539,7 @@ with argo_workflows.ApiClient(configuration) as api_client: host_ip="host_ip_example", host_port=1, name="name_example", - protocol="SCTP", + protocol="protocol_example", ), ], readiness_probe=Probe( @@ -534,7 +563,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -546,7 +575,18 @@ with argo_workflows.ApiClient(configuration) as api_client: termination_grace_period_seconds=1, timeout_seconds=1, ), + resize_policy=[ + ContainerResizePolicy( + resource_name="resource_name_example", + restart_policy="restart_policy_example", + ), + ], resources=ResourceRequirements( + claims=[ + ResourceClaim( + name="name_example", + ), + ], limits={ "key": "key_example", }, @@ -554,8 +594,13 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + restart_policy="restart_policy_example", security_context=SecurityContext( allow_privilege_escalation=True, + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), capabilities=Capabilities( add=[ "add_example", @@ -578,7 +623,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), windows_options=WindowsSecurityContextOptions( gmsa_credential_spec="gmsa_credential_spec_example", @@ -608,7 +653,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -623,7 +668,7 @@ with argo_workflows.ApiClient(configuration) as api_client: stdin=True, stdin_once=True, termination_message_path="termination_message_path_example", - termination_message_policy="FallbackToLogsOnError", + termination_message_policy="termination_message_policy_example", tty=True, volume_devices=[ VolumeDevice( @@ -637,6 +682,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -662,6 +708,10 @@ with argo_workflows.ApiClient(configuration) as api_client: priority=1, priority_class_name="priority_class_name_example", security_context=PodSecurityContext( + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), fs_group=1, fs_group_change_policy="fs_group_change_policy_example", run_as_group=1, @@ -675,7 +725,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), supplemental_groups=[ 1, @@ -696,9 +746,9 @@ with argo_workflows.ApiClient(configuration) as api_client: service_account_name="service_account_name_example", tolerations=[ Toleration( - effect="NoExecute", + effect="effect_example", key="key_example", - operator="Equal", + operator="operator_example", toleration_seconds=1, value="value_example", ), @@ -795,7 +845,6 @@ with argo_workflows.ApiClient(configuration) as api_client: annotations={ "key": "key_example", }, - cluster_name="cluster_name_example", creation_timestamp=dateutil_parser('1970-01-01T00:00:00.00Z'), deletion_grace_period_seconds=1, deletion_timestamp=dateutil_parser('1970-01-01T00:00:00.00Z'), @@ -843,12 +892,13 @@ with argo_workflows.ApiClient(configuration) as api_client: kind="kind_example", name="name_example", ), - data_source_ref=TypedLocalObjectReference( + data_source_ref=TypedObjectReference( api_group="api_group_example", kind="kind_example", name="name_example", + namespace="namespace_example", ), - resources=ResourceRequirements( + resources=VolumeResourceRequirements( limits={ "key": "key_example", }, @@ -871,6 +921,7 @@ with argo_workflows.ApiClient(configuration) as api_client: }, ), storage_class_name="storage_class_name_example", + volume_attributes_class_name="volume_attributes_class_name_example", volume_mode="volume_mode_example", volume_name="volume_name_example", ), @@ -962,6 +1013,26 @@ with argo_workflows.ApiClient(configuration) as api_client: default_mode=1, sources=[ VolumeProjection( + cluster_trust_bundle=ClusterTrustBundleProjection( + label_selector=LabelSelector( + match_expressions=[ + LabelSelectorRequirement( + key="key_example", + operator="operator_example", + values=[ + "values_example", + ], + ), + ], + match_labels={ + "key": "key_example", + }, + ), + name="name_example", + optional=True, + path="path_example", + signer_name="signer_name_example", + ), config_map=ConfigMapProjection( items=[ KeyToPath( @@ -2072,7 +2143,7 @@ with argo_workflows.ApiClient(configuration) as api_client: delete_options_propagation_policy = "deleteOptions.propagationPolicy_example" # 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 = [ "deleteOptions.dryRun_example", - ] # [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) + ] # [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) # example passing only required values which don't have defaults set try: @@ -2102,7 +2173,7 @@ Name | Type | Description | Notes **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 type @@ -2263,6 +2334,7 @@ with argo_workflows.ApiClient(configuration) as api_client: list_options_timeout_seconds = "listOptions.timeoutSeconds_example" # 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 = "listOptions.limit_example" # 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 = "listOptions.continue_example" # 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 = True # 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) # example passing only required values which don't have defaults set try: @@ -2274,7 +2346,7 @@ with argo_workflows.ApiClient(configuration) as api_client: # example passing only required values which don't have defaults set # and optional values try: - api_response = api_instance.list_sensors(namespace, list_options_label_selector=list_options_label_selector, list_options_field_selector=list_options_field_selector, list_options_watch=list_options_watch, list_options_allow_watch_bookmarks=list_options_allow_watch_bookmarks, list_options_resource_version=list_options_resource_version, list_options_resource_version_match=list_options_resource_version_match, list_options_timeout_seconds=list_options_timeout_seconds, list_options_limit=list_options_limit, list_options_continue=list_options_continue) + api_response = api_instance.list_sensors(namespace, list_options_label_selector=list_options_label_selector, list_options_field_selector=list_options_field_selector, list_options_watch=list_options_watch, list_options_allow_watch_bookmarks=list_options_allow_watch_bookmarks, list_options_resource_version=list_options_resource_version, list_options_resource_version_match=list_options_resource_version_match, list_options_timeout_seconds=list_options_timeout_seconds, list_options_limit=list_options_limit, list_options_continue=list_options_continue, list_options_send_initial_events=list_options_send_initial_events) pprint(api_response) except argo_workflows.ApiException as e: print("Exception when calling SensorServiceApi->list_sensors: %s\n" % e) @@ -2295,6 +2367,7 @@ Name | Type | Description | Notes **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 type @@ -2478,7 +2551,6 @@ with argo_workflows.ApiClient(configuration) as api_client: annotations={ "key": "key_example", }, - cluster_name="cluster_name_example", creation_timestamp=dateutil_parser('1970-01-01T00:00:00.00Z'), deletion_grace_period_seconds=1, deletion_timestamp=dateutil_parser('1970-01-01T00:00:00.00Z'), @@ -2586,7 +2658,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_expressions=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -2595,7 +2667,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_fields=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -2611,7 +2683,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_expressions=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -2620,7 +2692,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_fields=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -2648,6 +2720,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -2686,6 +2764,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -2725,6 +2809,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -2763,6 +2853,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -2833,7 +2929,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), ], image="image_example", - image_pull_policy="Always", + image_pull_policy="image_pull_policy_example", lifecycle=Lifecycle( post_start=LifecycleHandler( _exec=ExecAction( @@ -2851,7 +2947,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -2874,7 +2973,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -2903,7 +3005,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -2922,7 +3024,7 @@ with argo_workflows.ApiClient(configuration) as api_client: host_ip="host_ip_example", host_port=1, name="name_example", - protocol="SCTP", + protocol="protocol_example", ), ], readiness_probe=Probe( @@ -2946,7 +3048,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -2958,7 +3060,18 @@ with argo_workflows.ApiClient(configuration) as api_client: termination_grace_period_seconds=1, timeout_seconds=1, ), + resize_policy=[ + ContainerResizePolicy( + resource_name="resource_name_example", + restart_policy="restart_policy_example", + ), + ], resources=ResourceRequirements( + claims=[ + ResourceClaim( + name="name_example", + ), + ], limits={ "key": "key_example", }, @@ -2966,8 +3079,13 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + restart_policy="restart_policy_example", security_context=SecurityContext( allow_privilege_escalation=True, + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), capabilities=Capabilities( add=[ "add_example", @@ -2990,7 +3108,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), windows_options=WindowsSecurityContextOptions( gmsa_credential_spec="gmsa_credential_spec_example", @@ -3020,7 +3138,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -3035,7 +3153,7 @@ with argo_workflows.ApiClient(configuration) as api_client: stdin=True, stdin_once=True, termination_message_path="termination_message_path_example", - termination_message_policy="FallbackToLogsOnError", + termination_message_policy="termination_message_policy_example", tty=True, volume_devices=[ VolumeDevice( @@ -3049,6 +3167,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -3074,6 +3193,10 @@ with argo_workflows.ApiClient(configuration) as api_client: priority=1, priority_class_name="priority_class_name_example", security_context=PodSecurityContext( + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), fs_group=1, fs_group_change_policy="fs_group_change_policy_example", run_as_group=1, @@ -3087,7 +3210,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), supplemental_groups=[ 1, @@ -3108,9 +3231,9 @@ with argo_workflows.ApiClient(configuration) as api_client: service_account_name="service_account_name_example", tolerations=[ Toleration( - effect="NoExecute", + effect="effect_example", key="key_example", - operator="Equal", + operator="operator_example", toleration_seconds=1, value="value_example", ), @@ -3207,7 +3330,6 @@ with argo_workflows.ApiClient(configuration) as api_client: annotations={ "key": "key_example", }, - cluster_name="cluster_name_example", creation_timestamp=dateutil_parser('1970-01-01T00:00:00.00Z'), deletion_grace_period_seconds=1, deletion_timestamp=dateutil_parser('1970-01-01T00:00:00.00Z'), @@ -3255,12 +3377,13 @@ with argo_workflows.ApiClient(configuration) as api_client: kind="kind_example", name="name_example", ), - data_source_ref=TypedLocalObjectReference( + data_source_ref=TypedObjectReference( api_group="api_group_example", kind="kind_example", name="name_example", + namespace="namespace_example", ), - resources=ResourceRequirements( + resources=VolumeResourceRequirements( limits={ "key": "key_example", }, @@ -3283,6 +3406,7 @@ with argo_workflows.ApiClient(configuration) as api_client: }, ), storage_class_name="storage_class_name_example", + volume_attributes_class_name="volume_attributes_class_name_example", volume_mode="volume_mode_example", volume_name="volume_name_example", ), @@ -3374,6 +3498,26 @@ with argo_workflows.ApiClient(configuration) as api_client: default_mode=1, sources=[ VolumeProjection( + cluster_trust_bundle=ClusterTrustBundleProjection( + label_selector=LabelSelector( + match_expressions=[ + LabelSelectorRequirement( + key="key_example", + operator="operator_example", + values=[ + "values_example", + ], + ), + ], + match_labels={ + "key": "key_example", + }, + ), + name="name_example", + optional=True, + path="path_example", + signer_name="signer_name_example", + ), config_map=ConfigMapProjection( items=[ KeyToPath( @@ -4487,6 +4631,7 @@ with argo_workflows.ApiClient(configuration) as api_client: list_options_timeout_seconds = "listOptions.timeoutSeconds_example" # 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 = "listOptions.limit_example" # 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 = "listOptions.continue_example" # 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 = True # 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) # example passing only required values which don't have defaults set try: @@ -4498,7 +4643,7 @@ with argo_workflows.ApiClient(configuration) as api_client: # example passing only required values which don't have defaults set # and optional values try: - api_response = api_instance.watch_sensors(namespace, list_options_label_selector=list_options_label_selector, list_options_field_selector=list_options_field_selector, list_options_watch=list_options_watch, list_options_allow_watch_bookmarks=list_options_allow_watch_bookmarks, list_options_resource_version=list_options_resource_version, list_options_resource_version_match=list_options_resource_version_match, list_options_timeout_seconds=list_options_timeout_seconds, list_options_limit=list_options_limit, list_options_continue=list_options_continue) + api_response = api_instance.watch_sensors(namespace, list_options_label_selector=list_options_label_selector, list_options_field_selector=list_options_field_selector, list_options_watch=list_options_watch, list_options_allow_watch_bookmarks=list_options_allow_watch_bookmarks, list_options_resource_version=list_options_resource_version, list_options_resource_version_match=list_options_resource_version_match, list_options_timeout_seconds=list_options_timeout_seconds, list_options_limit=list_options_limit, list_options_continue=list_options_continue, list_options_send_initial_events=list_options_send_initial_events) pprint(api_response) except argo_workflows.ApiException as e: print("Exception when calling SensorServiceApi->watch_sensors: %s\n" % e) @@ -4519,6 +4664,7 @@ Name | Type | Description | Notes **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 type diff --git a/sdks/python/client/docs/ServiceAccountTokenProjection.md b/sdks/python/client/docs/ServiceAccountTokenProjection.md index 8a5f503094f8..f683c3c84df4 100644 --- a/sdks/python/client/docs/ServiceAccountTokenProjection.md +++ b/sdks/python/client/docs/ServiceAccountTokenProjection.md @@ -5,9 +5,9 @@ ServiceAccountTokenProjection represents a projected service account token volum ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**path** | **str** | Path is the path relative to the mount point of the file to project the token into. | -**audience** | **str** | 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] -**expiration_seconds** | **int** | 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** | **str** | path is the path relative to the mount point of the file to project the token into. | +**audience** | **str** | 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] +**expiration_seconds** | **int** | 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] **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/sdks/python/client/docs/ServicePort.md b/sdks/python/client/docs/ServicePort.md index 77b79f348915..747d2e54a9b6 100644 --- a/sdks/python/client/docs/ServicePort.md +++ b/sdks/python/client/docs/ServicePort.md @@ -6,10 +6,10 @@ ServicePort contains information on service's port. Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **port** | **int** | The port that will be exposed by this service. | -**app_protocol** | **str** | 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] +**app_protocol** | **str** | 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** | **str** | 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] **node_port** | **int** | 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] -**protocol** | **str** | 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** | **str** | The IP protocol for this port. Supports \"TCP\", \"UDP\", and \"SCTP\". Default is TCP. | [optional] **target_port** | **str** | | [optional] **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] diff --git a/sdks/python/client/docs/SleepAction.md b/sdks/python/client/docs/SleepAction.md new file mode 100644 index 000000000000..e6a987ca6b5e --- /dev/null +++ b/sdks/python/client/docs/SleepAction.md @@ -0,0 +1,13 @@ +# SleepAction + +SleepAction describes a \"sleep\" action. + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**seconds** | **int** | Seconds is the number of seconds to sleep. | +**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/sdks/python/client/docs/StorageOSVolumeSource.md b/sdks/python/client/docs/StorageOSVolumeSource.md index 25fb14c26ee3..79543efb6618 100644 --- a/sdks/python/client/docs/StorageOSVolumeSource.md +++ b/sdks/python/client/docs/StorageOSVolumeSource.md @@ -5,11 +5,11 @@ Represents a StorageOS persistent volume resource. ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**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] -**read_only** | **bool** | Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts. | [optional] +**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] +**read_only** | **bool** | readOnly defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts. | [optional] **secret_ref** | [**LocalObjectReference**](LocalObjectReference.md) | | [optional] -**volume_name** | **str** | VolumeName is the human-readable name of the StorageOS volume. Volume names are only unique within a namespace. | [optional] -**volume_namespace** | **str** | 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] +**volume_name** | **str** | volumeName is the human-readable name of the StorageOS volume. Volume names are only unique within a namespace. | [optional] +**volume_namespace** | **str** | 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] **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/sdks/python/client/docs/Toleration.md b/sdks/python/client/docs/Toleration.md index 2bf08a389930..bbb52ed553ae 100644 --- a/sdks/python/client/docs/Toleration.md +++ b/sdks/python/client/docs/Toleration.md @@ -5,9 +5,9 @@ The pod this Toleration is attached to tolerates any taint that matches the trip ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**effect** | **str** | 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. | [optional] +**effect** | **str** | Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute. | [optional] **key** | **str** | 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. | [optional] -**operator** | **str** | 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\"` | [optional] +**operator** | **str** | 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. | [optional] **toleration_seconds** | **int** | 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. | [optional] **value** | **str** | Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string. | [optional] **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] diff --git a/sdks/python/client/docs/TypedObjectReference.md b/sdks/python/client/docs/TypedObjectReference.md new file mode 100644 index 000000000000..c6c53950ad30 --- /dev/null +++ b/sdks/python/client/docs/TypedObjectReference.md @@ -0,0 +1,15 @@ +# TypedObjectReference + + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**kind** | **str** | Kind is the type of resource being referenced | +**name** | **str** | Name is the name of resource being referenced | +**api_group** | **str** | 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] +**namespace** | **str** | 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] +**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/sdks/python/client/docs/Volume.md b/sdks/python/client/docs/Volume.md index 476da1a7629b..e2e0e30b6cbb 100644 --- a/sdks/python/client/docs/Volume.md +++ b/sdks/python/client/docs/Volume.md @@ -5,7 +5,7 @@ Volume represents a named volume in a pod that may be accessed by any container ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**name** | **str** | 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 | +**name** | **str** | 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 | **aws_elastic_block_store** | [**AWSElasticBlockStoreVolumeSource**](AWSElasticBlockStoreVolumeSource.md) | | [optional] **azure_disk** | [**AzureDiskVolumeSource**](AzureDiskVolumeSource.md) | | [optional] **azure_file** | [**AzureFileVolumeSource**](AzureFileVolumeSource.md) | | [optional] diff --git a/sdks/python/client/docs/VolumeMount.md b/sdks/python/client/docs/VolumeMount.md index 5c547a6068b9..0fed82857e98 100644 --- a/sdks/python/client/docs/VolumeMount.md +++ b/sdks/python/client/docs/VolumeMount.md @@ -7,8 +7,9 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **mount_path** | **str** | Path within the container at which the volume should be mounted. Must not contain ':'. | **name** | **str** | This must match the Name of a Volume. | -**mount_propagation** | **str** | 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. | [optional] +**mount_propagation** | **str** | 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). | [optional] **read_only** | **bool** | Mounted read-only if true, read-write otherwise (false or unspecified). Defaults to false. | [optional] +**recursive_read_only** | **str** | 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. | [optional] **sub_path** | **str** | Path within the volume from which the container's volume should be mounted. Defaults to \"\" (volume's root). | [optional] **sub_path_expr** | **str** | 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] **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] diff --git a/sdks/python/client/docs/VolumeProjection.md b/sdks/python/client/docs/VolumeProjection.md index b09537446477..e88c1e4d8082 100644 --- a/sdks/python/client/docs/VolumeProjection.md +++ b/sdks/python/client/docs/VolumeProjection.md @@ -5,6 +5,7 @@ Projection that may be projected along with other supported volume types ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- +**cluster_trust_bundle** | [**ClusterTrustBundleProjection**](ClusterTrustBundleProjection.md) | | [optional] **config_map** | [**ConfigMapProjection**](ConfigMapProjection.md) | | [optional] **downward_api** | [**DownwardAPIProjection**](DownwardAPIProjection.md) | | [optional] **secret** | [**SecretProjection**](SecretProjection.md) | | [optional] diff --git a/sdks/python/client/docs/VolumeResourceRequirements.md b/sdks/python/client/docs/VolumeResourceRequirements.md new file mode 100644 index 000000000000..06c95fd71447 --- /dev/null +++ b/sdks/python/client/docs/VolumeResourceRequirements.md @@ -0,0 +1,14 @@ +# VolumeResourceRequirements + +VolumeResourceRequirements describes the storage resource requirements for a volume. + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**limits** | **{str: (str,)}** | Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ | [optional] +**requests** | **{str: (str,)}** | 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] +**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/sdks/python/client/docs/VsphereVirtualDiskVolumeSource.md b/sdks/python/client/docs/VsphereVirtualDiskVolumeSource.md index 90e3495d723b..29f4523e3f42 100644 --- a/sdks/python/client/docs/VsphereVirtualDiskVolumeSource.md +++ b/sdks/python/client/docs/VsphereVirtualDiskVolumeSource.md @@ -5,10 +5,10 @@ Represents a vSphere volume resource. ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**volume_path** | **str** | Path that identifies vSphere volume vmdk | -**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] -**storage_policy_id** | **str** | Storage Policy Based Management (SPBM) profile ID associated with the StoragePolicyName. | [optional] -**storage_policy_name** | **str** | Storage Policy Based Management (SPBM) profile name. | [optional] +**volume_path** | **str** | volumePath is the path that identifies vSphere volume vmdk | +**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] +**storage_policy_id** | **str** | storagePolicyID is the storage Policy Based Management (SPBM) profile ID associated with the StoragePolicyName. | [optional] +**storage_policy_name** | **str** | storagePolicyName is the storage Policy Based Management (SPBM) profile name. | [optional] **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/sdks/python/client/docs/WindowsSecurityContextOptions.md b/sdks/python/client/docs/WindowsSecurityContextOptions.md index 12399ae91004..38bc4156ceda 100644 --- a/sdks/python/client/docs/WindowsSecurityContextOptions.md +++ b/sdks/python/client/docs/WindowsSecurityContextOptions.md @@ -7,7 +7,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **gmsa_credential_spec** | **str** | 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] **gmsa_credential_spec_name** | **str** | GMSACredentialSpecName is the name of the GMSA credential spec to use. | [optional] -**host_process** | **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 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] +**host_process** | **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] **run_as_user_name** | **str** | 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] **any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] diff --git a/sdks/python/client/docs/WorkflowServiceApi.md b/sdks/python/client/docs/WorkflowServiceApi.md index a868d3a7f7a9..5065bd3ce070 100644 --- a/sdks/python/client/docs/WorkflowServiceApi.md +++ b/sdks/python/client/docs/WorkflowServiceApi.md @@ -80,7 +80,6 @@ with argo_workflows.ApiClient(configuration) as api_client: annotations={ "key": "key_example", }, - cluster_name="cluster_name_example", creation_timestamp=dateutil_parser('1970-01-01T00:00:00.00Z'), deletion_grace_period_seconds=1, deletion_timestamp=dateutil_parser('1970-01-01T00:00:00.00Z'), @@ -129,7 +128,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_expressions=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -138,7 +137,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_fields=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -154,7 +153,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_expressions=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -163,7 +162,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_fields=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -191,6 +190,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -229,6 +234,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -268,6 +279,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -306,6 +323,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -396,6 +419,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -569,6 +593,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -709,6 +738,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -882,6 +912,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -989,6 +1024,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + unhealthy_pod_eviction_policy="unhealthy_pod_eviction_policy_example", ), pod_gc=IoArgoprojWorkflowV1alpha1PodGC( delete_delay_duration="delete_delay_duration_example", @@ -1035,6 +1071,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ), scheduler_name="scheduler_name_example", security_context=PodSecurityContext( + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), fs_group=1, fs_group_change_policy="fs_group_change_policy_example", run_as_group=1, @@ -1048,7 +1088,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), supplemental_groups=[ 1, @@ -1074,6 +1114,12 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", namespace="namespace_example", ), + mutexes=[ + IoArgoprojWorkflowV1alpha1Mutex( + name="name_example", + namespace="namespace_example", + ), + ], semaphore=IoArgoprojWorkflowV1alpha1SemaphoreRef( config_map_key_ref=ConfigMapKeySelector( key="key_example", @@ -1082,6 +1128,16 @@ with argo_workflows.ApiClient(configuration) as api_client: ), namespace="namespace_example", ), + semaphores=[ + IoArgoprojWorkflowV1alpha1SemaphoreRef( + config_map_key_ref=ConfigMapKeySelector( + key="key_example", + name="name_example", + optional=True, + ), + namespace="namespace_example", + ), + ], ), template_defaults=IoArgoprojWorkflowV1alpha1Template( active_deadline_seconds="active_deadline_seconds_example", @@ -1093,7 +1149,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_expressions=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -1102,7 +1158,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_fields=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -1118,7 +1174,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_expressions=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -1127,7 +1183,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_fields=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -1155,6 +1211,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -1193,6 +1255,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -1232,6 +1300,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -1270,6 +1344,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -1335,6 +1415,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -1502,6 +1583,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), ), @@ -1554,7 +1640,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), ], image="image_example", - image_pull_policy="Always", + image_pull_policy="image_pull_policy_example", lifecycle=Lifecycle( post_start=LifecycleHandler( _exec=ExecAction( @@ -1572,7 +1658,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -1595,7 +1684,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -1624,7 +1716,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -1643,7 +1735,7 @@ with argo_workflows.ApiClient(configuration) as api_client: host_ip="host_ip_example", host_port=1, name="name_example", - protocol="SCTP", + protocol="protocol_example", ), ], readiness_probe=Probe( @@ -1667,7 +1759,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -1679,7 +1771,18 @@ with argo_workflows.ApiClient(configuration) as api_client: termination_grace_period_seconds=1, timeout_seconds=1, ), + resize_policy=[ + ContainerResizePolicy( + resource_name="resource_name_example", + restart_policy="restart_policy_example", + ), + ], resources=ResourceRequirements( + claims=[ + ResourceClaim( + name="name_example", + ), + ], limits={ "key": "key_example", }, @@ -1687,8 +1790,13 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + restart_policy="restart_policy_example", security_context=SecurityContext( allow_privilege_escalation=True, + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), capabilities=Capabilities( add=[ "add_example", @@ -1711,7 +1819,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), windows_options=WindowsSecurityContextOptions( gmsa_credential_spec="gmsa_credential_spec_example", @@ -1741,7 +1849,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -1756,7 +1864,7 @@ with argo_workflows.ApiClient(configuration) as api_client: stdin=True, stdin_once=True, termination_message_path="termination_message_path_example", - termination_message_policy="FallbackToLogsOnError", + termination_message_policy="termination_message_policy_example", tty=True, volume_devices=[ VolumeDevice( @@ -1770,6 +1878,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -1847,7 +1956,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -1870,7 +1982,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -1899,7 +2014,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -1918,7 +2033,7 @@ with argo_workflows.ApiClient(configuration) as api_client: host_ip="host_ip_example", host_port=1, name="name_example", - protocol="SCTP", + protocol="protocol_example", ), ], readiness_probe=Probe( @@ -1942,7 +2057,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -1954,7 +2069,18 @@ with argo_workflows.ApiClient(configuration) as api_client: termination_grace_period_seconds=1, timeout_seconds=1, ), + resize_policy=[ + ContainerResizePolicy( + resource_name="resource_name_example", + restart_policy="restart_policy_example", + ), + ], resources=ResourceRequirements( + claims=[ + ResourceClaim( + name="name_example", + ), + ], limits={ "key": "key_example", }, @@ -1962,8 +2088,13 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + restart_policy="restart_policy_example", security_context=SecurityContext( allow_privilege_escalation=True, + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), capabilities=Capabilities( add=[ "add_example", @@ -1986,7 +2117,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), windows_options=WindowsSecurityContextOptions( gmsa_credential_spec="gmsa_credential_spec_example", @@ -2016,7 +2147,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -2045,6 +2176,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -2062,6 +2194,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -2140,6 +2273,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -2313,6 +2447,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -2423,6 +2562,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -2596,6 +2736,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -2728,6 +2873,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -2901,6 +3047,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -3015,7 +3166,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -3038,7 +3192,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -3067,7 +3224,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -3087,7 +3244,7 @@ with argo_workflows.ApiClient(configuration) as api_client: host_ip="host_ip_example", host_port=1, name="name_example", - protocol="SCTP", + protocol="protocol_example", ), ], readiness_probe=Probe( @@ -3111,7 +3268,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -3123,7 +3280,18 @@ with argo_workflows.ApiClient(configuration) as api_client: termination_grace_period_seconds=1, timeout_seconds=1, ), + resize_policy=[ + ContainerResizePolicy( + resource_name="resource_name_example", + restart_policy="restart_policy_example", + ), + ], resources=ResourceRequirements( + claims=[ + ResourceClaim( + name="name_example", + ), + ], limits={ "key": "key_example", }, @@ -3131,8 +3299,13 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + restart_policy="restart_policy_example", security_context=SecurityContext( allow_privilege_escalation=True, + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), capabilities=Capabilities( add=[ "add_example", @@ -3155,7 +3328,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), windows_options=WindowsSecurityContextOptions( gmsa_credential_spec="gmsa_credential_spec_example", @@ -3185,7 +3358,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -3214,6 +3387,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -3288,6 +3462,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -3461,6 +3636,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -3613,6 +3793,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -3786,6 +3967,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -3899,6 +4085,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -4072,6 +4259,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -4161,7 +4353,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -4184,7 +4379,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -4213,7 +4411,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -4232,7 +4430,7 @@ with argo_workflows.ApiClient(configuration) as api_client: host_ip="host_ip_example", host_port=1, name="name_example", - protocol="SCTP", + protocol="protocol_example", ), ], readiness_probe=Probe( @@ -4256,7 +4454,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -4268,7 +4466,18 @@ with argo_workflows.ApiClient(configuration) as api_client: termination_grace_period_seconds=1, timeout_seconds=1, ), + resize_policy=[ + ContainerResizePolicy( + resource_name="resource_name_example", + restart_policy="restart_policy_example", + ), + ], resources=ResourceRequirements( + claims=[ + ResourceClaim( + name="name_example", + ), + ], limits={ "key": "key_example", }, @@ -4276,8 +4485,13 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + restart_policy="restart_policy_example", security_context=SecurityContext( allow_privilege_escalation=True, + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), capabilities=Capabilities( add=[ "add_example", @@ -4300,7 +4514,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), windows_options=WindowsSecurityContextOptions( gmsa_credential_spec="gmsa_credential_spec_example", @@ -4331,7 +4545,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -4360,6 +4574,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -4367,6 +4582,10 @@ with argo_workflows.ApiClient(configuration) as api_client: working_dir="working_dir_example", ), security_context=PodSecurityContext( + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), fs_group=1, fs_group_change_policy="fs_group_change_policy_example", run_as_group=1, @@ -4380,7 +4599,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), supplemental_groups=[ 1, @@ -4466,7 +4685,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -4489,7 +4711,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -4518,7 +4743,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -4538,7 +4763,7 @@ with argo_workflows.ApiClient(configuration) as api_client: host_ip="host_ip_example", host_port=1, name="name_example", - protocol="SCTP", + protocol="protocol_example", ), ], readiness_probe=Probe( @@ -4562,7 +4787,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -4574,7 +4799,18 @@ with argo_workflows.ApiClient(configuration) as api_client: termination_grace_period_seconds=1, timeout_seconds=1, ), + resize_policy=[ + ContainerResizePolicy( + resource_name="resource_name_example", + restart_policy="restart_policy_example", + ), + ], resources=ResourceRequirements( + claims=[ + ResourceClaim( + name="name_example", + ), + ], limits={ "key": "key_example", }, @@ -4582,8 +4818,13 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + restart_policy="restart_policy_example", security_context=SecurityContext( allow_privilege_escalation=True, + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), capabilities=Capabilities( add=[ "add_example", @@ -4606,7 +4847,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), windows_options=WindowsSecurityContextOptions( gmsa_credential_spec="gmsa_credential_spec_example", @@ -4636,7 +4877,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -4665,6 +4906,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -4742,6 +4984,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -4915,6 +5158,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -5021,6 +5269,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -5194,6 +5443,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -5267,6 +5521,12 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", namespace="namespace_example", ), + mutexes=[ + IoArgoprojWorkflowV1alpha1Mutex( + name="name_example", + namespace="namespace_example", + ), + ], semaphore=IoArgoprojWorkflowV1alpha1SemaphoreRef( config_map_key_ref=ConfigMapKeySelector( key="key_example", @@ -5275,13 +5535,23 @@ with argo_workflows.ApiClient(configuration) as api_client: ), namespace="namespace_example", ), + semaphores=[ + IoArgoprojWorkflowV1alpha1SemaphoreRef( + config_map_key_ref=ConfigMapKeySelector( + key="key_example", + name="name_example", + optional=True, + ), + namespace="namespace_example", + ), + ], ), timeout="timeout_example", tolerations=[ Toleration( - effect="NoExecute", + effect="effect_example", key="key_example", - operator="Equal", + operator="operator_example", toleration_seconds=1, value="value_example", ), @@ -5378,7 +5648,6 @@ with argo_workflows.ApiClient(configuration) as api_client: annotations={ "key": "key_example", }, - cluster_name="cluster_name_example", creation_timestamp=dateutil_parser('1970-01-01T00:00:00.00Z'), deletion_grace_period_seconds=1, deletion_timestamp=dateutil_parser('1970-01-01T00:00:00.00Z'), @@ -5426,12 +5695,13 @@ with argo_workflows.ApiClient(configuration) as api_client: kind="kind_example", name="name_example", ), - data_source_ref=TypedLocalObjectReference( + data_source_ref=TypedObjectReference( api_group="api_group_example", kind="kind_example", name="name_example", + namespace="namespace_example", ), - resources=ResourceRequirements( + resources=VolumeResourceRequirements( limits={ "key": "key_example", }, @@ -5454,6 +5724,7 @@ with argo_workflows.ApiClient(configuration) as api_client: }, ), storage_class_name="storage_class_name_example", + volume_attributes_class_name="volume_attributes_class_name_example", volume_mode="volume_mode_example", volume_name="volume_name_example", ), @@ -5545,6 +5816,26 @@ with argo_workflows.ApiClient(configuration) as api_client: default_mode=1, sources=[ VolumeProjection( + cluster_trust_bundle=ClusterTrustBundleProjection( + label_selector=LabelSelector( + match_expressions=[ + LabelSelectorRequirement( + key="key_example", + operator="operator_example", + values=[ + "values_example", + ], + ), + ], + match_labels={ + "key": "key_example", + }, + ), + name="name_example", + optional=True, + path="path_example", + signer_name="signer_name_example", + ), config_map=ConfigMapProjection( items=[ KeyToPath( @@ -5669,7 +5960,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_expressions=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -5678,7 +5969,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_fields=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -5694,7 +5985,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_expressions=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -5703,7 +5994,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_fields=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -5731,83 +6022,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), - namespace_selector=LabelSelector( - match_expressions=[ - LabelSelectorRequirement( - key="key_example", - operator="operator_example", - values=[ - "values_example", - ], - ), - ], - match_labels={ - "key": "key_example", - }, - ), - namespaces=[ - "namespaces_example", - ], - topology_key="topology_key_example", - ), - weight=1, - ), - ], - required_during_scheduling_ignored_during_execution=[ - PodAffinityTerm( - label_selector=LabelSelector( - match_expressions=[ - LabelSelectorRequirement( - key="key_example", - operator="operator_example", - values=[ - "values_example", - ], - ), + match_label_keys=[ + "match_label_keys_example", ], - match_labels={ - "key": "key_example", - }, - ), - namespace_selector=LabelSelector( - match_expressions=[ - LabelSelectorRequirement( - key="key_example", - operator="operator_example", - values=[ - "values_example", - ], - ), + mismatch_label_keys=[ + "mismatch_label_keys_example", ], - match_labels={ - "key": "key_example", - }, - ), - namespaces=[ - "namespaces_example", - ], - topology_key="topology_key_example", - ), - ], - ), - pod_anti_affinity=PodAntiAffinity( - preferred_during_scheduling_ignored_during_execution=[ - WeightedPodAffinityTerm( - pod_affinity_term=PodAffinityTerm( - label_selector=LabelSelector( - match_expressions=[ - LabelSelectorRequirement( - key="key_example", - operator="operator_example", - values=[ - "values_example", - ], - ), - ], - match_labels={ - "key": "key_example", - }, - ), namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -5846,6 +6066,101 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], + namespace_selector=LabelSelector( + match_expressions=[ + LabelSelectorRequirement( + key="key_example", + operator="operator_example", + values=[ + "values_example", + ], + ), + ], + match_labels={ + "key": "key_example", + }, + ), + namespaces=[ + "namespaces_example", + ], + topology_key="topology_key_example", + ), + ], + ), + pod_anti_affinity=PodAntiAffinity( + preferred_during_scheduling_ignored_during_execution=[ + WeightedPodAffinityTerm( + pod_affinity_term=PodAffinityTerm( + label_selector=LabelSelector( + match_expressions=[ + LabelSelectorRequirement( + key="key_example", + operator="operator_example", + values=[ + "values_example", + ], + ), + ], + match_labels={ + "key": "key_example", + }, + ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], + namespace_selector=LabelSelector( + match_expressions=[ + LabelSelectorRequirement( + key="key_example", + operator="operator_example", + values=[ + "values_example", + ], + ), + ], + match_labels={ + "key": "key_example", + }, + ), + namespaces=[ + "namespaces_example", + ], + topology_key="topology_key_example", + ), + weight=1, + ), + ], + required_during_scheduling_ignored_during_execution=[ + PodAffinityTerm( + label_selector=LabelSelector( + match_expressions=[ + LabelSelectorRequirement( + key="key_example", + operator="operator_example", + values=[ + "values_example", + ], + ), + ], + match_labels={ + "key": "key_example", + }, + ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -5911,6 +6226,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -6078,6 +6394,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), ), @@ -6130,7 +6451,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), ], image="image_example", - image_pull_policy="Always", + image_pull_policy="image_pull_policy_example", lifecycle=Lifecycle( post_start=LifecycleHandler( _exec=ExecAction( @@ -6148,7 +6469,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -6171,7 +6495,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -6200,7 +6527,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -6219,7 +6546,7 @@ with argo_workflows.ApiClient(configuration) as api_client: host_ip="host_ip_example", host_port=1, name="name_example", - protocol="SCTP", + protocol="protocol_example", ), ], readiness_probe=Probe( @@ -6243,7 +6570,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -6255,7 +6582,18 @@ with argo_workflows.ApiClient(configuration) as api_client: termination_grace_period_seconds=1, timeout_seconds=1, ), + resize_policy=[ + ContainerResizePolicy( + resource_name="resource_name_example", + restart_policy="restart_policy_example", + ), + ], resources=ResourceRequirements( + claims=[ + ResourceClaim( + name="name_example", + ), + ], limits={ "key": "key_example", }, @@ -6263,8 +6601,13 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + restart_policy="restart_policy_example", security_context=SecurityContext( allow_privilege_escalation=True, + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), capabilities=Capabilities( add=[ "add_example", @@ -6287,7 +6630,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), windows_options=WindowsSecurityContextOptions( gmsa_credential_spec="gmsa_credential_spec_example", @@ -6317,7 +6660,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -6332,7 +6675,7 @@ with argo_workflows.ApiClient(configuration) as api_client: stdin=True, stdin_once=True, termination_message_path="termination_message_path_example", - termination_message_policy="FallbackToLogsOnError", + termination_message_policy="termination_message_policy_example", tty=True, volume_devices=[ VolumeDevice( @@ -6346,6 +6689,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -6423,7 +6767,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -6446,7 +6793,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -6475,7 +6825,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -6494,7 +6844,7 @@ with argo_workflows.ApiClient(configuration) as api_client: host_ip="host_ip_example", host_port=1, name="name_example", - protocol="SCTP", + protocol="protocol_example", ), ], readiness_probe=Probe( @@ -6518,7 +6868,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -6530,7 +6880,18 @@ with argo_workflows.ApiClient(configuration) as api_client: termination_grace_period_seconds=1, timeout_seconds=1, ), + resize_policy=[ + ContainerResizePolicy( + resource_name="resource_name_example", + restart_policy="restart_policy_example", + ), + ], resources=ResourceRequirements( + claims=[ + ResourceClaim( + name="name_example", + ), + ], limits={ "key": "key_example", }, @@ -6538,8 +6899,13 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + restart_policy="restart_policy_example", security_context=SecurityContext( allow_privilege_escalation=True, + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), capabilities=Capabilities( add=[ "add_example", @@ -6562,7 +6928,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), windows_options=WindowsSecurityContextOptions( gmsa_credential_spec="gmsa_credential_spec_example", @@ -6592,7 +6958,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -6621,6 +6987,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -6638,6 +7005,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -6716,6 +7084,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -6889,6 +7258,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -6999,6 +7373,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -7172,6 +7547,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -7304,6 +7684,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -7477,6 +7858,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -7591,7 +7977,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -7614,7 +8003,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -7643,7 +8035,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -7663,7 +8055,7 @@ with argo_workflows.ApiClient(configuration) as api_client: host_ip="host_ip_example", host_port=1, name="name_example", - protocol="SCTP", + protocol="protocol_example", ), ], readiness_probe=Probe( @@ -7687,7 +8079,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -7699,7 +8091,18 @@ with argo_workflows.ApiClient(configuration) as api_client: termination_grace_period_seconds=1, timeout_seconds=1, ), + resize_policy=[ + ContainerResizePolicy( + resource_name="resource_name_example", + restart_policy="restart_policy_example", + ), + ], resources=ResourceRequirements( + claims=[ + ResourceClaim( + name="name_example", + ), + ], limits={ "key": "key_example", }, @@ -7707,8 +8110,13 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + restart_policy="restart_policy_example", security_context=SecurityContext( allow_privilege_escalation=True, + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), capabilities=Capabilities( add=[ "add_example", @@ -7731,7 +8139,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), windows_options=WindowsSecurityContextOptions( gmsa_credential_spec="gmsa_credential_spec_example", @@ -7761,7 +8169,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -7790,6 +8198,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -7864,6 +8273,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -8037,6 +8447,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -8189,6 +8604,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -8362,6 +8778,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -8475,6 +8896,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -8648,6 +9070,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -8737,7 +9164,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -8760,7 +9190,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -8789,7 +9222,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -8808,7 +9241,7 @@ with argo_workflows.ApiClient(configuration) as api_client: host_ip="host_ip_example", host_port=1, name="name_example", - protocol="SCTP", + protocol="protocol_example", ), ], readiness_probe=Probe( @@ -8832,7 +9265,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -8844,7 +9277,18 @@ with argo_workflows.ApiClient(configuration) as api_client: termination_grace_period_seconds=1, timeout_seconds=1, ), + resize_policy=[ + ContainerResizePolicy( + resource_name="resource_name_example", + restart_policy="restart_policy_example", + ), + ], resources=ResourceRequirements( + claims=[ + ResourceClaim( + name="name_example", + ), + ], limits={ "key": "key_example", }, @@ -8852,8 +9296,13 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + restart_policy="restart_policy_example", security_context=SecurityContext( allow_privilege_escalation=True, + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), capabilities=Capabilities( add=[ "add_example", @@ -8876,7 +9325,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), windows_options=WindowsSecurityContextOptions( gmsa_credential_spec="gmsa_credential_spec_example", @@ -8907,7 +9356,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -8936,6 +9385,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -8943,6 +9393,10 @@ with argo_workflows.ApiClient(configuration) as api_client: working_dir="working_dir_example", ), security_context=PodSecurityContext( + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), fs_group=1, fs_group_change_policy="fs_group_change_policy_example", run_as_group=1, @@ -8956,7 +9410,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), supplemental_groups=[ 1, @@ -9042,7 +9496,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -9065,7 +9522,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -9094,7 +9554,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -9114,7 +9574,7 @@ with argo_workflows.ApiClient(configuration) as api_client: host_ip="host_ip_example", host_port=1, name="name_example", - protocol="SCTP", + protocol="protocol_example", ), ], readiness_probe=Probe( @@ -9138,7 +9598,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -9150,7 +9610,18 @@ with argo_workflows.ApiClient(configuration) as api_client: termination_grace_period_seconds=1, timeout_seconds=1, ), + resize_policy=[ + ContainerResizePolicy( + resource_name="resource_name_example", + restart_policy="restart_policy_example", + ), + ], resources=ResourceRequirements( + claims=[ + ResourceClaim( + name="name_example", + ), + ], limits={ "key": "key_example", }, @@ -9158,8 +9629,13 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + restart_policy="restart_policy_example", security_context=SecurityContext( allow_privilege_escalation=True, + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), capabilities=Capabilities( add=[ "add_example", @@ -9182,7 +9658,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), windows_options=WindowsSecurityContextOptions( gmsa_credential_spec="gmsa_credential_spec_example", @@ -9212,7 +9688,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -9241,6 +9717,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -9318,6 +9795,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -9491,6 +9969,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -9597,6 +10080,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -9770,6 +10254,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -9843,6 +10332,12 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", namespace="namespace_example", ), + mutexes=[ + IoArgoprojWorkflowV1alpha1Mutex( + name="name_example", + namespace="namespace_example", + ), + ], semaphore=IoArgoprojWorkflowV1alpha1SemaphoreRef( config_map_key_ref=ConfigMapKeySelector( key="key_example", @@ -9851,13 +10346,23 @@ with argo_workflows.ApiClient(configuration) as api_client: ), namespace="namespace_example", ), + semaphores=[ + IoArgoprojWorkflowV1alpha1SemaphoreRef( + config_map_key_ref=ConfigMapKeySelector( + key="key_example", + name="name_example", + optional=True, + ), + namespace="namespace_example", + ), + ], ), timeout="timeout_example", tolerations=[ Toleration( - effect="NoExecute", + effect="effect_example", key="key_example", - operator="Equal", + operator="operator_example", toleration_seconds=1, value="value_example", ), @@ -9954,7 +10459,6 @@ with argo_workflows.ApiClient(configuration) as api_client: annotations={ "key": "key_example", }, - cluster_name="cluster_name_example", creation_timestamp=dateutil_parser('1970-01-01T00:00:00.00Z'), deletion_grace_period_seconds=1, deletion_timestamp=dateutil_parser('1970-01-01T00:00:00.00Z'), @@ -10002,12 +10506,13 @@ with argo_workflows.ApiClient(configuration) as api_client: kind="kind_example", name="name_example", ), - data_source_ref=TypedLocalObjectReference( + data_source_ref=TypedObjectReference( api_group="api_group_example", kind="kind_example", name="name_example", + namespace="namespace_example", ), - resources=ResourceRequirements( + resources=VolumeResourceRequirements( limits={ "key": "key_example", }, @@ -10030,6 +10535,7 @@ with argo_workflows.ApiClient(configuration) as api_client: }, ), storage_class_name="storage_class_name_example", + volume_attributes_class_name="volume_attributes_class_name_example", volume_mode="volume_mode_example", volume_name="volume_name_example", ), @@ -10121,6 +10627,26 @@ with argo_workflows.ApiClient(configuration) as api_client: default_mode=1, sources=[ VolumeProjection( + cluster_trust_bundle=ClusterTrustBundleProjection( + label_selector=LabelSelector( + match_expressions=[ + LabelSelectorRequirement( + key="key_example", + operator="operator_example", + values=[ + "values_example", + ], + ), + ], + match_labels={ + "key": "key_example", + }, + ), + name="name_example", + optional=True, + path="path_example", + signer_name="signer_name_example", + ), config_map=ConfigMapProjection( items=[ KeyToPath( @@ -10237,9 +10763,9 @@ with argo_workflows.ApiClient(configuration) as api_client: ], tolerations=[ Toleration( - effect="NoExecute", + effect="effect_example", key="key_example", - operator="Equal", + operator="operator_example", toleration_seconds=1, value="value_example", ), @@ -10260,7 +10786,6 @@ with argo_workflows.ApiClient(configuration) as api_client: annotations={ "key": "key_example", }, - cluster_name="cluster_name_example", creation_timestamp=dateutil_parser('1970-01-01T00:00:00.00Z'), deletion_grace_period_seconds=1, deletion_timestamp=dateutil_parser('1970-01-01T00:00:00.00Z'), @@ -10308,12 +10833,13 @@ with argo_workflows.ApiClient(configuration) as api_client: kind="kind_example", name="name_example", ), - data_source_ref=TypedLocalObjectReference( + data_source_ref=TypedObjectReference( api_group="api_group_example", kind="kind_example", name="name_example", + namespace="namespace_example", ), - resources=ResourceRequirements( + resources=VolumeResourceRequirements( limits={ "key": "key_example", }, @@ -10336,6 +10862,7 @@ with argo_workflows.ApiClient(configuration) as api_client: }, ), storage_class_name="storage_class_name_example", + volume_attributes_class_name="volume_attributes_class_name_example", volume_mode="volume_mode_example", volume_name="volume_name_example", ), @@ -10343,6 +10870,9 @@ with argo_workflows.ApiClient(configuration) as api_client: access_modes=[ "access_modes_example", ], + allocated_resource_statuses={ + "key": "key_example", + }, allocated_resources={ "key": "key_example", }, @@ -10356,11 +10886,15 @@ with argo_workflows.ApiClient(configuration) as api_client: message="message_example", reason="reason_example", status="status_example", - type="FileSystemResizePending", + type="type_example", ), ], - phase="Bound", - resize_status="resize_status_example", + current_volume_attributes_class_name="current_volume_attributes_class_name_example", + modify_volume_status=ModifyVolumeStatus( + status="status_example", + target_volume_attributes_class_name="target_volume_attributes_class_name_example", + ), + phase="phase_example", ), ), ], @@ -10456,7 +10990,6 @@ with argo_workflows.ApiClient(configuration) as api_client: annotations={ "key": "key_example", }, - cluster_name="cluster_name_example", creation_timestamp=dateutil_parser('1970-01-01T00:00:00.00Z'), deletion_grace_period_seconds=1, deletion_timestamp=dateutil_parser('1970-01-01T00:00:00.00Z'), @@ -10504,12 +11037,13 @@ with argo_workflows.ApiClient(configuration) as api_client: kind="kind_example", name="name_example", ), - data_source_ref=TypedLocalObjectReference( + data_source_ref=TypedObjectReference( api_group="api_group_example", kind="kind_example", name="name_example", + namespace="namespace_example", ), - resources=ResourceRequirements( + resources=VolumeResourceRequirements( limits={ "key": "key_example", }, @@ -10532,6 +11066,7 @@ with argo_workflows.ApiClient(configuration) as api_client: }, ), storage_class_name="storage_class_name_example", + volume_attributes_class_name="volume_attributes_class_name_example", volume_mode="volume_mode_example", volume_name="volume_name_example", ), @@ -10623,6 +11158,26 @@ with argo_workflows.ApiClient(configuration) as api_client: default_mode=1, sources=[ VolumeProjection( + cluster_trust_bundle=ClusterTrustBundleProjection( + label_selector=LabelSelector( + match_expressions=[ + LabelSelectorRequirement( + key="key_example", + operator="operator_example", + values=[ + "values_example", + ], + ), + ], + match_labels={ + "key": "key_example", + }, + ), + name="name_example", + optional=True, + path="path_example", + signer_name="signer_name_example", + ), config_map=ConfigMapProjection( items=[ KeyToPath( @@ -10885,6 +11440,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), ), @@ -10983,6 +11543,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -11156,6 +11717,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -11270,6 +11836,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -11443,6 +12010,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -11566,6 +12138,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -11739,6 +12312,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -11866,7 +12444,6 @@ with argo_workflows.ApiClient(configuration) as api_client: annotations={ "key": "key_example", }, - cluster_name="cluster_name_example", creation_timestamp=dateutil_parser('1970-01-01T00:00:00.00Z'), deletion_grace_period_seconds=1, deletion_timestamp=dateutil_parser('1970-01-01T00:00:00.00Z'), @@ -11914,12 +12491,13 @@ with argo_workflows.ApiClient(configuration) as api_client: kind="kind_example", name="name_example", ), - data_source_ref=TypedLocalObjectReference( + data_source_ref=TypedObjectReference( api_group="api_group_example", kind="kind_example", name="name_example", + namespace="namespace_example", ), - resources=ResourceRequirements( + resources=VolumeResourceRequirements( limits={ "key": "key_example", }, @@ -11942,6 +12520,7 @@ with argo_workflows.ApiClient(configuration) as api_client: }, ), storage_class_name="storage_class_name_example", + volume_attributes_class_name="volume_attributes_class_name_example", volume_mode="volume_mode_example", volume_name="volume_name_example", ), @@ -12033,6 +12612,26 @@ with argo_workflows.ApiClient(configuration) as api_client: default_mode=1, sources=[ VolumeProjection( + cluster_trust_bundle=ClusterTrustBundleProjection( + label_selector=LabelSelector( + match_expressions=[ + LabelSelectorRequirement( + key="key_example", + operator="operator_example", + values=[ + "values_example", + ], + ), + ], + match_labels={ + "key": "key_example", + }, + ), + name="name_example", + optional=True, + path="path_example", + signer_name="signer_name_example", + ), config_map=ConfigMapProjection( items=[ KeyToPath( @@ -12162,7 +12761,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_expressions=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -12171,7 +12770,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_fields=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -12187,7 +12786,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_expressions=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -12196,7 +12795,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_fields=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -12224,6 +12823,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -12262,6 +12867,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -12301,6 +12912,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -12339,6 +12956,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -12404,6 +13027,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -12571,6 +13195,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), ), @@ -12623,7 +13252,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), ], image="image_example", - image_pull_policy="Always", + image_pull_policy="image_pull_policy_example", lifecycle=Lifecycle( post_start=LifecycleHandler( _exec=ExecAction( @@ -12641,7 +13270,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -12664,7 +13296,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -12693,7 +13328,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -12712,7 +13347,7 @@ with argo_workflows.ApiClient(configuration) as api_client: host_ip="host_ip_example", host_port=1, name="name_example", - protocol="SCTP", + protocol="protocol_example", ), ], readiness_probe=Probe( @@ -12736,7 +13371,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -12748,7 +13383,18 @@ with argo_workflows.ApiClient(configuration) as api_client: termination_grace_period_seconds=1, timeout_seconds=1, ), + resize_policy=[ + ContainerResizePolicy( + resource_name="resource_name_example", + restart_policy="restart_policy_example", + ), + ], resources=ResourceRequirements( + claims=[ + ResourceClaim( + name="name_example", + ), + ], limits={ "key": "key_example", }, @@ -12756,8 +13402,13 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + restart_policy="restart_policy_example", security_context=SecurityContext( allow_privilege_escalation=True, + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), capabilities=Capabilities( add=[ "add_example", @@ -12780,7 +13431,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), windows_options=WindowsSecurityContextOptions( gmsa_credential_spec="gmsa_credential_spec_example", @@ -12810,7 +13461,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -12825,7 +13476,7 @@ with argo_workflows.ApiClient(configuration) as api_client: stdin=True, stdin_once=True, termination_message_path="termination_message_path_example", - termination_message_policy="FallbackToLogsOnError", + termination_message_policy="termination_message_policy_example", tty=True, volume_devices=[ VolumeDevice( @@ -12839,6 +13490,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -12916,7 +13568,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -12939,7 +13594,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -12968,7 +13626,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -12987,7 +13645,7 @@ with argo_workflows.ApiClient(configuration) as api_client: host_ip="host_ip_example", host_port=1, name="name_example", - protocol="SCTP", + protocol="protocol_example", ), ], readiness_probe=Probe( @@ -13011,7 +13669,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -13023,7 +13681,18 @@ with argo_workflows.ApiClient(configuration) as api_client: termination_grace_period_seconds=1, timeout_seconds=1, ), + resize_policy=[ + ContainerResizePolicy( + resource_name="resource_name_example", + restart_policy="restart_policy_example", + ), + ], resources=ResourceRequirements( + claims=[ + ResourceClaim( + name="name_example", + ), + ], limits={ "key": "key_example", }, @@ -13031,8 +13700,13 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + restart_policy="restart_policy_example", security_context=SecurityContext( allow_privilege_escalation=True, + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), capabilities=Capabilities( add=[ "add_example", @@ -13055,7 +13729,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), windows_options=WindowsSecurityContextOptions( gmsa_credential_spec="gmsa_credential_spec_example", @@ -13085,7 +13759,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -13114,6 +13788,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -13131,6 +13806,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -13209,6 +13885,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -13382,6 +14059,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -13492,6 +14174,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -13665,6 +14348,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -13797,6 +14485,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -13970,6 +14659,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -14084,7 +14778,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -14107,7 +14804,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -14136,7 +14836,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -14156,7 +14856,7 @@ with argo_workflows.ApiClient(configuration) as api_client: host_ip="host_ip_example", host_port=1, name="name_example", - protocol="SCTP", + protocol="protocol_example", ), ], readiness_probe=Probe( @@ -14180,7 +14880,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -14192,7 +14892,18 @@ with argo_workflows.ApiClient(configuration) as api_client: termination_grace_period_seconds=1, timeout_seconds=1, ), + resize_policy=[ + ContainerResizePolicy( + resource_name="resource_name_example", + restart_policy="restart_policy_example", + ), + ], resources=ResourceRequirements( + claims=[ + ResourceClaim( + name="name_example", + ), + ], limits={ "key": "key_example", }, @@ -14200,8 +14911,13 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + restart_policy="restart_policy_example", security_context=SecurityContext( allow_privilege_escalation=True, + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), capabilities=Capabilities( add=[ "add_example", @@ -14224,7 +14940,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), windows_options=WindowsSecurityContextOptions( gmsa_credential_spec="gmsa_credential_spec_example", @@ -14254,7 +14970,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -14283,6 +14999,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -14357,6 +15074,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -14530,6 +15248,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -14682,6 +15405,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -14855,6 +15579,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -14968,6 +15697,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -15141,6 +15871,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -15230,7 +15965,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -15253,7 +15991,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -15282,7 +16023,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -15301,7 +16042,7 @@ with argo_workflows.ApiClient(configuration) as api_client: host_ip="host_ip_example", host_port=1, name="name_example", - protocol="SCTP", + protocol="protocol_example", ), ], readiness_probe=Probe( @@ -15325,7 +16066,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -15337,7 +16078,18 @@ with argo_workflows.ApiClient(configuration) as api_client: termination_grace_period_seconds=1, timeout_seconds=1, ), + resize_policy=[ + ContainerResizePolicy( + resource_name="resource_name_example", + restart_policy="restart_policy_example", + ), + ], resources=ResourceRequirements( + claims=[ + ResourceClaim( + name="name_example", + ), + ], limits={ "key": "key_example", }, @@ -15345,8 +16097,13 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + restart_policy="restart_policy_example", security_context=SecurityContext( allow_privilege_escalation=True, + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), capabilities=Capabilities( add=[ "add_example", @@ -15369,7 +16126,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), windows_options=WindowsSecurityContextOptions( gmsa_credential_spec="gmsa_credential_spec_example", @@ -15400,7 +16157,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -15429,6 +16186,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -15436,6 +16194,10 @@ with argo_workflows.ApiClient(configuration) as api_client: working_dir="working_dir_example", ), security_context=PodSecurityContext( + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), fs_group=1, fs_group_change_policy="fs_group_change_policy_example", run_as_group=1, @@ -15449,7 +16211,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), supplemental_groups=[ 1, @@ -15535,7 +16297,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -15558,7 +16323,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -15587,7 +16355,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -15607,7 +16375,7 @@ with argo_workflows.ApiClient(configuration) as api_client: host_ip="host_ip_example", host_port=1, name="name_example", - protocol="SCTP", + protocol="protocol_example", ), ], readiness_probe=Probe( @@ -15631,7 +16399,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -15643,7 +16411,18 @@ with argo_workflows.ApiClient(configuration) as api_client: termination_grace_period_seconds=1, timeout_seconds=1, ), + resize_policy=[ + ContainerResizePolicy( + resource_name="resource_name_example", + restart_policy="restart_policy_example", + ), + ], resources=ResourceRequirements( + claims=[ + ResourceClaim( + name="name_example", + ), + ], limits={ "key": "key_example", }, @@ -15651,8 +16430,13 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + restart_policy="restart_policy_example", security_context=SecurityContext( allow_privilege_escalation=True, + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), capabilities=Capabilities( add=[ "add_example", @@ -15675,7 +16459,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), windows_options=WindowsSecurityContextOptions( gmsa_credential_spec="gmsa_credential_spec_example", @@ -15705,7 +16489,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -15734,6 +16518,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -15811,6 +16596,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -15984,6 +16770,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -16090,6 +16881,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -16263,6 +17055,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -16336,6 +17133,12 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", namespace="namespace_example", ), + mutexes=[ + IoArgoprojWorkflowV1alpha1Mutex( + name="name_example", + namespace="namespace_example", + ), + ], semaphore=IoArgoprojWorkflowV1alpha1SemaphoreRef( config_map_key_ref=ConfigMapKeySelector( key="key_example", @@ -16344,13 +17147,23 @@ with argo_workflows.ApiClient(configuration) as api_client: ), namespace="namespace_example", ), + semaphores=[ + IoArgoprojWorkflowV1alpha1SemaphoreRef( + config_map_key_ref=ConfigMapKeySelector( + key="key_example", + name="name_example", + optional=True, + ), + namespace="namespace_example", + ), + ], ), timeout="timeout_example", tolerations=[ Toleration( - effect="NoExecute", + effect="effect_example", key="key_example", - operator="Equal", + operator="operator_example", toleration_seconds=1, value="value_example", ), @@ -16447,7 +17260,6 @@ with argo_workflows.ApiClient(configuration) as api_client: annotations={ "key": "key_example", }, - cluster_name="cluster_name_example", creation_timestamp=dateutil_parser('1970-01-01T00:00:00.00Z'), deletion_grace_period_seconds=1, deletion_timestamp=dateutil_parser('1970-01-01T00:00:00.00Z'), @@ -16495,12 +17307,13 @@ with argo_workflows.ApiClient(configuration) as api_client: kind="kind_example", name="name_example", ), - data_source_ref=TypedLocalObjectReference( + data_source_ref=TypedObjectReference( api_group="api_group_example", kind="kind_example", name="name_example", + namespace="namespace_example", ), - resources=ResourceRequirements( + resources=VolumeResourceRequirements( limits={ "key": "key_example", }, @@ -16523,6 +17336,7 @@ with argo_workflows.ApiClient(configuration) as api_client: }, ), storage_class_name="storage_class_name_example", + volume_attributes_class_name="volume_attributes_class_name_example", volume_mode="volume_mode_example", volume_name="volume_name_example", ), @@ -16614,6 +17428,26 @@ with argo_workflows.ApiClient(configuration) as api_client: default_mode=1, sources=[ VolumeProjection( + cluster_trust_bundle=ClusterTrustBundleProjection( + label_selector=LabelSelector( + match_expressions=[ + LabelSelectorRequirement( + key="key_example", + operator="operator_example", + values=[ + "values_example", + ], + ), + ], + match_labels={ + "key": "key_example", + }, + ), + name="name_example", + optional=True, + path="path_example", + signer_name="signer_name_example", + ), config_map=ConfigMapProjection( items=[ KeyToPath( @@ -16738,7 +17572,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_expressions=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -16747,7 +17581,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_fields=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -16763,7 +17597,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_expressions=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -16772,7 +17606,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_fields=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -16800,6 +17634,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -16838,6 +17678,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -16877,6 +17723,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -16915,6 +17767,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -17005,6 +17863,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -17178,6 +18037,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -17318,6 +18182,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -17491,6 +18356,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -17598,6 +18468,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + unhealthy_pod_eviction_policy="unhealthy_pod_eviction_policy_example", ), pod_gc=IoArgoprojWorkflowV1alpha1PodGC( delete_delay_duration="delete_delay_duration_example", @@ -17644,6 +18515,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ), scheduler_name="scheduler_name_example", security_context=PodSecurityContext( + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), fs_group=1, fs_group_change_policy="fs_group_change_policy_example", run_as_group=1, @@ -17657,7 +18532,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), supplemental_groups=[ 1, @@ -17683,6 +18558,12 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", namespace="namespace_example", ), + mutexes=[ + IoArgoprojWorkflowV1alpha1Mutex( + name="name_example", + namespace="namespace_example", + ), + ], semaphore=IoArgoprojWorkflowV1alpha1SemaphoreRef( config_map_key_ref=ConfigMapKeySelector( key="key_example", @@ -17691,6 +18572,16 @@ with argo_workflows.ApiClient(configuration) as api_client: ), namespace="namespace_example", ), + semaphores=[ + IoArgoprojWorkflowV1alpha1SemaphoreRef( + config_map_key_ref=ConfigMapKeySelector( + key="key_example", + name="name_example", + optional=True, + ), + namespace="namespace_example", + ), + ], ), template_defaults=IoArgoprojWorkflowV1alpha1Template( active_deadline_seconds="active_deadline_seconds_example", @@ -17702,7 +18593,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_expressions=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -17711,7 +18602,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_fields=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -17727,7 +18618,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_expressions=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -17736,7 +18627,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_fields=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -17764,6 +18655,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -17802,6 +18699,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -17841,6 +18744,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -17879,6 +18788,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -17944,6 +18859,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -18111,6 +19027,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), ), @@ -18163,7 +19084,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), ], image="image_example", - image_pull_policy="Always", + image_pull_policy="image_pull_policy_example", lifecycle=Lifecycle( post_start=LifecycleHandler( _exec=ExecAction( @@ -18181,7 +19102,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -18204,7 +19128,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -18233,7 +19160,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -18252,7 +19179,7 @@ with argo_workflows.ApiClient(configuration) as api_client: host_ip="host_ip_example", host_port=1, name="name_example", - protocol="SCTP", + protocol="protocol_example", ), ], readiness_probe=Probe( @@ -18276,7 +19203,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -18288,7 +19215,18 @@ with argo_workflows.ApiClient(configuration) as api_client: termination_grace_period_seconds=1, timeout_seconds=1, ), + resize_policy=[ + ContainerResizePolicy( + resource_name="resource_name_example", + restart_policy="restart_policy_example", + ), + ], resources=ResourceRequirements( + claims=[ + ResourceClaim( + name="name_example", + ), + ], limits={ "key": "key_example", }, @@ -18296,8 +19234,13 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + restart_policy="restart_policy_example", security_context=SecurityContext( allow_privilege_escalation=True, + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), capabilities=Capabilities( add=[ "add_example", @@ -18320,7 +19263,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), windows_options=WindowsSecurityContextOptions( gmsa_credential_spec="gmsa_credential_spec_example", @@ -18350,7 +19293,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -18365,7 +19308,7 @@ with argo_workflows.ApiClient(configuration) as api_client: stdin=True, stdin_once=True, termination_message_path="termination_message_path_example", - termination_message_policy="FallbackToLogsOnError", + termination_message_policy="termination_message_policy_example", tty=True, volume_devices=[ VolumeDevice( @@ -18379,6 +19322,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -18456,7 +19400,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -18479,7 +19426,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -18508,7 +19458,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -18527,7 +19477,7 @@ with argo_workflows.ApiClient(configuration) as api_client: host_ip="host_ip_example", host_port=1, name="name_example", - protocol="SCTP", + protocol="protocol_example", ), ], readiness_probe=Probe( @@ -18551,7 +19501,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -18563,7 +19513,18 @@ with argo_workflows.ApiClient(configuration) as api_client: termination_grace_period_seconds=1, timeout_seconds=1, ), + resize_policy=[ + ContainerResizePolicy( + resource_name="resource_name_example", + restart_policy="restart_policy_example", + ), + ], resources=ResourceRequirements( + claims=[ + ResourceClaim( + name="name_example", + ), + ], limits={ "key": "key_example", }, @@ -18571,8 +19532,13 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + restart_policy="restart_policy_example", security_context=SecurityContext( allow_privilege_escalation=True, + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), capabilities=Capabilities( add=[ "add_example", @@ -18595,7 +19561,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), windows_options=WindowsSecurityContextOptions( gmsa_credential_spec="gmsa_credential_spec_example", @@ -18625,7 +19591,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -18654,6 +19620,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -18671,6 +19638,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -18749,6 +19717,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -18922,6 +19891,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -19032,6 +20006,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -19205,6 +20180,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -19337,6 +20317,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -19510,6 +20491,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -19624,7 +20610,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -19647,7 +20636,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -19676,7 +20668,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -19696,7 +20688,7 @@ with argo_workflows.ApiClient(configuration) as api_client: host_ip="host_ip_example", host_port=1, name="name_example", - protocol="SCTP", + protocol="protocol_example", ), ], readiness_probe=Probe( @@ -19720,7 +20712,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -19732,7 +20724,18 @@ with argo_workflows.ApiClient(configuration) as api_client: termination_grace_period_seconds=1, timeout_seconds=1, ), + resize_policy=[ + ContainerResizePolicy( + resource_name="resource_name_example", + restart_policy="restart_policy_example", + ), + ], resources=ResourceRequirements( + claims=[ + ResourceClaim( + name="name_example", + ), + ], limits={ "key": "key_example", }, @@ -19740,8 +20743,13 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + restart_policy="restart_policy_example", security_context=SecurityContext( allow_privilege_escalation=True, + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), capabilities=Capabilities( add=[ "add_example", @@ -19764,7 +20772,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), windows_options=WindowsSecurityContextOptions( gmsa_credential_spec="gmsa_credential_spec_example", @@ -19794,7 +20802,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -19823,6 +20831,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -19897,6 +20906,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -20070,6 +21080,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -20222,6 +21237,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -20395,6 +21411,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -20508,6 +21529,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -20681,6 +21703,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -20770,7 +21797,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -20793,7 +21823,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -20822,7 +21855,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -20841,7 +21874,7 @@ with argo_workflows.ApiClient(configuration) as api_client: host_ip="host_ip_example", host_port=1, name="name_example", - protocol="SCTP", + protocol="protocol_example", ), ], readiness_probe=Probe( @@ -20865,7 +21898,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -20877,7 +21910,18 @@ with argo_workflows.ApiClient(configuration) as api_client: termination_grace_period_seconds=1, timeout_seconds=1, ), + resize_policy=[ + ContainerResizePolicy( + resource_name="resource_name_example", + restart_policy="restart_policy_example", + ), + ], resources=ResourceRequirements( + claims=[ + ResourceClaim( + name="name_example", + ), + ], limits={ "key": "key_example", }, @@ -20885,8 +21929,13 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + restart_policy="restart_policy_example", security_context=SecurityContext( allow_privilege_escalation=True, + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), capabilities=Capabilities( add=[ "add_example", @@ -20909,7 +21958,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), windows_options=WindowsSecurityContextOptions( gmsa_credential_spec="gmsa_credential_spec_example", @@ -20940,7 +21989,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -20969,6 +22018,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -20976,6 +22026,10 @@ with argo_workflows.ApiClient(configuration) as api_client: working_dir="working_dir_example", ), security_context=PodSecurityContext( + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), fs_group=1, fs_group_change_policy="fs_group_change_policy_example", run_as_group=1, @@ -20989,7 +22043,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), supplemental_groups=[ 1, @@ -21075,7 +22129,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -21098,7 +22155,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -21127,7 +22187,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -21147,7 +22207,7 @@ with argo_workflows.ApiClient(configuration) as api_client: host_ip="host_ip_example", host_port=1, name="name_example", - protocol="SCTP", + protocol="protocol_example", ), ], readiness_probe=Probe( @@ -21171,7 +22231,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -21183,7 +22243,18 @@ with argo_workflows.ApiClient(configuration) as api_client: termination_grace_period_seconds=1, timeout_seconds=1, ), + resize_policy=[ + ContainerResizePolicy( + resource_name="resource_name_example", + restart_policy="restart_policy_example", + ), + ], resources=ResourceRequirements( + claims=[ + ResourceClaim( + name="name_example", + ), + ], limits={ "key": "key_example", }, @@ -21191,8 +22262,13 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + restart_policy="restart_policy_example", security_context=SecurityContext( allow_privilege_escalation=True, + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), capabilities=Capabilities( add=[ "add_example", @@ -21215,7 +22291,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), windows_options=WindowsSecurityContextOptions( gmsa_credential_spec="gmsa_credential_spec_example", @@ -21245,7 +22321,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -21274,6 +22350,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -21351,6 +22428,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -21524,6 +22602,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -21630,6 +22713,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -21803,6 +22887,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -21876,6 +22965,12 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", namespace="namespace_example", ), + mutexes=[ + IoArgoprojWorkflowV1alpha1Mutex( + name="name_example", + namespace="namespace_example", + ), + ], semaphore=IoArgoprojWorkflowV1alpha1SemaphoreRef( config_map_key_ref=ConfigMapKeySelector( key="key_example", @@ -21884,13 +22979,23 @@ with argo_workflows.ApiClient(configuration) as api_client: ), namespace="namespace_example", ), + semaphores=[ + IoArgoprojWorkflowV1alpha1SemaphoreRef( + config_map_key_ref=ConfigMapKeySelector( + key="key_example", + name="name_example", + optional=True, + ), + namespace="namespace_example", + ), + ], ), timeout="timeout_example", tolerations=[ Toleration( - effect="NoExecute", + effect="effect_example", key="key_example", - operator="Equal", + operator="operator_example", toleration_seconds=1, value="value_example", ), @@ -21987,7 +23092,6 @@ with argo_workflows.ApiClient(configuration) as api_client: annotations={ "key": "key_example", }, - cluster_name="cluster_name_example", creation_timestamp=dateutil_parser('1970-01-01T00:00:00.00Z'), deletion_grace_period_seconds=1, deletion_timestamp=dateutil_parser('1970-01-01T00:00:00.00Z'), @@ -22035,12 +23139,13 @@ with argo_workflows.ApiClient(configuration) as api_client: kind="kind_example", name="name_example", ), - data_source_ref=TypedLocalObjectReference( + data_source_ref=TypedObjectReference( api_group="api_group_example", kind="kind_example", name="name_example", + namespace="namespace_example", ), - resources=ResourceRequirements( + resources=VolumeResourceRequirements( limits={ "key": "key_example", }, @@ -22063,6 +23168,7 @@ with argo_workflows.ApiClient(configuration) as api_client: }, ), storage_class_name="storage_class_name_example", + volume_attributes_class_name="volume_attributes_class_name_example", volume_mode="volume_mode_example", volume_name="volume_name_example", ), @@ -22154,6 +23260,26 @@ with argo_workflows.ApiClient(configuration) as api_client: default_mode=1, sources=[ VolumeProjection( + cluster_trust_bundle=ClusterTrustBundleProjection( + label_selector=LabelSelector( + match_expressions=[ + LabelSelectorRequirement( + key="key_example", + operator="operator_example", + values=[ + "values_example", + ], + ), + ], + match_labels={ + "key": "key_example", + }, + ), + name="name_example", + optional=True, + path="path_example", + signer_name="signer_name_example", + ), config_map=ConfigMapProjection( items=[ KeyToPath( @@ -22278,7 +23404,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_expressions=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -22287,7 +23413,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_fields=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -22303,7 +23429,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_expressions=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -22312,7 +23438,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_fields=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -22340,6 +23466,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -22378,6 +23510,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -22417,6 +23555,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -22455,6 +23599,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -22520,6 +23670,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -22687,6 +23838,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), ), @@ -22739,7 +23895,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), ], image="image_example", - image_pull_policy="Always", + image_pull_policy="image_pull_policy_example", lifecycle=Lifecycle( post_start=LifecycleHandler( _exec=ExecAction( @@ -22757,7 +23913,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -22780,7 +23939,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -22809,7 +23971,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -22828,7 +23990,7 @@ with argo_workflows.ApiClient(configuration) as api_client: host_ip="host_ip_example", host_port=1, name="name_example", - protocol="SCTP", + protocol="protocol_example", ), ], readiness_probe=Probe( @@ -22852,7 +24014,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -22864,7 +24026,18 @@ with argo_workflows.ApiClient(configuration) as api_client: termination_grace_period_seconds=1, timeout_seconds=1, ), + resize_policy=[ + ContainerResizePolicy( + resource_name="resource_name_example", + restart_policy="restart_policy_example", + ), + ], resources=ResourceRequirements( + claims=[ + ResourceClaim( + name="name_example", + ), + ], limits={ "key": "key_example", }, @@ -22872,8 +24045,13 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + restart_policy="restart_policy_example", security_context=SecurityContext( allow_privilege_escalation=True, + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), capabilities=Capabilities( add=[ "add_example", @@ -22896,7 +24074,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), windows_options=WindowsSecurityContextOptions( gmsa_credential_spec="gmsa_credential_spec_example", @@ -22926,7 +24104,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -22941,7 +24119,7 @@ with argo_workflows.ApiClient(configuration) as api_client: stdin=True, stdin_once=True, termination_message_path="termination_message_path_example", - termination_message_policy="FallbackToLogsOnError", + termination_message_policy="termination_message_policy_example", tty=True, volume_devices=[ VolumeDevice( @@ -22955,6 +24133,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -23032,7 +24211,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -23055,7 +24237,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -23084,7 +24269,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -23103,7 +24288,7 @@ with argo_workflows.ApiClient(configuration) as api_client: host_ip="host_ip_example", host_port=1, name="name_example", - protocol="SCTP", + protocol="protocol_example", ), ], readiness_probe=Probe( @@ -23127,7 +24312,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -23139,7 +24324,18 @@ with argo_workflows.ApiClient(configuration) as api_client: termination_grace_period_seconds=1, timeout_seconds=1, ), + resize_policy=[ + ContainerResizePolicy( + resource_name="resource_name_example", + restart_policy="restart_policy_example", + ), + ], resources=ResourceRequirements( + claims=[ + ResourceClaim( + name="name_example", + ), + ], limits={ "key": "key_example", }, @@ -23147,8 +24343,13 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + restart_policy="restart_policy_example", security_context=SecurityContext( allow_privilege_escalation=True, + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), capabilities=Capabilities( add=[ "add_example", @@ -23171,7 +24372,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), windows_options=WindowsSecurityContextOptions( gmsa_credential_spec="gmsa_credential_spec_example", @@ -23201,7 +24402,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -23230,6 +24431,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -23247,6 +24449,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -23325,6 +24528,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -23498,6 +24702,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -23608,6 +24817,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -23781,6 +24991,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -23913,6 +25128,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -24086,6 +25302,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -24200,7 +25421,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -24223,7 +25447,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -24252,7 +25479,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -24272,7 +25499,7 @@ with argo_workflows.ApiClient(configuration) as api_client: host_ip="host_ip_example", host_port=1, name="name_example", - protocol="SCTP", + protocol="protocol_example", ), ], readiness_probe=Probe( @@ -24296,7 +25523,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -24308,7 +25535,18 @@ with argo_workflows.ApiClient(configuration) as api_client: termination_grace_period_seconds=1, timeout_seconds=1, ), + resize_policy=[ + ContainerResizePolicy( + resource_name="resource_name_example", + restart_policy="restart_policy_example", + ), + ], resources=ResourceRequirements( + claims=[ + ResourceClaim( + name="name_example", + ), + ], limits={ "key": "key_example", }, @@ -24316,8 +25554,13 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + restart_policy="restart_policy_example", security_context=SecurityContext( allow_privilege_escalation=True, + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), capabilities=Capabilities( add=[ "add_example", @@ -24340,7 +25583,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), windows_options=WindowsSecurityContextOptions( gmsa_credential_spec="gmsa_credential_spec_example", @@ -24370,7 +25613,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -24399,6 +25642,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -24473,6 +25717,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -24646,6 +25891,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -24798,6 +26048,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -24971,6 +26222,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -25084,6 +26340,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -25257,6 +26514,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -25346,7 +26608,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -25369,7 +26634,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -25398,7 +26666,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -25417,7 +26685,7 @@ with argo_workflows.ApiClient(configuration) as api_client: host_ip="host_ip_example", host_port=1, name="name_example", - protocol="SCTP", + protocol="protocol_example", ), ], readiness_probe=Probe( @@ -25441,7 +26709,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -25453,7 +26721,18 @@ with argo_workflows.ApiClient(configuration) as api_client: termination_grace_period_seconds=1, timeout_seconds=1, ), + resize_policy=[ + ContainerResizePolicy( + resource_name="resource_name_example", + restart_policy="restart_policy_example", + ), + ], resources=ResourceRequirements( + claims=[ + ResourceClaim( + name="name_example", + ), + ], limits={ "key": "key_example", }, @@ -25461,8 +26740,13 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + restart_policy="restart_policy_example", security_context=SecurityContext( allow_privilege_escalation=True, + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), capabilities=Capabilities( add=[ "add_example", @@ -25485,7 +26769,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), windows_options=WindowsSecurityContextOptions( gmsa_credential_spec="gmsa_credential_spec_example", @@ -25516,7 +26800,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -25545,6 +26829,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -25552,6 +26837,10 @@ with argo_workflows.ApiClient(configuration) as api_client: working_dir="working_dir_example", ), security_context=PodSecurityContext( + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), fs_group=1, fs_group_change_policy="fs_group_change_policy_example", run_as_group=1, @@ -25565,7 +26854,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), supplemental_groups=[ 1, @@ -25651,7 +26940,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -25674,7 +26966,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -25703,7 +26998,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -25723,7 +27018,7 @@ with argo_workflows.ApiClient(configuration) as api_client: host_ip="host_ip_example", host_port=1, name="name_example", - protocol="SCTP", + protocol="protocol_example", ), ], readiness_probe=Probe( @@ -25747,7 +27042,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -25759,7 +27054,18 @@ with argo_workflows.ApiClient(configuration) as api_client: termination_grace_period_seconds=1, timeout_seconds=1, ), + resize_policy=[ + ContainerResizePolicy( + resource_name="resource_name_example", + restart_policy="restart_policy_example", + ), + ], resources=ResourceRequirements( + claims=[ + ResourceClaim( + name="name_example", + ), + ], limits={ "key": "key_example", }, @@ -25767,8 +27073,13 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + restart_policy="restart_policy_example", security_context=SecurityContext( allow_privilege_escalation=True, + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), capabilities=Capabilities( add=[ "add_example", @@ -25791,7 +27102,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), windows_options=WindowsSecurityContextOptions( gmsa_credential_spec="gmsa_credential_spec_example", @@ -25821,7 +27132,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -25850,6 +27161,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -25927,6 +27239,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -26100,6 +27413,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -26206,6 +27524,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -26379,6 +27698,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -26452,6 +27776,12 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", namespace="namespace_example", ), + mutexes=[ + IoArgoprojWorkflowV1alpha1Mutex( + name="name_example", + namespace="namespace_example", + ), + ], semaphore=IoArgoprojWorkflowV1alpha1SemaphoreRef( config_map_key_ref=ConfigMapKeySelector( key="key_example", @@ -26460,13 +27790,23 @@ with argo_workflows.ApiClient(configuration) as api_client: ), namespace="namespace_example", ), + semaphores=[ + IoArgoprojWorkflowV1alpha1SemaphoreRef( + config_map_key_ref=ConfigMapKeySelector( + key="key_example", + name="name_example", + optional=True, + ), + namespace="namespace_example", + ), + ], ), timeout="timeout_example", tolerations=[ Toleration( - effect="NoExecute", + effect="effect_example", key="key_example", - operator="Equal", + operator="operator_example", toleration_seconds=1, value="value_example", ), @@ -26563,7 +27903,6 @@ with argo_workflows.ApiClient(configuration) as api_client: annotations={ "key": "key_example", }, - cluster_name="cluster_name_example", creation_timestamp=dateutil_parser('1970-01-01T00:00:00.00Z'), deletion_grace_period_seconds=1, deletion_timestamp=dateutil_parser('1970-01-01T00:00:00.00Z'), @@ -26611,12 +27950,13 @@ with argo_workflows.ApiClient(configuration) as api_client: kind="kind_example", name="name_example", ), - data_source_ref=TypedLocalObjectReference( + data_source_ref=TypedObjectReference( api_group="api_group_example", kind="kind_example", name="name_example", + namespace="namespace_example", ), - resources=ResourceRequirements( + resources=VolumeResourceRequirements( limits={ "key": "key_example", }, @@ -26639,6 +27979,7 @@ with argo_workflows.ApiClient(configuration) as api_client: }, ), storage_class_name="storage_class_name_example", + volume_attributes_class_name="volume_attributes_class_name_example", volume_mode="volume_mode_example", volume_name="volume_name_example", ), @@ -26730,6 +28071,26 @@ with argo_workflows.ApiClient(configuration) as api_client: default_mode=1, sources=[ VolumeProjection( + cluster_trust_bundle=ClusterTrustBundleProjection( + label_selector=LabelSelector( + match_expressions=[ + LabelSelectorRequirement( + key="key_example", + operator="operator_example", + values=[ + "values_example", + ], + ), + ], + match_labels={ + "key": "key_example", + }, + ), + name="name_example", + optional=True, + path="path_example", + signer_name="signer_name_example", + ), config_map=ConfigMapProjection( items=[ KeyToPath( @@ -26846,9 +28207,9 @@ with argo_workflows.ApiClient(configuration) as api_client: ], tolerations=[ Toleration( - effect="NoExecute", + effect="effect_example", key="key_example", - operator="Equal", + operator="operator_example", toleration_seconds=1, value="value_example", ), @@ -26869,7 +28230,6 @@ with argo_workflows.ApiClient(configuration) as api_client: annotations={ "key": "key_example", }, - cluster_name="cluster_name_example", creation_timestamp=dateutil_parser('1970-01-01T00:00:00.00Z'), deletion_grace_period_seconds=1, deletion_timestamp=dateutil_parser('1970-01-01T00:00:00.00Z'), @@ -26917,12 +28277,13 @@ with argo_workflows.ApiClient(configuration) as api_client: kind="kind_example", name="name_example", ), - data_source_ref=TypedLocalObjectReference( + data_source_ref=TypedObjectReference( api_group="api_group_example", kind="kind_example", name="name_example", + namespace="namespace_example", ), - resources=ResourceRequirements( + resources=VolumeResourceRequirements( limits={ "key": "key_example", }, @@ -26945,6 +28306,7 @@ with argo_workflows.ApiClient(configuration) as api_client: }, ), storage_class_name="storage_class_name_example", + volume_attributes_class_name="volume_attributes_class_name_example", volume_mode="volume_mode_example", volume_name="volume_name_example", ), @@ -26952,6 +28314,9 @@ with argo_workflows.ApiClient(configuration) as api_client: access_modes=[ "access_modes_example", ], + allocated_resource_statuses={ + "key": "key_example", + }, allocated_resources={ "key": "key_example", }, @@ -26965,11 +28330,15 @@ with argo_workflows.ApiClient(configuration) as api_client: message="message_example", reason="reason_example", status="status_example", - type="FileSystemResizePending", + type="type_example", ), ], - phase="Bound", - resize_status="resize_status_example", + current_volume_attributes_class_name="current_volume_attributes_class_name_example", + modify_volume_status=ModifyVolumeStatus( + status="status_example", + target_volume_attributes_class_name="target_volume_attributes_class_name_example", + ), + phase="phase_example", ), ), ], @@ -27065,7 +28434,6 @@ with argo_workflows.ApiClient(configuration) as api_client: annotations={ "key": "key_example", }, - cluster_name="cluster_name_example", creation_timestamp=dateutil_parser('1970-01-01T00:00:00.00Z'), deletion_grace_period_seconds=1, deletion_timestamp=dateutil_parser('1970-01-01T00:00:00.00Z'), @@ -27113,12 +28481,13 @@ with argo_workflows.ApiClient(configuration) as api_client: kind="kind_example", name="name_example", ), - data_source_ref=TypedLocalObjectReference( + data_source_ref=TypedObjectReference( api_group="api_group_example", kind="kind_example", name="name_example", + namespace="namespace_example", ), - resources=ResourceRequirements( + resources=VolumeResourceRequirements( limits={ "key": "key_example", }, @@ -27141,6 +28510,7 @@ with argo_workflows.ApiClient(configuration) as api_client: }, ), storage_class_name="storage_class_name_example", + volume_attributes_class_name="volume_attributes_class_name_example", volume_mode="volume_mode_example", volume_name="volume_name_example", ), @@ -27232,6 +28602,26 @@ with argo_workflows.ApiClient(configuration) as api_client: default_mode=1, sources=[ VolumeProjection( + cluster_trust_bundle=ClusterTrustBundleProjection( + label_selector=LabelSelector( + match_expressions=[ + LabelSelectorRequirement( + key="key_example", + operator="operator_example", + values=[ + "values_example", + ], + ), + ], + match_labels={ + "key": "key_example", + }, + ), + name="name_example", + optional=True, + path="path_example", + signer_name="signer_name_example", + ), config_map=ConfigMapProjection( items=[ KeyToPath( @@ -27487,7 +28877,7 @@ with argo_workflows.ApiClient(configuration) as api_client: delete_options_propagation_policy = "deleteOptions.propagationPolicy_example" # 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 = [ "deleteOptions.dryRun_example", - ] # [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) + ] # [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 = True # bool | (optional) # example passing only required values which don't have defaults set @@ -27518,7 +28908,7 @@ Name | Type | Description | Notes **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 type @@ -27683,7 +29073,6 @@ with argo_workflows.ApiClient(configuration) as api_client: annotations={ "key": "key_example", }, - cluster_name="cluster_name_example", creation_timestamp=dateutil_parser('1970-01-01T00:00:00.00Z'), deletion_grace_period_seconds=1, deletion_timestamp=dateutil_parser('1970-01-01T00:00:00.00Z'), @@ -27732,7 +29121,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_expressions=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -27741,7 +29130,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_fields=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -27757,7 +29146,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_expressions=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -27766,7 +29155,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_fields=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -27794,6 +29183,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -27832,6 +29227,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -27871,6 +29272,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -27909,6 +29316,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -27999,6 +29412,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -28172,6 +29586,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -28312,6 +29731,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -28485,6 +29905,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -28592,6 +30017,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + unhealthy_pod_eviction_policy="unhealthy_pod_eviction_policy_example", ), pod_gc=IoArgoprojWorkflowV1alpha1PodGC( delete_delay_duration="delete_delay_duration_example", @@ -28638,6 +30064,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ), scheduler_name="scheduler_name_example", security_context=PodSecurityContext( + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), fs_group=1, fs_group_change_policy="fs_group_change_policy_example", run_as_group=1, @@ -28651,7 +30081,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), supplemental_groups=[ 1, @@ -28677,6 +30107,12 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", namespace="namespace_example", ), + mutexes=[ + IoArgoprojWorkflowV1alpha1Mutex( + name="name_example", + namespace="namespace_example", + ), + ], semaphore=IoArgoprojWorkflowV1alpha1SemaphoreRef( config_map_key_ref=ConfigMapKeySelector( key="key_example", @@ -28685,6 +30121,16 @@ with argo_workflows.ApiClient(configuration) as api_client: ), namespace="namespace_example", ), + semaphores=[ + IoArgoprojWorkflowV1alpha1SemaphoreRef( + config_map_key_ref=ConfigMapKeySelector( + key="key_example", + name="name_example", + optional=True, + ), + namespace="namespace_example", + ), + ], ), template_defaults=IoArgoprojWorkflowV1alpha1Template( active_deadline_seconds="active_deadline_seconds_example", @@ -28696,7 +30142,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_expressions=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -28705,7 +30151,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_fields=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -28721,7 +30167,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_expressions=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -28730,7 +30176,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_fields=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -28758,6 +30204,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -28796,6 +30248,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -28835,6 +30293,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -28873,6 +30337,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -28938,6 +30408,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -29105,6 +30576,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), ), @@ -29157,7 +30633,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), ], image="image_example", - image_pull_policy="Always", + image_pull_policy="image_pull_policy_example", lifecycle=Lifecycle( post_start=LifecycleHandler( _exec=ExecAction( @@ -29175,7 +30651,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -29198,7 +30677,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -29227,7 +30709,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -29246,7 +30728,7 @@ with argo_workflows.ApiClient(configuration) as api_client: host_ip="host_ip_example", host_port=1, name="name_example", - protocol="SCTP", + protocol="protocol_example", ), ], readiness_probe=Probe( @@ -29270,7 +30752,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -29282,7 +30764,18 @@ with argo_workflows.ApiClient(configuration) as api_client: termination_grace_period_seconds=1, timeout_seconds=1, ), + resize_policy=[ + ContainerResizePolicy( + resource_name="resource_name_example", + restart_policy="restart_policy_example", + ), + ], resources=ResourceRequirements( + claims=[ + ResourceClaim( + name="name_example", + ), + ], limits={ "key": "key_example", }, @@ -29290,8 +30783,13 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + restart_policy="restart_policy_example", security_context=SecurityContext( allow_privilege_escalation=True, + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), capabilities=Capabilities( add=[ "add_example", @@ -29314,7 +30812,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), windows_options=WindowsSecurityContextOptions( gmsa_credential_spec="gmsa_credential_spec_example", @@ -29344,7 +30842,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -29359,7 +30857,7 @@ with argo_workflows.ApiClient(configuration) as api_client: stdin=True, stdin_once=True, termination_message_path="termination_message_path_example", - termination_message_policy="FallbackToLogsOnError", + termination_message_policy="termination_message_policy_example", tty=True, volume_devices=[ VolumeDevice( @@ -29373,6 +30871,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -29450,7 +30949,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -29473,7 +30975,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -29502,7 +31007,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -29521,7 +31026,7 @@ with argo_workflows.ApiClient(configuration) as api_client: host_ip="host_ip_example", host_port=1, name="name_example", - protocol="SCTP", + protocol="protocol_example", ), ], readiness_probe=Probe( @@ -29545,7 +31050,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -29557,7 +31062,18 @@ with argo_workflows.ApiClient(configuration) as api_client: termination_grace_period_seconds=1, timeout_seconds=1, ), + resize_policy=[ + ContainerResizePolicy( + resource_name="resource_name_example", + restart_policy="restart_policy_example", + ), + ], resources=ResourceRequirements( + claims=[ + ResourceClaim( + name="name_example", + ), + ], limits={ "key": "key_example", }, @@ -29565,8 +31081,13 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + restart_policy="restart_policy_example", security_context=SecurityContext( allow_privilege_escalation=True, + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), capabilities=Capabilities( add=[ "add_example", @@ -29589,7 +31110,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), windows_options=WindowsSecurityContextOptions( gmsa_credential_spec="gmsa_credential_spec_example", @@ -29619,7 +31140,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -29648,6 +31169,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -29665,6 +31187,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -29743,6 +31266,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -29916,6 +31440,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -30026,6 +31555,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -30199,6 +31729,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -30331,6 +31866,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -30504,6 +32040,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -30618,7 +32159,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -30641,7 +32185,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -30670,7 +32217,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -30690,7 +32237,7 @@ with argo_workflows.ApiClient(configuration) as api_client: host_ip="host_ip_example", host_port=1, name="name_example", - protocol="SCTP", + protocol="protocol_example", ), ], readiness_probe=Probe( @@ -30714,7 +32261,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -30726,7 +32273,18 @@ with argo_workflows.ApiClient(configuration) as api_client: termination_grace_period_seconds=1, timeout_seconds=1, ), + resize_policy=[ + ContainerResizePolicy( + resource_name="resource_name_example", + restart_policy="restart_policy_example", + ), + ], resources=ResourceRequirements( + claims=[ + ResourceClaim( + name="name_example", + ), + ], limits={ "key": "key_example", }, @@ -30734,8 +32292,13 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + restart_policy="restart_policy_example", security_context=SecurityContext( allow_privilege_escalation=True, + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), capabilities=Capabilities( add=[ "add_example", @@ -30758,7 +32321,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), windows_options=WindowsSecurityContextOptions( gmsa_credential_spec="gmsa_credential_spec_example", @@ -30788,7 +32351,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -30817,6 +32380,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -30891,6 +32455,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -31064,6 +32629,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -31216,6 +32786,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -31389,6 +32960,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -31502,6 +33078,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -31675,6 +33252,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -31764,7 +33346,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -31787,7 +33372,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -31816,7 +33404,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -31835,7 +33423,7 @@ with argo_workflows.ApiClient(configuration) as api_client: host_ip="host_ip_example", host_port=1, name="name_example", - protocol="SCTP", + protocol="protocol_example", ), ], readiness_probe=Probe( @@ -31859,7 +33447,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -31871,7 +33459,18 @@ with argo_workflows.ApiClient(configuration) as api_client: termination_grace_period_seconds=1, timeout_seconds=1, ), + resize_policy=[ + ContainerResizePolicy( + resource_name="resource_name_example", + restart_policy="restart_policy_example", + ), + ], resources=ResourceRequirements( + claims=[ + ResourceClaim( + name="name_example", + ), + ], limits={ "key": "key_example", }, @@ -31879,8 +33478,13 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + restart_policy="restart_policy_example", security_context=SecurityContext( allow_privilege_escalation=True, + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), capabilities=Capabilities( add=[ "add_example", @@ -31903,7 +33507,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), windows_options=WindowsSecurityContextOptions( gmsa_credential_spec="gmsa_credential_spec_example", @@ -31934,7 +33538,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -31963,6 +33567,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -31970,6 +33575,10 @@ with argo_workflows.ApiClient(configuration) as api_client: working_dir="working_dir_example", ), security_context=PodSecurityContext( + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), fs_group=1, fs_group_change_policy="fs_group_change_policy_example", run_as_group=1, @@ -31983,7 +33592,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), supplemental_groups=[ 1, @@ -32069,7 +33678,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -32092,7 +33704,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -32121,7 +33736,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -32141,7 +33756,7 @@ with argo_workflows.ApiClient(configuration) as api_client: host_ip="host_ip_example", host_port=1, name="name_example", - protocol="SCTP", + protocol="protocol_example", ), ], readiness_probe=Probe( @@ -32165,7 +33780,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -32177,7 +33792,18 @@ with argo_workflows.ApiClient(configuration) as api_client: termination_grace_period_seconds=1, timeout_seconds=1, ), + resize_policy=[ + ContainerResizePolicy( + resource_name="resource_name_example", + restart_policy="restart_policy_example", + ), + ], resources=ResourceRequirements( + claims=[ + ResourceClaim( + name="name_example", + ), + ], limits={ "key": "key_example", }, @@ -32185,8 +33811,13 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + restart_policy="restart_policy_example", security_context=SecurityContext( allow_privilege_escalation=True, + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), capabilities=Capabilities( add=[ "add_example", @@ -32209,7 +33840,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), windows_options=WindowsSecurityContextOptions( gmsa_credential_spec="gmsa_credential_spec_example", @@ -32239,7 +33870,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -32268,6 +33899,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -32345,6 +33977,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -32518,6 +34151,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -32624,6 +34262,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -32797,6 +34436,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -32870,6 +34514,12 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", namespace="namespace_example", ), + mutexes=[ + IoArgoprojWorkflowV1alpha1Mutex( + name="name_example", + namespace="namespace_example", + ), + ], semaphore=IoArgoprojWorkflowV1alpha1SemaphoreRef( config_map_key_ref=ConfigMapKeySelector( key="key_example", @@ -32878,13 +34528,23 @@ with argo_workflows.ApiClient(configuration) as api_client: ), namespace="namespace_example", ), + semaphores=[ + IoArgoprojWorkflowV1alpha1SemaphoreRef( + config_map_key_ref=ConfigMapKeySelector( + key="key_example", + name="name_example", + optional=True, + ), + namespace="namespace_example", + ), + ], ), timeout="timeout_example", tolerations=[ Toleration( - effect="NoExecute", + effect="effect_example", key="key_example", - operator="Equal", + operator="operator_example", toleration_seconds=1, value="value_example", ), @@ -32981,7 +34641,6 @@ with argo_workflows.ApiClient(configuration) as api_client: annotations={ "key": "key_example", }, - cluster_name="cluster_name_example", creation_timestamp=dateutil_parser('1970-01-01T00:00:00.00Z'), deletion_grace_period_seconds=1, deletion_timestamp=dateutil_parser('1970-01-01T00:00:00.00Z'), @@ -33029,12 +34688,13 @@ with argo_workflows.ApiClient(configuration) as api_client: kind="kind_example", name="name_example", ), - data_source_ref=TypedLocalObjectReference( + data_source_ref=TypedObjectReference( api_group="api_group_example", kind="kind_example", name="name_example", + namespace="namespace_example", ), - resources=ResourceRequirements( + resources=VolumeResourceRequirements( limits={ "key": "key_example", }, @@ -33057,6 +34717,7 @@ with argo_workflows.ApiClient(configuration) as api_client: }, ), storage_class_name="storage_class_name_example", + volume_attributes_class_name="volume_attributes_class_name_example", volume_mode="volume_mode_example", volume_name="volume_name_example", ), @@ -33148,6 +34809,26 @@ with argo_workflows.ApiClient(configuration) as api_client: default_mode=1, sources=[ VolumeProjection( + cluster_trust_bundle=ClusterTrustBundleProjection( + label_selector=LabelSelector( + match_expressions=[ + LabelSelectorRequirement( + key="key_example", + operator="operator_example", + values=[ + "values_example", + ], + ), + ], + match_labels={ + "key": "key_example", + }, + ), + name="name_example", + optional=True, + path="path_example", + signer_name="signer_name_example", + ), config_map=ConfigMapProjection( items=[ KeyToPath( @@ -33272,7 +34953,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_expressions=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -33281,7 +34962,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_fields=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -33297,7 +34978,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_expressions=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -33306,7 +34987,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_fields=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -33334,6 +35015,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -33372,6 +35059,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -33411,6 +35104,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -33449,6 +35148,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -33514,6 +35219,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -33681,6 +35387,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), ), @@ -33733,7 +35444,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), ], image="image_example", - image_pull_policy="Always", + image_pull_policy="image_pull_policy_example", lifecycle=Lifecycle( post_start=LifecycleHandler( _exec=ExecAction( @@ -33751,7 +35462,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -33774,7 +35488,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -33803,7 +35520,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -33822,7 +35539,7 @@ with argo_workflows.ApiClient(configuration) as api_client: host_ip="host_ip_example", host_port=1, name="name_example", - protocol="SCTP", + protocol="protocol_example", ), ], readiness_probe=Probe( @@ -33846,7 +35563,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -33858,7 +35575,18 @@ with argo_workflows.ApiClient(configuration) as api_client: termination_grace_period_seconds=1, timeout_seconds=1, ), + resize_policy=[ + ContainerResizePolicy( + resource_name="resource_name_example", + restart_policy="restart_policy_example", + ), + ], resources=ResourceRequirements( + claims=[ + ResourceClaim( + name="name_example", + ), + ], limits={ "key": "key_example", }, @@ -33866,8 +35594,13 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + restart_policy="restart_policy_example", security_context=SecurityContext( allow_privilege_escalation=True, + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), capabilities=Capabilities( add=[ "add_example", @@ -33890,7 +35623,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), windows_options=WindowsSecurityContextOptions( gmsa_credential_spec="gmsa_credential_spec_example", @@ -33920,7 +35653,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -33935,7 +35668,7 @@ with argo_workflows.ApiClient(configuration) as api_client: stdin=True, stdin_once=True, termination_message_path="termination_message_path_example", - termination_message_policy="FallbackToLogsOnError", + termination_message_policy="termination_message_policy_example", tty=True, volume_devices=[ VolumeDevice( @@ -33949,6 +35682,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -34026,7 +35760,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -34049,7 +35786,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -34078,7 +35818,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -34097,7 +35837,7 @@ with argo_workflows.ApiClient(configuration) as api_client: host_ip="host_ip_example", host_port=1, name="name_example", - protocol="SCTP", + protocol="protocol_example", ), ], readiness_probe=Probe( @@ -34121,7 +35861,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -34133,7 +35873,18 @@ with argo_workflows.ApiClient(configuration) as api_client: termination_grace_period_seconds=1, timeout_seconds=1, ), + resize_policy=[ + ContainerResizePolicy( + resource_name="resource_name_example", + restart_policy="restart_policy_example", + ), + ], resources=ResourceRequirements( + claims=[ + ResourceClaim( + name="name_example", + ), + ], limits={ "key": "key_example", }, @@ -34141,8 +35892,13 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + restart_policy="restart_policy_example", security_context=SecurityContext( allow_privilege_escalation=True, + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), capabilities=Capabilities( add=[ "add_example", @@ -34165,7 +35921,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), windows_options=WindowsSecurityContextOptions( gmsa_credential_spec="gmsa_credential_spec_example", @@ -34195,7 +35951,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -34224,6 +35980,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -34241,6 +35998,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -34319,6 +36077,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -34492,6 +36251,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -34602,6 +36366,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -34775,6 +36540,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -34907,6 +36677,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -35080,6 +36851,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -35194,7 +36970,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -35217,7 +36996,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -35246,7 +37028,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -35266,7 +37048,7 @@ with argo_workflows.ApiClient(configuration) as api_client: host_ip="host_ip_example", host_port=1, name="name_example", - protocol="SCTP", + protocol="protocol_example", ), ], readiness_probe=Probe( @@ -35290,7 +37072,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -35302,7 +37084,18 @@ with argo_workflows.ApiClient(configuration) as api_client: termination_grace_period_seconds=1, timeout_seconds=1, ), + resize_policy=[ + ContainerResizePolicy( + resource_name="resource_name_example", + restart_policy="restart_policy_example", + ), + ], resources=ResourceRequirements( + claims=[ + ResourceClaim( + name="name_example", + ), + ], limits={ "key": "key_example", }, @@ -35310,8 +37103,13 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + restart_policy="restart_policy_example", security_context=SecurityContext( allow_privilege_escalation=True, + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), capabilities=Capabilities( add=[ "add_example", @@ -35334,7 +37132,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), windows_options=WindowsSecurityContextOptions( gmsa_credential_spec="gmsa_credential_spec_example", @@ -35364,7 +37162,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -35393,6 +37191,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -35467,6 +37266,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -35640,6 +37440,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -35792,6 +37597,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -35965,6 +37771,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -36078,6 +37889,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -36251,6 +38063,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -36340,7 +38157,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -36363,7 +38183,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -36392,7 +38215,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -36411,7 +38234,7 @@ with argo_workflows.ApiClient(configuration) as api_client: host_ip="host_ip_example", host_port=1, name="name_example", - protocol="SCTP", + protocol="protocol_example", ), ], readiness_probe=Probe( @@ -36435,7 +38258,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -36447,7 +38270,18 @@ with argo_workflows.ApiClient(configuration) as api_client: termination_grace_period_seconds=1, timeout_seconds=1, ), + resize_policy=[ + ContainerResizePolicy( + resource_name="resource_name_example", + restart_policy="restart_policy_example", + ), + ], resources=ResourceRequirements( + claims=[ + ResourceClaim( + name="name_example", + ), + ], limits={ "key": "key_example", }, @@ -36455,8 +38289,13 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + restart_policy="restart_policy_example", security_context=SecurityContext( allow_privilege_escalation=True, + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), capabilities=Capabilities( add=[ "add_example", @@ -36479,7 +38318,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), windows_options=WindowsSecurityContextOptions( gmsa_credential_spec="gmsa_credential_spec_example", @@ -36510,7 +38349,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -36539,6 +38378,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -36546,6 +38386,10 @@ with argo_workflows.ApiClient(configuration) as api_client: working_dir="working_dir_example", ), security_context=PodSecurityContext( + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), fs_group=1, fs_group_change_policy="fs_group_change_policy_example", run_as_group=1, @@ -36559,7 +38403,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), supplemental_groups=[ 1, @@ -36645,7 +38489,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -36668,7 +38515,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -36697,7 +38547,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -36717,7 +38567,7 @@ with argo_workflows.ApiClient(configuration) as api_client: host_ip="host_ip_example", host_port=1, name="name_example", - protocol="SCTP", + protocol="protocol_example", ), ], readiness_probe=Probe( @@ -36741,7 +38591,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -36753,7 +38603,18 @@ with argo_workflows.ApiClient(configuration) as api_client: termination_grace_period_seconds=1, timeout_seconds=1, ), + resize_policy=[ + ContainerResizePolicy( + resource_name="resource_name_example", + restart_policy="restart_policy_example", + ), + ], resources=ResourceRequirements( + claims=[ + ResourceClaim( + name="name_example", + ), + ], limits={ "key": "key_example", }, @@ -36761,8 +38622,13 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + restart_policy="restart_policy_example", security_context=SecurityContext( allow_privilege_escalation=True, + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), capabilities=Capabilities( add=[ "add_example", @@ -36785,7 +38651,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), windows_options=WindowsSecurityContextOptions( gmsa_credential_spec="gmsa_credential_spec_example", @@ -36815,7 +38681,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -36844,6 +38710,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -36921,6 +38788,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -37094,6 +38962,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -37200,6 +39073,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -37373,6 +39247,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -37446,6 +39325,12 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", namespace="namespace_example", ), + mutexes=[ + IoArgoprojWorkflowV1alpha1Mutex( + name="name_example", + namespace="namespace_example", + ), + ], semaphore=IoArgoprojWorkflowV1alpha1SemaphoreRef( config_map_key_ref=ConfigMapKeySelector( key="key_example", @@ -37454,13 +39339,23 @@ with argo_workflows.ApiClient(configuration) as api_client: ), namespace="namespace_example", ), + semaphores=[ + IoArgoprojWorkflowV1alpha1SemaphoreRef( + config_map_key_ref=ConfigMapKeySelector( + key="key_example", + name="name_example", + optional=True, + ), + namespace="namespace_example", + ), + ], ), timeout="timeout_example", tolerations=[ Toleration( - effect="NoExecute", + effect="effect_example", key="key_example", - operator="Equal", + operator="operator_example", toleration_seconds=1, value="value_example", ), @@ -37557,7 +39452,6 @@ with argo_workflows.ApiClient(configuration) as api_client: annotations={ "key": "key_example", }, - cluster_name="cluster_name_example", creation_timestamp=dateutil_parser('1970-01-01T00:00:00.00Z'), deletion_grace_period_seconds=1, deletion_timestamp=dateutil_parser('1970-01-01T00:00:00.00Z'), @@ -37605,12 +39499,13 @@ with argo_workflows.ApiClient(configuration) as api_client: kind="kind_example", name="name_example", ), - data_source_ref=TypedLocalObjectReference( + data_source_ref=TypedObjectReference( api_group="api_group_example", kind="kind_example", name="name_example", + namespace="namespace_example", ), - resources=ResourceRequirements( + resources=VolumeResourceRequirements( limits={ "key": "key_example", }, @@ -37633,6 +39528,7 @@ with argo_workflows.ApiClient(configuration) as api_client: }, ), storage_class_name="storage_class_name_example", + volume_attributes_class_name="volume_attributes_class_name_example", volume_mode="volume_mode_example", volume_name="volume_name_example", ), @@ -37724,6 +39620,26 @@ with argo_workflows.ApiClient(configuration) as api_client: default_mode=1, sources=[ VolumeProjection( + cluster_trust_bundle=ClusterTrustBundleProjection( + label_selector=LabelSelector( + match_expressions=[ + LabelSelectorRequirement( + key="key_example", + operator="operator_example", + values=[ + "values_example", + ], + ), + ], + match_labels={ + "key": "key_example", + }, + ), + name="name_example", + optional=True, + path="path_example", + signer_name="signer_name_example", + ), config_map=ConfigMapProjection( items=[ KeyToPath( @@ -37840,9 +39756,9 @@ with argo_workflows.ApiClient(configuration) as api_client: ], tolerations=[ Toleration( - effect="NoExecute", + effect="effect_example", key="key_example", - operator="Equal", + operator="operator_example", toleration_seconds=1, value="value_example", ), @@ -37863,7 +39779,6 @@ with argo_workflows.ApiClient(configuration) as api_client: annotations={ "key": "key_example", }, - cluster_name="cluster_name_example", creation_timestamp=dateutil_parser('1970-01-01T00:00:00.00Z'), deletion_grace_period_seconds=1, deletion_timestamp=dateutil_parser('1970-01-01T00:00:00.00Z'), @@ -37911,12 +39826,13 @@ with argo_workflows.ApiClient(configuration) as api_client: kind="kind_example", name="name_example", ), - data_source_ref=TypedLocalObjectReference( + data_source_ref=TypedObjectReference( api_group="api_group_example", kind="kind_example", name="name_example", + namespace="namespace_example", ), - resources=ResourceRequirements( + resources=VolumeResourceRequirements( limits={ "key": "key_example", }, @@ -37939,6 +39855,7 @@ with argo_workflows.ApiClient(configuration) as api_client: }, ), storage_class_name="storage_class_name_example", + volume_attributes_class_name="volume_attributes_class_name_example", volume_mode="volume_mode_example", volume_name="volume_name_example", ), @@ -37946,6 +39863,9 @@ with argo_workflows.ApiClient(configuration) as api_client: access_modes=[ "access_modes_example", ], + allocated_resource_statuses={ + "key": "key_example", + }, allocated_resources={ "key": "key_example", }, @@ -37959,11 +39879,15 @@ with argo_workflows.ApiClient(configuration) as api_client: message="message_example", reason="reason_example", status="status_example", - type="FileSystemResizePending", + type="type_example", ), ], - phase="Bound", - resize_status="resize_status_example", + current_volume_attributes_class_name="current_volume_attributes_class_name_example", + modify_volume_status=ModifyVolumeStatus( + status="status_example", + target_volume_attributes_class_name="target_volume_attributes_class_name_example", + ), + phase="phase_example", ), ), ], @@ -38059,7 +39983,6 @@ with argo_workflows.ApiClient(configuration) as api_client: annotations={ "key": "key_example", }, - cluster_name="cluster_name_example", creation_timestamp=dateutil_parser('1970-01-01T00:00:00.00Z'), deletion_grace_period_seconds=1, deletion_timestamp=dateutil_parser('1970-01-01T00:00:00.00Z'), @@ -38107,12 +40030,13 @@ with argo_workflows.ApiClient(configuration) as api_client: kind="kind_example", name="name_example", ), - data_source_ref=TypedLocalObjectReference( + data_source_ref=TypedObjectReference( api_group="api_group_example", kind="kind_example", name="name_example", + namespace="namespace_example", ), - resources=ResourceRequirements( + resources=VolumeResourceRequirements( limits={ "key": "key_example", }, @@ -38135,6 +40059,7 @@ with argo_workflows.ApiClient(configuration) as api_client: }, ), storage_class_name="storage_class_name_example", + volume_attributes_class_name="volume_attributes_class_name_example", volume_mode="volume_mode_example", volume_name="volume_name_example", ), @@ -38226,6 +40151,26 @@ with argo_workflows.ApiClient(configuration) as api_client: default_mode=1, sources=[ VolumeProjection( + cluster_trust_bundle=ClusterTrustBundleProjection( + label_selector=LabelSelector( + match_expressions=[ + LabelSelectorRequirement( + key="key_example", + operator="operator_example", + values=[ + "values_example", + ], + ), + ], + match_labels={ + "key": "key_example", + }, + ), + name="name_example", + optional=True, + path="path_example", + signer_name="signer_name_example", + ), config_map=ConfigMapProjection( items=[ KeyToPath( @@ -38488,6 +40433,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), ), @@ -38586,6 +40536,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -38759,6 +40710,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -38873,6 +40829,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -39046,6 +41003,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -39169,6 +41131,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -39342,6 +41305,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -39469,7 +41437,6 @@ with argo_workflows.ApiClient(configuration) as api_client: annotations={ "key": "key_example", }, - cluster_name="cluster_name_example", creation_timestamp=dateutil_parser('1970-01-01T00:00:00.00Z'), deletion_grace_period_seconds=1, deletion_timestamp=dateutil_parser('1970-01-01T00:00:00.00Z'), @@ -39517,12 +41484,13 @@ with argo_workflows.ApiClient(configuration) as api_client: kind="kind_example", name="name_example", ), - data_source_ref=TypedLocalObjectReference( + data_source_ref=TypedObjectReference( api_group="api_group_example", kind="kind_example", name="name_example", + namespace="namespace_example", ), - resources=ResourceRequirements( + resources=VolumeResourceRequirements( limits={ "key": "key_example", }, @@ -39545,6 +41513,7 @@ with argo_workflows.ApiClient(configuration) as api_client: }, ), storage_class_name="storage_class_name_example", + volume_attributes_class_name="volume_attributes_class_name_example", volume_mode="volume_mode_example", volume_name="volume_name_example", ), @@ -39636,6 +41605,26 @@ with argo_workflows.ApiClient(configuration) as api_client: default_mode=1, sources=[ VolumeProjection( + cluster_trust_bundle=ClusterTrustBundleProjection( + label_selector=LabelSelector( + match_expressions=[ + LabelSelectorRequirement( + key="key_example", + operator="operator_example", + values=[ + "values_example", + ], + ), + ], + match_labels={ + "key": "key_example", + }, + ), + name="name_example", + optional=True, + path="path_example", + signer_name="signer_name_example", + ), config_map=ConfigMapProjection( items=[ KeyToPath( @@ -39765,7 +41754,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_expressions=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -39774,7 +41763,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_fields=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -39790,7 +41779,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_expressions=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -39799,7 +41788,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_fields=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -39827,6 +41816,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -39865,6 +41860,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -39904,6 +41905,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -39942,6 +41949,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -40007,6 +42020,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -40174,6 +42188,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), ), @@ -40226,7 +42245,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), ], image="image_example", - image_pull_policy="Always", + image_pull_policy="image_pull_policy_example", lifecycle=Lifecycle( post_start=LifecycleHandler( _exec=ExecAction( @@ -40244,7 +42263,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -40267,7 +42289,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -40296,7 +42321,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -40315,7 +42340,7 @@ with argo_workflows.ApiClient(configuration) as api_client: host_ip="host_ip_example", host_port=1, name="name_example", - protocol="SCTP", + protocol="protocol_example", ), ], readiness_probe=Probe( @@ -40339,7 +42364,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -40351,7 +42376,18 @@ with argo_workflows.ApiClient(configuration) as api_client: termination_grace_period_seconds=1, timeout_seconds=1, ), + resize_policy=[ + ContainerResizePolicy( + resource_name="resource_name_example", + restart_policy="restart_policy_example", + ), + ], resources=ResourceRequirements( + claims=[ + ResourceClaim( + name="name_example", + ), + ], limits={ "key": "key_example", }, @@ -40359,8 +42395,13 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + restart_policy="restart_policy_example", security_context=SecurityContext( allow_privilege_escalation=True, + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), capabilities=Capabilities( add=[ "add_example", @@ -40383,7 +42424,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), windows_options=WindowsSecurityContextOptions( gmsa_credential_spec="gmsa_credential_spec_example", @@ -40413,7 +42454,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -40428,7 +42469,7 @@ with argo_workflows.ApiClient(configuration) as api_client: stdin=True, stdin_once=True, termination_message_path="termination_message_path_example", - termination_message_policy="FallbackToLogsOnError", + termination_message_policy="termination_message_policy_example", tty=True, volume_devices=[ VolumeDevice( @@ -40442,6 +42483,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -40519,7 +42561,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -40542,7 +42587,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -40571,7 +42619,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -40590,7 +42638,7 @@ with argo_workflows.ApiClient(configuration) as api_client: host_ip="host_ip_example", host_port=1, name="name_example", - protocol="SCTP", + protocol="protocol_example", ), ], readiness_probe=Probe( @@ -40614,7 +42662,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -40626,7 +42674,18 @@ with argo_workflows.ApiClient(configuration) as api_client: termination_grace_period_seconds=1, timeout_seconds=1, ), + resize_policy=[ + ContainerResizePolicy( + resource_name="resource_name_example", + restart_policy="restart_policy_example", + ), + ], resources=ResourceRequirements( + claims=[ + ResourceClaim( + name="name_example", + ), + ], limits={ "key": "key_example", }, @@ -40634,8 +42693,13 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + restart_policy="restart_policy_example", security_context=SecurityContext( allow_privilege_escalation=True, + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), capabilities=Capabilities( add=[ "add_example", @@ -40658,7 +42722,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), windows_options=WindowsSecurityContextOptions( gmsa_credential_spec="gmsa_credential_spec_example", @@ -40688,7 +42752,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -40717,6 +42781,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -40734,6 +42799,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -40812,6 +42878,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -40985,6 +43052,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -41095,6 +43167,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -41268,6 +43341,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -41400,6 +43478,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -41573,6 +43652,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -41687,7 +43771,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -41710,7 +43797,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -41739,7 +43829,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -41759,7 +43849,7 @@ with argo_workflows.ApiClient(configuration) as api_client: host_ip="host_ip_example", host_port=1, name="name_example", - protocol="SCTP", + protocol="protocol_example", ), ], readiness_probe=Probe( @@ -41783,7 +43873,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -41795,7 +43885,18 @@ with argo_workflows.ApiClient(configuration) as api_client: termination_grace_period_seconds=1, timeout_seconds=1, ), + resize_policy=[ + ContainerResizePolicy( + resource_name="resource_name_example", + restart_policy="restart_policy_example", + ), + ], resources=ResourceRequirements( + claims=[ + ResourceClaim( + name="name_example", + ), + ], limits={ "key": "key_example", }, @@ -41803,8 +43904,13 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + restart_policy="restart_policy_example", security_context=SecurityContext( allow_privilege_escalation=True, + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), capabilities=Capabilities( add=[ "add_example", @@ -41827,7 +43933,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), windows_options=WindowsSecurityContextOptions( gmsa_credential_spec="gmsa_credential_spec_example", @@ -41857,7 +43963,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -41886,6 +43992,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -41960,6 +44067,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -42133,6 +44241,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -42285,6 +44398,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -42458,6 +44572,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -42571,6 +44690,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -42744,6 +44864,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -42833,7 +44958,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -42856,7 +44984,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -42885,7 +45016,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -42904,7 +45035,7 @@ with argo_workflows.ApiClient(configuration) as api_client: host_ip="host_ip_example", host_port=1, name="name_example", - protocol="SCTP", + protocol="protocol_example", ), ], readiness_probe=Probe( @@ -42928,7 +45059,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -42940,7 +45071,18 @@ with argo_workflows.ApiClient(configuration) as api_client: termination_grace_period_seconds=1, timeout_seconds=1, ), + resize_policy=[ + ContainerResizePolicy( + resource_name="resource_name_example", + restart_policy="restart_policy_example", + ), + ], resources=ResourceRequirements( + claims=[ + ResourceClaim( + name="name_example", + ), + ], limits={ "key": "key_example", }, @@ -42948,8 +45090,13 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + restart_policy="restart_policy_example", security_context=SecurityContext( allow_privilege_escalation=True, + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), capabilities=Capabilities( add=[ "add_example", @@ -42972,7 +45119,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), windows_options=WindowsSecurityContextOptions( gmsa_credential_spec="gmsa_credential_spec_example", @@ -43003,7 +45150,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -43032,6 +45179,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -43039,6 +45187,10 @@ with argo_workflows.ApiClient(configuration) as api_client: working_dir="working_dir_example", ), security_context=PodSecurityContext( + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), fs_group=1, fs_group_change_policy="fs_group_change_policy_example", run_as_group=1, @@ -43052,7 +45204,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), supplemental_groups=[ 1, @@ -43138,7 +45290,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -43161,7 +45316,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -43190,7 +45348,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -43210,7 +45368,7 @@ with argo_workflows.ApiClient(configuration) as api_client: host_ip="host_ip_example", host_port=1, name="name_example", - protocol="SCTP", + protocol="protocol_example", ), ], readiness_probe=Probe( @@ -43234,7 +45392,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -43246,7 +45404,18 @@ with argo_workflows.ApiClient(configuration) as api_client: termination_grace_period_seconds=1, timeout_seconds=1, ), + resize_policy=[ + ContainerResizePolicy( + resource_name="resource_name_example", + restart_policy="restart_policy_example", + ), + ], resources=ResourceRequirements( + claims=[ + ResourceClaim( + name="name_example", + ), + ], limits={ "key": "key_example", }, @@ -43254,8 +45423,13 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + restart_policy="restart_policy_example", security_context=SecurityContext( allow_privilege_escalation=True, + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), capabilities=Capabilities( add=[ "add_example", @@ -43278,7 +45452,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), windows_options=WindowsSecurityContextOptions( gmsa_credential_spec="gmsa_credential_spec_example", @@ -43308,7 +45482,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -43337,6 +45511,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -43414,6 +45589,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -43587,6 +45763,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -43693,6 +45874,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -43866,6 +46048,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -43939,6 +46126,12 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", namespace="namespace_example", ), + mutexes=[ + IoArgoprojWorkflowV1alpha1Mutex( + name="name_example", + namespace="namespace_example", + ), + ], semaphore=IoArgoprojWorkflowV1alpha1SemaphoreRef( config_map_key_ref=ConfigMapKeySelector( key="key_example", @@ -43947,13 +46140,23 @@ with argo_workflows.ApiClient(configuration) as api_client: ), namespace="namespace_example", ), + semaphores=[ + IoArgoprojWorkflowV1alpha1SemaphoreRef( + config_map_key_ref=ConfigMapKeySelector( + key="key_example", + name="name_example", + optional=True, + ), + namespace="namespace_example", + ), + ], ), timeout="timeout_example", tolerations=[ Toleration( - effect="NoExecute", + effect="effect_example", key="key_example", - operator="Equal", + operator="operator_example", toleration_seconds=1, value="value_example", ), @@ -44050,7 +46253,6 @@ with argo_workflows.ApiClient(configuration) as api_client: annotations={ "key": "key_example", }, - cluster_name="cluster_name_example", creation_timestamp=dateutil_parser('1970-01-01T00:00:00.00Z'), deletion_grace_period_seconds=1, deletion_timestamp=dateutil_parser('1970-01-01T00:00:00.00Z'), @@ -44098,12 +46300,13 @@ with argo_workflows.ApiClient(configuration) as api_client: kind="kind_example", name="name_example", ), - data_source_ref=TypedLocalObjectReference( + data_source_ref=TypedObjectReference( api_group="api_group_example", kind="kind_example", name="name_example", + namespace="namespace_example", ), - resources=ResourceRequirements( + resources=VolumeResourceRequirements( limits={ "key": "key_example", }, @@ -44126,6 +46329,7 @@ with argo_workflows.ApiClient(configuration) as api_client: }, ), storage_class_name="storage_class_name_example", + volume_attributes_class_name="volume_attributes_class_name_example", volume_mode="volume_mode_example", volume_name="volume_name_example", ), @@ -44217,6 +46421,26 @@ with argo_workflows.ApiClient(configuration) as api_client: default_mode=1, sources=[ VolumeProjection( + cluster_trust_bundle=ClusterTrustBundleProjection( + label_selector=LabelSelector( + match_expressions=[ + LabelSelectorRequirement( + key="key_example", + operator="operator_example", + values=[ + "values_example", + ], + ), + ], + match_labels={ + "key": "key_example", + }, + ), + name="name_example", + optional=True, + path="path_example", + signer_name="signer_name_example", + ), config_map=ConfigMapProjection( items=[ KeyToPath( @@ -44341,7 +46565,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_expressions=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -44350,7 +46574,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_fields=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -44366,7 +46590,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_expressions=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -44375,7 +46599,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_fields=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -44403,6 +46627,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -44441,6 +46671,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -44480,6 +46716,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -44518,6 +46760,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -44608,6 +46856,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -44781,6 +47030,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -44921,6 +47175,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -45094,6 +47349,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -45201,6 +47461,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + unhealthy_pod_eviction_policy="unhealthy_pod_eviction_policy_example", ), pod_gc=IoArgoprojWorkflowV1alpha1PodGC( delete_delay_duration="delete_delay_duration_example", @@ -45247,6 +47508,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ), scheduler_name="scheduler_name_example", security_context=PodSecurityContext( + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), fs_group=1, fs_group_change_policy="fs_group_change_policy_example", run_as_group=1, @@ -45260,7 +47525,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), supplemental_groups=[ 1, @@ -45286,6 +47551,12 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", namespace="namespace_example", ), + mutexes=[ + IoArgoprojWorkflowV1alpha1Mutex( + name="name_example", + namespace="namespace_example", + ), + ], semaphore=IoArgoprojWorkflowV1alpha1SemaphoreRef( config_map_key_ref=ConfigMapKeySelector( key="key_example", @@ -45294,6 +47565,16 @@ with argo_workflows.ApiClient(configuration) as api_client: ), namespace="namespace_example", ), + semaphores=[ + IoArgoprojWorkflowV1alpha1SemaphoreRef( + config_map_key_ref=ConfigMapKeySelector( + key="key_example", + name="name_example", + optional=True, + ), + namespace="namespace_example", + ), + ], ), template_defaults=IoArgoprojWorkflowV1alpha1Template( active_deadline_seconds="active_deadline_seconds_example", @@ -45305,7 +47586,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_expressions=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -45314,7 +47595,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_fields=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -45330,7 +47611,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_expressions=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -45339,7 +47620,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_fields=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -45367,6 +47648,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -45405,6 +47692,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -45444,6 +47737,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -45482,6 +47781,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -45547,6 +47852,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -45714,6 +48020,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), ), @@ -45766,7 +48077,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), ], image="image_example", - image_pull_policy="Always", + image_pull_policy="image_pull_policy_example", lifecycle=Lifecycle( post_start=LifecycleHandler( _exec=ExecAction( @@ -45784,7 +48095,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -45807,7 +48121,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -45836,7 +48153,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -45855,7 +48172,7 @@ with argo_workflows.ApiClient(configuration) as api_client: host_ip="host_ip_example", host_port=1, name="name_example", - protocol="SCTP", + protocol="protocol_example", ), ], readiness_probe=Probe( @@ -45879,7 +48196,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -45891,7 +48208,18 @@ with argo_workflows.ApiClient(configuration) as api_client: termination_grace_period_seconds=1, timeout_seconds=1, ), + resize_policy=[ + ContainerResizePolicy( + resource_name="resource_name_example", + restart_policy="restart_policy_example", + ), + ], resources=ResourceRequirements( + claims=[ + ResourceClaim( + name="name_example", + ), + ], limits={ "key": "key_example", }, @@ -45899,8 +48227,13 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + restart_policy="restart_policy_example", security_context=SecurityContext( allow_privilege_escalation=True, + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), capabilities=Capabilities( add=[ "add_example", @@ -45923,7 +48256,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), windows_options=WindowsSecurityContextOptions( gmsa_credential_spec="gmsa_credential_spec_example", @@ -45953,7 +48286,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -45968,7 +48301,7 @@ with argo_workflows.ApiClient(configuration) as api_client: stdin=True, stdin_once=True, termination_message_path="termination_message_path_example", - termination_message_policy="FallbackToLogsOnError", + termination_message_policy="termination_message_policy_example", tty=True, volume_devices=[ VolumeDevice( @@ -45982,6 +48315,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -46059,7 +48393,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -46082,7 +48419,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -46111,7 +48451,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -46130,7 +48470,7 @@ with argo_workflows.ApiClient(configuration) as api_client: host_ip="host_ip_example", host_port=1, name="name_example", - protocol="SCTP", + protocol="protocol_example", ), ], readiness_probe=Probe( @@ -46154,7 +48494,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -46166,7 +48506,18 @@ with argo_workflows.ApiClient(configuration) as api_client: termination_grace_period_seconds=1, timeout_seconds=1, ), + resize_policy=[ + ContainerResizePolicy( + resource_name="resource_name_example", + restart_policy="restart_policy_example", + ), + ], resources=ResourceRequirements( + claims=[ + ResourceClaim( + name="name_example", + ), + ], limits={ "key": "key_example", }, @@ -46174,8 +48525,13 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + restart_policy="restart_policy_example", security_context=SecurityContext( allow_privilege_escalation=True, + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), capabilities=Capabilities( add=[ "add_example", @@ -46198,7 +48554,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), windows_options=WindowsSecurityContextOptions( gmsa_credential_spec="gmsa_credential_spec_example", @@ -46228,7 +48584,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -46257,6 +48613,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -46274,6 +48631,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -46352,6 +48710,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -46525,6 +48884,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -46635,6 +48999,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -46808,6 +49173,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -46940,6 +49310,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -47113,6 +49484,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -47227,7 +49603,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -47250,7 +49629,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -47279,7 +49661,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -47299,7 +49681,7 @@ with argo_workflows.ApiClient(configuration) as api_client: host_ip="host_ip_example", host_port=1, name="name_example", - protocol="SCTP", + protocol="protocol_example", ), ], readiness_probe=Probe( @@ -47323,7 +49705,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -47335,7 +49717,18 @@ with argo_workflows.ApiClient(configuration) as api_client: termination_grace_period_seconds=1, timeout_seconds=1, ), + resize_policy=[ + ContainerResizePolicy( + resource_name="resource_name_example", + restart_policy="restart_policy_example", + ), + ], resources=ResourceRequirements( + claims=[ + ResourceClaim( + name="name_example", + ), + ], limits={ "key": "key_example", }, @@ -47343,8 +49736,13 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + restart_policy="restart_policy_example", security_context=SecurityContext( allow_privilege_escalation=True, + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), capabilities=Capabilities( add=[ "add_example", @@ -47367,7 +49765,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), windows_options=WindowsSecurityContextOptions( gmsa_credential_spec="gmsa_credential_spec_example", @@ -47397,7 +49795,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -47426,6 +49824,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -47500,6 +49899,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -47673,6 +50073,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -47825,6 +50230,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -47998,6 +50404,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -48111,6 +50522,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -48284,6 +50696,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -48373,7 +50790,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -48396,7 +50816,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -48425,7 +50848,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -48444,7 +50867,7 @@ with argo_workflows.ApiClient(configuration) as api_client: host_ip="host_ip_example", host_port=1, name="name_example", - protocol="SCTP", + protocol="protocol_example", ), ], readiness_probe=Probe( @@ -48468,7 +50891,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -48480,7 +50903,18 @@ with argo_workflows.ApiClient(configuration) as api_client: termination_grace_period_seconds=1, timeout_seconds=1, ), + resize_policy=[ + ContainerResizePolicy( + resource_name="resource_name_example", + restart_policy="restart_policy_example", + ), + ], resources=ResourceRequirements( + claims=[ + ResourceClaim( + name="name_example", + ), + ], limits={ "key": "key_example", }, @@ -48488,8 +50922,13 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + restart_policy="restart_policy_example", security_context=SecurityContext( allow_privilege_escalation=True, + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), capabilities=Capabilities( add=[ "add_example", @@ -48512,7 +50951,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), windows_options=WindowsSecurityContextOptions( gmsa_credential_spec="gmsa_credential_spec_example", @@ -48543,7 +50982,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -48572,6 +51011,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -48579,6 +51019,10 @@ with argo_workflows.ApiClient(configuration) as api_client: working_dir="working_dir_example", ), security_context=PodSecurityContext( + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), fs_group=1, fs_group_change_policy="fs_group_change_policy_example", run_as_group=1, @@ -48592,7 +51036,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), supplemental_groups=[ 1, @@ -48678,7 +51122,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -48701,7 +51148,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -48730,7 +51180,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -48750,7 +51200,7 @@ with argo_workflows.ApiClient(configuration) as api_client: host_ip="host_ip_example", host_port=1, name="name_example", - protocol="SCTP", + protocol="protocol_example", ), ], readiness_probe=Probe( @@ -48774,7 +51224,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -48786,7 +51236,18 @@ with argo_workflows.ApiClient(configuration) as api_client: termination_grace_period_seconds=1, timeout_seconds=1, ), + resize_policy=[ + ContainerResizePolicy( + resource_name="resource_name_example", + restart_policy="restart_policy_example", + ), + ], resources=ResourceRequirements( + claims=[ + ResourceClaim( + name="name_example", + ), + ], limits={ "key": "key_example", }, @@ -48794,8 +51255,13 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + restart_policy="restart_policy_example", security_context=SecurityContext( allow_privilege_escalation=True, + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), capabilities=Capabilities( add=[ "add_example", @@ -48818,7 +51284,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), windows_options=WindowsSecurityContextOptions( gmsa_credential_spec="gmsa_credential_spec_example", @@ -48848,7 +51314,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -48877,6 +51343,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -48954,6 +51421,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -49127,6 +51595,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -49233,6 +51706,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -49406,6 +51880,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -49479,6 +51958,12 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", namespace="namespace_example", ), + mutexes=[ + IoArgoprojWorkflowV1alpha1Mutex( + name="name_example", + namespace="namespace_example", + ), + ], semaphore=IoArgoprojWorkflowV1alpha1SemaphoreRef( config_map_key_ref=ConfigMapKeySelector( key="key_example", @@ -49487,13 +51972,23 @@ with argo_workflows.ApiClient(configuration) as api_client: ), namespace="namespace_example", ), + semaphores=[ + IoArgoprojWorkflowV1alpha1SemaphoreRef( + config_map_key_ref=ConfigMapKeySelector( + key="key_example", + name="name_example", + optional=True, + ), + namespace="namespace_example", + ), + ], ), timeout="timeout_example", tolerations=[ Toleration( - effect="NoExecute", + effect="effect_example", key="key_example", - operator="Equal", + operator="operator_example", toleration_seconds=1, value="value_example", ), @@ -49590,7 +52085,6 @@ with argo_workflows.ApiClient(configuration) as api_client: annotations={ "key": "key_example", }, - cluster_name="cluster_name_example", creation_timestamp=dateutil_parser('1970-01-01T00:00:00.00Z'), deletion_grace_period_seconds=1, deletion_timestamp=dateutil_parser('1970-01-01T00:00:00.00Z'), @@ -49638,12 +52132,13 @@ with argo_workflows.ApiClient(configuration) as api_client: kind="kind_example", name="name_example", ), - data_source_ref=TypedLocalObjectReference( + data_source_ref=TypedObjectReference( api_group="api_group_example", kind="kind_example", name="name_example", + namespace="namespace_example", ), - resources=ResourceRequirements( + resources=VolumeResourceRequirements( limits={ "key": "key_example", }, @@ -49666,6 +52161,7 @@ with argo_workflows.ApiClient(configuration) as api_client: }, ), storage_class_name="storage_class_name_example", + volume_attributes_class_name="volume_attributes_class_name_example", volume_mode="volume_mode_example", volume_name="volume_name_example", ), @@ -49757,6 +52253,26 @@ with argo_workflows.ApiClient(configuration) as api_client: default_mode=1, sources=[ VolumeProjection( + cluster_trust_bundle=ClusterTrustBundleProjection( + label_selector=LabelSelector( + match_expressions=[ + LabelSelectorRequirement( + key="key_example", + operator="operator_example", + values=[ + "values_example", + ], + ), + ], + match_labels={ + "key": "key_example", + }, + ), + name="name_example", + optional=True, + path="path_example", + signer_name="signer_name_example", + ), config_map=ConfigMapProjection( items=[ KeyToPath( @@ -49881,7 +52397,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_expressions=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -49890,7 +52406,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_fields=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -49906,7 +52422,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_expressions=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -49915,7 +52431,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_fields=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -49943,6 +52459,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -49981,6 +52503,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -50020,6 +52548,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -50058,6 +52592,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -50123,6 +52663,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -50290,6 +52831,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), ), @@ -50342,7 +52888,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), ], image="image_example", - image_pull_policy="Always", + image_pull_policy="image_pull_policy_example", lifecycle=Lifecycle( post_start=LifecycleHandler( _exec=ExecAction( @@ -50360,7 +52906,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -50383,7 +52932,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -50412,7 +52964,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -50431,7 +52983,7 @@ with argo_workflows.ApiClient(configuration) as api_client: host_ip="host_ip_example", host_port=1, name="name_example", - protocol="SCTP", + protocol="protocol_example", ), ], readiness_probe=Probe( @@ -50455,7 +53007,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -50467,7 +53019,18 @@ with argo_workflows.ApiClient(configuration) as api_client: termination_grace_period_seconds=1, timeout_seconds=1, ), + resize_policy=[ + ContainerResizePolicy( + resource_name="resource_name_example", + restart_policy="restart_policy_example", + ), + ], resources=ResourceRequirements( + claims=[ + ResourceClaim( + name="name_example", + ), + ], limits={ "key": "key_example", }, @@ -50475,8 +53038,13 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + restart_policy="restart_policy_example", security_context=SecurityContext( allow_privilege_escalation=True, + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), capabilities=Capabilities( add=[ "add_example", @@ -50499,7 +53067,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), windows_options=WindowsSecurityContextOptions( gmsa_credential_spec="gmsa_credential_spec_example", @@ -50529,7 +53097,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -50544,7 +53112,7 @@ with argo_workflows.ApiClient(configuration) as api_client: stdin=True, stdin_once=True, termination_message_path="termination_message_path_example", - termination_message_policy="FallbackToLogsOnError", + termination_message_policy="termination_message_policy_example", tty=True, volume_devices=[ VolumeDevice( @@ -50558,6 +53126,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -50635,7 +53204,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -50658,7 +53230,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -50687,7 +53262,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -50706,7 +53281,7 @@ with argo_workflows.ApiClient(configuration) as api_client: host_ip="host_ip_example", host_port=1, name="name_example", - protocol="SCTP", + protocol="protocol_example", ), ], readiness_probe=Probe( @@ -50730,7 +53305,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -50742,7 +53317,18 @@ with argo_workflows.ApiClient(configuration) as api_client: termination_grace_period_seconds=1, timeout_seconds=1, ), + resize_policy=[ + ContainerResizePolicy( + resource_name="resource_name_example", + restart_policy="restart_policy_example", + ), + ], resources=ResourceRequirements( + claims=[ + ResourceClaim( + name="name_example", + ), + ], limits={ "key": "key_example", }, @@ -50750,8 +53336,13 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + restart_policy="restart_policy_example", security_context=SecurityContext( allow_privilege_escalation=True, + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), capabilities=Capabilities( add=[ "add_example", @@ -50774,7 +53365,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), windows_options=WindowsSecurityContextOptions( gmsa_credential_spec="gmsa_credential_spec_example", @@ -50804,7 +53395,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -50833,6 +53424,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -50850,6 +53442,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -50928,6 +53521,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -51101,6 +53695,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -51211,6 +53810,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -51384,6 +53984,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -51516,6 +54121,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -51689,6 +54295,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -51803,7 +54414,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -51826,7 +54440,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -51855,7 +54472,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -51875,7 +54492,7 @@ with argo_workflows.ApiClient(configuration) as api_client: host_ip="host_ip_example", host_port=1, name="name_example", - protocol="SCTP", + protocol="protocol_example", ), ], readiness_probe=Probe( @@ -51899,7 +54516,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -51911,7 +54528,18 @@ with argo_workflows.ApiClient(configuration) as api_client: termination_grace_period_seconds=1, timeout_seconds=1, ), + resize_policy=[ + ContainerResizePolicy( + resource_name="resource_name_example", + restart_policy="restart_policy_example", + ), + ], resources=ResourceRequirements( + claims=[ + ResourceClaim( + name="name_example", + ), + ], limits={ "key": "key_example", }, @@ -51919,8 +54547,13 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + restart_policy="restart_policy_example", security_context=SecurityContext( allow_privilege_escalation=True, + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), capabilities=Capabilities( add=[ "add_example", @@ -51943,7 +54576,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), windows_options=WindowsSecurityContextOptions( gmsa_credential_spec="gmsa_credential_spec_example", @@ -51973,7 +54606,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -52002,6 +54635,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -52076,6 +54710,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -52249,6 +54884,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -52401,6 +55041,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -52574,6 +55215,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -52687,6 +55333,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -52860,6 +55507,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -52949,7 +55601,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -52972,7 +55627,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -53001,7 +55659,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -53020,7 +55678,7 @@ with argo_workflows.ApiClient(configuration) as api_client: host_ip="host_ip_example", host_port=1, name="name_example", - protocol="SCTP", + protocol="protocol_example", ), ], readiness_probe=Probe( @@ -53044,7 +55702,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -53056,7 +55714,18 @@ with argo_workflows.ApiClient(configuration) as api_client: termination_grace_period_seconds=1, timeout_seconds=1, ), + resize_policy=[ + ContainerResizePolicy( + resource_name="resource_name_example", + restart_policy="restart_policy_example", + ), + ], resources=ResourceRequirements( + claims=[ + ResourceClaim( + name="name_example", + ), + ], limits={ "key": "key_example", }, @@ -53064,8 +55733,13 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + restart_policy="restart_policy_example", security_context=SecurityContext( allow_privilege_escalation=True, + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), capabilities=Capabilities( add=[ "add_example", @@ -53088,7 +55762,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), windows_options=WindowsSecurityContextOptions( gmsa_credential_spec="gmsa_credential_spec_example", @@ -53119,7 +55793,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -53148,6 +55822,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -53155,6 +55830,10 @@ with argo_workflows.ApiClient(configuration) as api_client: working_dir="working_dir_example", ), security_context=PodSecurityContext( + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), fs_group=1, fs_group_change_policy="fs_group_change_policy_example", run_as_group=1, @@ -53168,7 +55847,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), supplemental_groups=[ 1, @@ -53254,7 +55933,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -53277,7 +55959,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -53306,7 +55991,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -53326,7 +56011,7 @@ with argo_workflows.ApiClient(configuration) as api_client: host_ip="host_ip_example", host_port=1, name="name_example", - protocol="SCTP", + protocol="protocol_example", ), ], readiness_probe=Probe( @@ -53350,7 +56035,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -53362,7 +56047,18 @@ with argo_workflows.ApiClient(configuration) as api_client: termination_grace_period_seconds=1, timeout_seconds=1, ), + resize_policy=[ + ContainerResizePolicy( + resource_name="resource_name_example", + restart_policy="restart_policy_example", + ), + ], resources=ResourceRequirements( + claims=[ + ResourceClaim( + name="name_example", + ), + ], limits={ "key": "key_example", }, @@ -53370,8 +56066,13 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + restart_policy="restart_policy_example", security_context=SecurityContext( allow_privilege_escalation=True, + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), capabilities=Capabilities( add=[ "add_example", @@ -53394,7 +56095,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), windows_options=WindowsSecurityContextOptions( gmsa_credential_spec="gmsa_credential_spec_example", @@ -53424,7 +56125,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -53453,6 +56154,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -53530,6 +56232,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -53703,6 +56406,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -53809,6 +56517,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -53982,6 +56691,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -54055,6 +56769,12 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", namespace="namespace_example", ), + mutexes=[ + IoArgoprojWorkflowV1alpha1Mutex( + name="name_example", + namespace="namespace_example", + ), + ], semaphore=IoArgoprojWorkflowV1alpha1SemaphoreRef( config_map_key_ref=ConfigMapKeySelector( key="key_example", @@ -54063,13 +56783,23 @@ with argo_workflows.ApiClient(configuration) as api_client: ), namespace="namespace_example", ), + semaphores=[ + IoArgoprojWorkflowV1alpha1SemaphoreRef( + config_map_key_ref=ConfigMapKeySelector( + key="key_example", + name="name_example", + optional=True, + ), + namespace="namespace_example", + ), + ], ), timeout="timeout_example", tolerations=[ Toleration( - effect="NoExecute", + effect="effect_example", key="key_example", - operator="Equal", + operator="operator_example", toleration_seconds=1, value="value_example", ), @@ -54166,7 +56896,6 @@ with argo_workflows.ApiClient(configuration) as api_client: annotations={ "key": "key_example", }, - cluster_name="cluster_name_example", creation_timestamp=dateutil_parser('1970-01-01T00:00:00.00Z'), deletion_grace_period_seconds=1, deletion_timestamp=dateutil_parser('1970-01-01T00:00:00.00Z'), @@ -54214,12 +56943,13 @@ with argo_workflows.ApiClient(configuration) as api_client: kind="kind_example", name="name_example", ), - data_source_ref=TypedLocalObjectReference( + data_source_ref=TypedObjectReference( api_group="api_group_example", kind="kind_example", name="name_example", + namespace="namespace_example", ), - resources=ResourceRequirements( + resources=VolumeResourceRequirements( limits={ "key": "key_example", }, @@ -54242,6 +56972,7 @@ with argo_workflows.ApiClient(configuration) as api_client: }, ), storage_class_name="storage_class_name_example", + volume_attributes_class_name="volume_attributes_class_name_example", volume_mode="volume_mode_example", volume_name="volume_name_example", ), @@ -54333,6 +57064,26 @@ with argo_workflows.ApiClient(configuration) as api_client: default_mode=1, sources=[ VolumeProjection( + cluster_trust_bundle=ClusterTrustBundleProjection( + label_selector=LabelSelector( + match_expressions=[ + LabelSelectorRequirement( + key="key_example", + operator="operator_example", + values=[ + "values_example", + ], + ), + ], + match_labels={ + "key": "key_example", + }, + ), + name="name_example", + optional=True, + path="path_example", + signer_name="signer_name_example", + ), config_map=ConfigMapProjection( items=[ KeyToPath( @@ -54449,9 +57200,9 @@ with argo_workflows.ApiClient(configuration) as api_client: ], tolerations=[ Toleration( - effect="NoExecute", + effect="effect_example", key="key_example", - operator="Equal", + operator="operator_example", toleration_seconds=1, value="value_example", ), @@ -54472,7 +57223,6 @@ with argo_workflows.ApiClient(configuration) as api_client: annotations={ "key": "key_example", }, - cluster_name="cluster_name_example", creation_timestamp=dateutil_parser('1970-01-01T00:00:00.00Z'), deletion_grace_period_seconds=1, deletion_timestamp=dateutil_parser('1970-01-01T00:00:00.00Z'), @@ -54520,12 +57270,13 @@ with argo_workflows.ApiClient(configuration) as api_client: kind="kind_example", name="name_example", ), - data_source_ref=TypedLocalObjectReference( + data_source_ref=TypedObjectReference( api_group="api_group_example", kind="kind_example", name="name_example", + namespace="namespace_example", ), - resources=ResourceRequirements( + resources=VolumeResourceRequirements( limits={ "key": "key_example", }, @@ -54548,6 +57299,7 @@ with argo_workflows.ApiClient(configuration) as api_client: }, ), storage_class_name="storage_class_name_example", + volume_attributes_class_name="volume_attributes_class_name_example", volume_mode="volume_mode_example", volume_name="volume_name_example", ), @@ -54555,6 +57307,9 @@ with argo_workflows.ApiClient(configuration) as api_client: access_modes=[ "access_modes_example", ], + allocated_resource_statuses={ + "key": "key_example", + }, allocated_resources={ "key": "key_example", }, @@ -54568,11 +57323,15 @@ with argo_workflows.ApiClient(configuration) as api_client: message="message_example", reason="reason_example", status="status_example", - type="FileSystemResizePending", + type="type_example", ), ], - phase="Bound", - resize_status="resize_status_example", + current_volume_attributes_class_name="current_volume_attributes_class_name_example", + modify_volume_status=ModifyVolumeStatus( + status="status_example", + target_volume_attributes_class_name="target_volume_attributes_class_name_example", + ), + phase="phase_example", ), ), ], @@ -54668,7 +57427,6 @@ with argo_workflows.ApiClient(configuration) as api_client: annotations={ "key": "key_example", }, - cluster_name="cluster_name_example", creation_timestamp=dateutil_parser('1970-01-01T00:00:00.00Z'), deletion_grace_period_seconds=1, deletion_timestamp=dateutil_parser('1970-01-01T00:00:00.00Z'), @@ -54716,12 +57474,13 @@ with argo_workflows.ApiClient(configuration) as api_client: kind="kind_example", name="name_example", ), - data_source_ref=TypedLocalObjectReference( + data_source_ref=TypedObjectReference( api_group="api_group_example", kind="kind_example", name="name_example", + namespace="namespace_example", ), - resources=ResourceRequirements( + resources=VolumeResourceRequirements( limits={ "key": "key_example", }, @@ -54744,6 +57503,7 @@ with argo_workflows.ApiClient(configuration) as api_client: }, ), storage_class_name="storage_class_name_example", + volume_attributes_class_name="volume_attributes_class_name_example", volume_mode="volume_mode_example", volume_name="volume_name_example", ), @@ -54835,6 +57595,26 @@ with argo_workflows.ApiClient(configuration) as api_client: default_mode=1, sources=[ VolumeProjection( + cluster_trust_bundle=ClusterTrustBundleProjection( + label_selector=LabelSelector( + match_expressions=[ + LabelSelectorRequirement( + key="key_example", + operator="operator_example", + values=[ + "values_example", + ], + ), + ], + match_labels={ + "key": "key_example", + }, + ), + name="name_example", + optional=True, + path="path_example", + signer_name="signer_name_example", + ), config_map=ConfigMapProjection( items=[ KeyToPath( @@ -55092,7 +57872,9 @@ with argo_workflows.ApiClient(configuration) as api_client: list_options_timeout_seconds = "listOptions.timeoutSeconds_example" # 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 = "listOptions.limit_example" # 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 = "listOptions.continue_example" # 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 = True # 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 = "fields_example" # str | Fields to be included or excluded in the response. e.g. \"items.spec,items.status.phase\", \"-items.status.nodes\". (optional) + name_filter = "nameFilter_example" # str | Filter type used for name filtering. Exact | Contains | Prefix. Default to Exact. (optional) # example passing only required values which don't have defaults set try: @@ -55104,7 +57886,7 @@ with argo_workflows.ApiClient(configuration) as api_client: # example passing only required values which don't have defaults set # and optional values try: - api_response = api_instance.list_workflows(namespace, list_options_label_selector=list_options_label_selector, list_options_field_selector=list_options_field_selector, list_options_watch=list_options_watch, list_options_allow_watch_bookmarks=list_options_allow_watch_bookmarks, list_options_resource_version=list_options_resource_version, list_options_resource_version_match=list_options_resource_version_match, list_options_timeout_seconds=list_options_timeout_seconds, list_options_limit=list_options_limit, list_options_continue=list_options_continue, fields=fields) + api_response = api_instance.list_workflows(namespace, list_options_label_selector=list_options_label_selector, list_options_field_selector=list_options_field_selector, list_options_watch=list_options_watch, list_options_allow_watch_bookmarks=list_options_allow_watch_bookmarks, list_options_resource_version=list_options_resource_version, list_options_resource_version_match=list_options_resource_version_match, list_options_timeout_seconds=list_options_timeout_seconds, list_options_limit=list_options_limit, list_options_continue=list_options_continue, list_options_send_initial_events=list_options_send_initial_events, fields=fields, name_filter=name_filter) pprint(api_response) except argo_workflows.ApiException as e: print("Exception when calling WorkflowServiceApi->list_workflows: %s\n" % e) @@ -55125,7 +57907,9 @@ Name | Type | Description | Notes **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 type @@ -56030,6 +58814,7 @@ with argo_workflows.ApiClient(configuration) as api_client: list_options_timeout_seconds = "listOptions.timeoutSeconds_example" # 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 = "listOptions.limit_example" # 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 = "listOptions.continue_example" # 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 = True # 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) # example passing only required values which don't have defaults set try: @@ -56041,7 +58826,7 @@ with argo_workflows.ApiClient(configuration) as api_client: # example passing only required values which don't have defaults set # and optional values try: - api_response = api_instance.watch_events(namespace, list_options_label_selector=list_options_label_selector, list_options_field_selector=list_options_field_selector, list_options_watch=list_options_watch, list_options_allow_watch_bookmarks=list_options_allow_watch_bookmarks, list_options_resource_version=list_options_resource_version, list_options_resource_version_match=list_options_resource_version_match, list_options_timeout_seconds=list_options_timeout_seconds, list_options_limit=list_options_limit, list_options_continue=list_options_continue) + api_response = api_instance.watch_events(namespace, list_options_label_selector=list_options_label_selector, list_options_field_selector=list_options_field_selector, list_options_watch=list_options_watch, list_options_allow_watch_bookmarks=list_options_allow_watch_bookmarks, list_options_resource_version=list_options_resource_version, list_options_resource_version_match=list_options_resource_version_match, list_options_timeout_seconds=list_options_timeout_seconds, list_options_limit=list_options_limit, list_options_continue=list_options_continue, list_options_send_initial_events=list_options_send_initial_events) pprint(api_response) except argo_workflows.ApiException as e: print("Exception when calling WorkflowServiceApi->watch_events: %s\n" % e) @@ -56062,6 +58847,7 @@ Name | Type | Description | Notes **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 type @@ -56133,6 +58919,7 @@ with argo_workflows.ApiClient(configuration) as api_client: list_options_timeout_seconds = "listOptions.timeoutSeconds_example" # 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 = "listOptions.limit_example" # 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 = "listOptions.continue_example" # 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 = True # 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 = "fields_example" # str | (optional) # example passing only required values which don't have defaults set @@ -56145,7 +58932,7 @@ with argo_workflows.ApiClient(configuration) as api_client: # example passing only required values which don't have defaults set # and optional values try: - api_response = api_instance.watch_workflows(namespace, list_options_label_selector=list_options_label_selector, list_options_field_selector=list_options_field_selector, list_options_watch=list_options_watch, list_options_allow_watch_bookmarks=list_options_allow_watch_bookmarks, list_options_resource_version=list_options_resource_version, list_options_resource_version_match=list_options_resource_version_match, list_options_timeout_seconds=list_options_timeout_seconds, list_options_limit=list_options_limit, list_options_continue=list_options_continue, fields=fields) + api_response = api_instance.watch_workflows(namespace, list_options_label_selector=list_options_label_selector, list_options_field_selector=list_options_field_selector, list_options_watch=list_options_watch, list_options_allow_watch_bookmarks=list_options_allow_watch_bookmarks, list_options_resource_version=list_options_resource_version, list_options_resource_version_match=list_options_resource_version_match, list_options_timeout_seconds=list_options_timeout_seconds, list_options_limit=list_options_limit, list_options_continue=list_options_continue, list_options_send_initial_events=list_options_send_initial_events, fields=fields) pprint(api_response) except argo_workflows.ApiException as e: print("Exception when calling WorkflowServiceApi->watch_workflows: %s\n" % e) @@ -56166,6 +58953,7 @@ Name | Type | Description | Notes **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 type diff --git a/sdks/python/client/docs/WorkflowTemplateServiceApi.md b/sdks/python/client/docs/WorkflowTemplateServiceApi.md index b2a8cb43ef7c..2319839824d7 100644 --- a/sdks/python/client/docs/WorkflowTemplateServiceApi.md +++ b/sdks/python/client/docs/WorkflowTemplateServiceApi.md @@ -67,7 +67,6 @@ with argo_workflows.ApiClient(configuration) as api_client: annotations={ "key": "key_example", }, - cluster_name="cluster_name_example", creation_timestamp=dateutil_parser('1970-01-01T00:00:00.00Z'), deletion_grace_period_seconds=1, deletion_timestamp=dateutil_parser('1970-01-01T00:00:00.00Z'), @@ -116,7 +115,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_expressions=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -125,7 +124,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_fields=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -141,7 +140,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_expressions=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -150,7 +149,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_fields=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -178,6 +177,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -216,6 +221,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -255,6 +266,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -293,6 +310,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -383,6 +406,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -556,6 +580,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -696,6 +725,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -869,6 +899,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -976,6 +1011,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + unhealthy_pod_eviction_policy="unhealthy_pod_eviction_policy_example", ), pod_gc=IoArgoprojWorkflowV1alpha1PodGC( delete_delay_duration="delete_delay_duration_example", @@ -1022,6 +1058,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ), scheduler_name="scheduler_name_example", security_context=PodSecurityContext( + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), fs_group=1, fs_group_change_policy="fs_group_change_policy_example", run_as_group=1, @@ -1035,7 +1075,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), supplemental_groups=[ 1, @@ -1061,6 +1101,12 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", namespace="namespace_example", ), + mutexes=[ + IoArgoprojWorkflowV1alpha1Mutex( + name="name_example", + namespace="namespace_example", + ), + ], semaphore=IoArgoprojWorkflowV1alpha1SemaphoreRef( config_map_key_ref=ConfigMapKeySelector( key="key_example", @@ -1069,6 +1115,16 @@ with argo_workflows.ApiClient(configuration) as api_client: ), namespace="namespace_example", ), + semaphores=[ + IoArgoprojWorkflowV1alpha1SemaphoreRef( + config_map_key_ref=ConfigMapKeySelector( + key="key_example", + name="name_example", + optional=True, + ), + namespace="namespace_example", + ), + ], ), template_defaults=IoArgoprojWorkflowV1alpha1Template( active_deadline_seconds="active_deadline_seconds_example", @@ -1080,7 +1136,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_expressions=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -1089,7 +1145,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_fields=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -1105,7 +1161,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_expressions=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -1114,7 +1170,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_fields=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -1142,6 +1198,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -1180,6 +1242,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -1219,6 +1287,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -1257,6 +1331,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -1322,6 +1402,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -1489,6 +1570,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), ), @@ -1541,7 +1627,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), ], image="image_example", - image_pull_policy="Always", + image_pull_policy="image_pull_policy_example", lifecycle=Lifecycle( post_start=LifecycleHandler( _exec=ExecAction( @@ -1559,7 +1645,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -1582,7 +1671,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -1611,7 +1703,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -1630,7 +1722,7 @@ with argo_workflows.ApiClient(configuration) as api_client: host_ip="host_ip_example", host_port=1, name="name_example", - protocol="SCTP", + protocol="protocol_example", ), ], readiness_probe=Probe( @@ -1654,7 +1746,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -1666,7 +1758,18 @@ with argo_workflows.ApiClient(configuration) as api_client: termination_grace_period_seconds=1, timeout_seconds=1, ), + resize_policy=[ + ContainerResizePolicy( + resource_name="resource_name_example", + restart_policy="restart_policy_example", + ), + ], resources=ResourceRequirements( + claims=[ + ResourceClaim( + name="name_example", + ), + ], limits={ "key": "key_example", }, @@ -1674,8 +1777,13 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + restart_policy="restart_policy_example", security_context=SecurityContext( allow_privilege_escalation=True, + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), capabilities=Capabilities( add=[ "add_example", @@ -1698,7 +1806,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), windows_options=WindowsSecurityContextOptions( gmsa_credential_spec="gmsa_credential_spec_example", @@ -1728,7 +1836,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -1743,7 +1851,7 @@ with argo_workflows.ApiClient(configuration) as api_client: stdin=True, stdin_once=True, termination_message_path="termination_message_path_example", - termination_message_policy="FallbackToLogsOnError", + termination_message_policy="termination_message_policy_example", tty=True, volume_devices=[ VolumeDevice( @@ -1757,6 +1865,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -1834,7 +1943,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -1857,7 +1969,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -1886,7 +2001,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -1905,7 +2020,7 @@ with argo_workflows.ApiClient(configuration) as api_client: host_ip="host_ip_example", host_port=1, name="name_example", - protocol="SCTP", + protocol="protocol_example", ), ], readiness_probe=Probe( @@ -1929,7 +2044,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -1941,7 +2056,18 @@ with argo_workflows.ApiClient(configuration) as api_client: termination_grace_period_seconds=1, timeout_seconds=1, ), + resize_policy=[ + ContainerResizePolicy( + resource_name="resource_name_example", + restart_policy="restart_policy_example", + ), + ], resources=ResourceRequirements( + claims=[ + ResourceClaim( + name="name_example", + ), + ], limits={ "key": "key_example", }, @@ -1949,8 +2075,13 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + restart_policy="restart_policy_example", security_context=SecurityContext( allow_privilege_escalation=True, + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), capabilities=Capabilities( add=[ "add_example", @@ -1973,7 +2104,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), windows_options=WindowsSecurityContextOptions( gmsa_credential_spec="gmsa_credential_spec_example", @@ -2003,7 +2134,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -2032,6 +2163,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -2049,6 +2181,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -2127,6 +2260,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -2300,6 +2434,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -2410,6 +2549,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -2583,6 +2723,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -2715,6 +2860,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -2888,6 +3034,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -3002,7 +3153,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -3025,7 +3179,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -3054,7 +3211,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -3074,7 +3231,7 @@ with argo_workflows.ApiClient(configuration) as api_client: host_ip="host_ip_example", host_port=1, name="name_example", - protocol="SCTP", + protocol="protocol_example", ), ], readiness_probe=Probe( @@ -3098,7 +3255,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -3110,7 +3267,18 @@ with argo_workflows.ApiClient(configuration) as api_client: termination_grace_period_seconds=1, timeout_seconds=1, ), + resize_policy=[ + ContainerResizePolicy( + resource_name="resource_name_example", + restart_policy="restart_policy_example", + ), + ], resources=ResourceRequirements( + claims=[ + ResourceClaim( + name="name_example", + ), + ], limits={ "key": "key_example", }, @@ -3118,8 +3286,13 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + restart_policy="restart_policy_example", security_context=SecurityContext( allow_privilege_escalation=True, + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), capabilities=Capabilities( add=[ "add_example", @@ -3142,7 +3315,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), windows_options=WindowsSecurityContextOptions( gmsa_credential_spec="gmsa_credential_spec_example", @@ -3172,7 +3345,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -3201,6 +3374,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -3275,6 +3449,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -3448,6 +3623,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -3600,6 +3780,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -3773,6 +3954,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -3886,6 +4072,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -4059,6 +4246,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -4148,7 +4340,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -4171,7 +4366,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -4200,7 +4398,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -4219,7 +4417,7 @@ with argo_workflows.ApiClient(configuration) as api_client: host_ip="host_ip_example", host_port=1, name="name_example", - protocol="SCTP", + protocol="protocol_example", ), ], readiness_probe=Probe( @@ -4243,7 +4441,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -4255,7 +4453,18 @@ with argo_workflows.ApiClient(configuration) as api_client: termination_grace_period_seconds=1, timeout_seconds=1, ), + resize_policy=[ + ContainerResizePolicy( + resource_name="resource_name_example", + restart_policy="restart_policy_example", + ), + ], resources=ResourceRequirements( + claims=[ + ResourceClaim( + name="name_example", + ), + ], limits={ "key": "key_example", }, @@ -4263,8 +4472,13 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + restart_policy="restart_policy_example", security_context=SecurityContext( allow_privilege_escalation=True, + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), capabilities=Capabilities( add=[ "add_example", @@ -4287,7 +4501,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), windows_options=WindowsSecurityContextOptions( gmsa_credential_spec="gmsa_credential_spec_example", @@ -4318,7 +4532,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -4347,6 +4561,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -4354,6 +4569,10 @@ with argo_workflows.ApiClient(configuration) as api_client: working_dir="working_dir_example", ), security_context=PodSecurityContext( + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), fs_group=1, fs_group_change_policy="fs_group_change_policy_example", run_as_group=1, @@ -4367,7 +4586,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), supplemental_groups=[ 1, @@ -4453,7 +4672,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -4476,7 +4698,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -4505,7 +4730,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -4525,7 +4750,7 @@ with argo_workflows.ApiClient(configuration) as api_client: host_ip="host_ip_example", host_port=1, name="name_example", - protocol="SCTP", + protocol="protocol_example", ), ], readiness_probe=Probe( @@ -4549,7 +4774,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -4561,7 +4786,18 @@ with argo_workflows.ApiClient(configuration) as api_client: termination_grace_period_seconds=1, timeout_seconds=1, ), + resize_policy=[ + ContainerResizePolicy( + resource_name="resource_name_example", + restart_policy="restart_policy_example", + ), + ], resources=ResourceRequirements( + claims=[ + ResourceClaim( + name="name_example", + ), + ], limits={ "key": "key_example", }, @@ -4569,8 +4805,13 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + restart_policy="restart_policy_example", security_context=SecurityContext( allow_privilege_escalation=True, + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), capabilities=Capabilities( add=[ "add_example", @@ -4593,7 +4834,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), windows_options=WindowsSecurityContextOptions( gmsa_credential_spec="gmsa_credential_spec_example", @@ -4623,7 +4864,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -4652,6 +4893,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -4729,6 +4971,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -4902,6 +5145,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -5008,6 +5256,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -5181,6 +5430,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -5254,6 +5508,12 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", namespace="namespace_example", ), + mutexes=[ + IoArgoprojWorkflowV1alpha1Mutex( + name="name_example", + namespace="namespace_example", + ), + ], semaphore=IoArgoprojWorkflowV1alpha1SemaphoreRef( config_map_key_ref=ConfigMapKeySelector( key="key_example", @@ -5262,13 +5522,23 @@ with argo_workflows.ApiClient(configuration) as api_client: ), namespace="namespace_example", ), + semaphores=[ + IoArgoprojWorkflowV1alpha1SemaphoreRef( + config_map_key_ref=ConfigMapKeySelector( + key="key_example", + name="name_example", + optional=True, + ), + namespace="namespace_example", + ), + ], ), timeout="timeout_example", tolerations=[ Toleration( - effect="NoExecute", + effect="effect_example", key="key_example", - operator="Equal", + operator="operator_example", toleration_seconds=1, value="value_example", ), @@ -5365,7 +5635,6 @@ with argo_workflows.ApiClient(configuration) as api_client: annotations={ "key": "key_example", }, - cluster_name="cluster_name_example", creation_timestamp=dateutil_parser('1970-01-01T00:00:00.00Z'), deletion_grace_period_seconds=1, deletion_timestamp=dateutil_parser('1970-01-01T00:00:00.00Z'), @@ -5413,12 +5682,13 @@ with argo_workflows.ApiClient(configuration) as api_client: kind="kind_example", name="name_example", ), - data_source_ref=TypedLocalObjectReference( + data_source_ref=TypedObjectReference( api_group="api_group_example", kind="kind_example", name="name_example", + namespace="namespace_example", ), - resources=ResourceRequirements( + resources=VolumeResourceRequirements( limits={ "key": "key_example", }, @@ -5441,6 +5711,7 @@ with argo_workflows.ApiClient(configuration) as api_client: }, ), storage_class_name="storage_class_name_example", + volume_attributes_class_name="volume_attributes_class_name_example", volume_mode="volume_mode_example", volume_name="volume_name_example", ), @@ -5532,6 +5803,26 @@ with argo_workflows.ApiClient(configuration) as api_client: default_mode=1, sources=[ VolumeProjection( + cluster_trust_bundle=ClusterTrustBundleProjection( + label_selector=LabelSelector( + match_expressions=[ + LabelSelectorRequirement( + key="key_example", + operator="operator_example", + values=[ + "values_example", + ], + ), + ], + match_labels={ + "key": "key_example", + }, + ), + name="name_example", + optional=True, + path="path_example", + signer_name="signer_name_example", + ), config_map=ConfigMapProjection( items=[ KeyToPath( @@ -5656,7 +5947,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_expressions=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -5665,7 +5956,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_fields=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -5681,7 +5972,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_expressions=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -5690,7 +5981,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_fields=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -5718,6 +6009,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -5756,6 +6053,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -5795,6 +6098,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -5833,6 +6142,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -5898,6 +6213,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -6065,6 +6381,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), ), @@ -6117,7 +6438,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), ], image="image_example", - image_pull_policy="Always", + image_pull_policy="image_pull_policy_example", lifecycle=Lifecycle( post_start=LifecycleHandler( _exec=ExecAction( @@ -6135,7 +6456,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -6158,7 +6482,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -6187,7 +6514,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -6206,7 +6533,7 @@ with argo_workflows.ApiClient(configuration) as api_client: host_ip="host_ip_example", host_port=1, name="name_example", - protocol="SCTP", + protocol="protocol_example", ), ], readiness_probe=Probe( @@ -6230,7 +6557,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -6242,7 +6569,18 @@ with argo_workflows.ApiClient(configuration) as api_client: termination_grace_period_seconds=1, timeout_seconds=1, ), + resize_policy=[ + ContainerResizePolicy( + resource_name="resource_name_example", + restart_policy="restart_policy_example", + ), + ], resources=ResourceRequirements( + claims=[ + ResourceClaim( + name="name_example", + ), + ], limits={ "key": "key_example", }, @@ -6250,8 +6588,13 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + restart_policy="restart_policy_example", security_context=SecurityContext( allow_privilege_escalation=True, + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), capabilities=Capabilities( add=[ "add_example", @@ -6274,7 +6617,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), windows_options=WindowsSecurityContextOptions( gmsa_credential_spec="gmsa_credential_spec_example", @@ -6304,7 +6647,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -6319,7 +6662,7 @@ with argo_workflows.ApiClient(configuration) as api_client: stdin=True, stdin_once=True, termination_message_path="termination_message_path_example", - termination_message_policy="FallbackToLogsOnError", + termination_message_policy="termination_message_policy_example", tty=True, volume_devices=[ VolumeDevice( @@ -6333,6 +6676,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -6410,7 +6754,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -6433,7 +6780,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -6462,7 +6812,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -6481,7 +6831,7 @@ with argo_workflows.ApiClient(configuration) as api_client: host_ip="host_ip_example", host_port=1, name="name_example", - protocol="SCTP", + protocol="protocol_example", ), ], readiness_probe=Probe( @@ -6505,7 +6855,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -6517,7 +6867,18 @@ with argo_workflows.ApiClient(configuration) as api_client: termination_grace_period_seconds=1, timeout_seconds=1, ), + resize_policy=[ + ContainerResizePolicy( + resource_name="resource_name_example", + restart_policy="restart_policy_example", + ), + ], resources=ResourceRequirements( + claims=[ + ResourceClaim( + name="name_example", + ), + ], limits={ "key": "key_example", }, @@ -6525,8 +6886,13 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + restart_policy="restart_policy_example", security_context=SecurityContext( allow_privilege_escalation=True, + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), capabilities=Capabilities( add=[ "add_example", @@ -6549,7 +6915,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), windows_options=WindowsSecurityContextOptions( gmsa_credential_spec="gmsa_credential_spec_example", @@ -6579,7 +6945,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -6608,6 +6974,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -6625,6 +6992,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -6703,6 +7071,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -6876,6 +7245,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -6986,6 +7360,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -7159,6 +7534,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -7291,6 +7671,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -7464,6 +7845,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -7578,7 +7964,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -7601,7 +7990,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -7630,7 +8022,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -7650,7 +8042,7 @@ with argo_workflows.ApiClient(configuration) as api_client: host_ip="host_ip_example", host_port=1, name="name_example", - protocol="SCTP", + protocol="protocol_example", ), ], readiness_probe=Probe( @@ -7674,7 +8066,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -7686,7 +8078,18 @@ with argo_workflows.ApiClient(configuration) as api_client: termination_grace_period_seconds=1, timeout_seconds=1, ), + resize_policy=[ + ContainerResizePolicy( + resource_name="resource_name_example", + restart_policy="restart_policy_example", + ), + ], resources=ResourceRequirements( + claims=[ + ResourceClaim( + name="name_example", + ), + ], limits={ "key": "key_example", }, @@ -7694,8 +8097,13 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + restart_policy="restart_policy_example", security_context=SecurityContext( allow_privilege_escalation=True, + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), capabilities=Capabilities( add=[ "add_example", @@ -7718,7 +8126,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), windows_options=WindowsSecurityContextOptions( gmsa_credential_spec="gmsa_credential_spec_example", @@ -7748,7 +8156,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -7777,6 +8185,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -7851,6 +8260,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -8024,6 +8434,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -8176,6 +8591,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -8349,6 +8765,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -8462,6 +8883,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -8635,6 +9057,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -8724,7 +9151,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -8747,7 +9177,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -8776,7 +9209,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -8795,7 +9228,7 @@ with argo_workflows.ApiClient(configuration) as api_client: host_ip="host_ip_example", host_port=1, name="name_example", - protocol="SCTP", + protocol="protocol_example", ), ], readiness_probe=Probe( @@ -8819,7 +9252,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -8831,16 +9264,32 @@ with argo_workflows.ApiClient(configuration) as api_client: termination_grace_period_seconds=1, timeout_seconds=1, ), + resize_policy=[ + ContainerResizePolicy( + resource_name="resource_name_example", + restart_policy="restart_policy_example", + ), + ], resources=ResourceRequirements( - limits={ + claims=[ + ResourceClaim( + name="name_example", + ), + ], + limits={ "key": "key_example", }, requests={ "key": "key_example", }, ), + restart_policy="restart_policy_example", security_context=SecurityContext( allow_privilege_escalation=True, + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), capabilities=Capabilities( add=[ "add_example", @@ -8863,7 +9312,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), windows_options=WindowsSecurityContextOptions( gmsa_credential_spec="gmsa_credential_spec_example", @@ -8894,7 +9343,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -8923,6 +9372,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -8930,6 +9380,10 @@ with argo_workflows.ApiClient(configuration) as api_client: working_dir="working_dir_example", ), security_context=PodSecurityContext( + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), fs_group=1, fs_group_change_policy="fs_group_change_policy_example", run_as_group=1, @@ -8943,7 +9397,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), supplemental_groups=[ 1, @@ -9029,7 +9483,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -9052,7 +9509,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -9081,7 +9541,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -9101,7 +9561,7 @@ with argo_workflows.ApiClient(configuration) as api_client: host_ip="host_ip_example", host_port=1, name="name_example", - protocol="SCTP", + protocol="protocol_example", ), ], readiness_probe=Probe( @@ -9125,7 +9585,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -9137,7 +9597,18 @@ with argo_workflows.ApiClient(configuration) as api_client: termination_grace_period_seconds=1, timeout_seconds=1, ), + resize_policy=[ + ContainerResizePolicy( + resource_name="resource_name_example", + restart_policy="restart_policy_example", + ), + ], resources=ResourceRequirements( + claims=[ + ResourceClaim( + name="name_example", + ), + ], limits={ "key": "key_example", }, @@ -9145,8 +9616,13 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + restart_policy="restart_policy_example", security_context=SecurityContext( allow_privilege_escalation=True, + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), capabilities=Capabilities( add=[ "add_example", @@ -9169,7 +9645,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), windows_options=WindowsSecurityContextOptions( gmsa_credential_spec="gmsa_credential_spec_example", @@ -9199,7 +9675,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -9228,6 +9704,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -9305,6 +9782,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -9478,6 +9956,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -9584,6 +10067,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -9757,6 +10241,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -9830,6 +10319,12 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", namespace="namespace_example", ), + mutexes=[ + IoArgoprojWorkflowV1alpha1Mutex( + name="name_example", + namespace="namespace_example", + ), + ], semaphore=IoArgoprojWorkflowV1alpha1SemaphoreRef( config_map_key_ref=ConfigMapKeySelector( key="key_example", @@ -9838,13 +10333,23 @@ with argo_workflows.ApiClient(configuration) as api_client: ), namespace="namespace_example", ), + semaphores=[ + IoArgoprojWorkflowV1alpha1SemaphoreRef( + config_map_key_ref=ConfigMapKeySelector( + key="key_example", + name="name_example", + optional=True, + ), + namespace="namespace_example", + ), + ], ), timeout="timeout_example", tolerations=[ Toleration( - effect="NoExecute", + effect="effect_example", key="key_example", - operator="Equal", + operator="operator_example", toleration_seconds=1, value="value_example", ), @@ -9941,7 +10446,6 @@ with argo_workflows.ApiClient(configuration) as api_client: annotations={ "key": "key_example", }, - cluster_name="cluster_name_example", creation_timestamp=dateutil_parser('1970-01-01T00:00:00.00Z'), deletion_grace_period_seconds=1, deletion_timestamp=dateutil_parser('1970-01-01T00:00:00.00Z'), @@ -9989,12 +10493,13 @@ with argo_workflows.ApiClient(configuration) as api_client: kind="kind_example", name="name_example", ), - data_source_ref=TypedLocalObjectReference( + data_source_ref=TypedObjectReference( api_group="api_group_example", kind="kind_example", name="name_example", + namespace="namespace_example", ), - resources=ResourceRequirements( + resources=VolumeResourceRequirements( limits={ "key": "key_example", }, @@ -10017,6 +10522,7 @@ with argo_workflows.ApiClient(configuration) as api_client: }, ), storage_class_name="storage_class_name_example", + volume_attributes_class_name="volume_attributes_class_name_example", volume_mode="volume_mode_example", volume_name="volume_name_example", ), @@ -10108,6 +10614,26 @@ with argo_workflows.ApiClient(configuration) as api_client: default_mode=1, sources=[ VolumeProjection( + cluster_trust_bundle=ClusterTrustBundleProjection( + label_selector=LabelSelector( + match_expressions=[ + LabelSelectorRequirement( + key="key_example", + operator="operator_example", + values=[ + "values_example", + ], + ), + ], + match_labels={ + "key": "key_example", + }, + ), + name="name_example", + optional=True, + path="path_example", + signer_name="signer_name_example", + ), config_map=ConfigMapProjection( items=[ KeyToPath( @@ -10224,9 +10750,9 @@ with argo_workflows.ApiClient(configuration) as api_client: ], tolerations=[ Toleration( - effect="NoExecute", + effect="effect_example", key="key_example", - operator="Equal", + operator="operator_example", toleration_seconds=1, value="value_example", ), @@ -10247,7 +10773,6 @@ with argo_workflows.ApiClient(configuration) as api_client: annotations={ "key": "key_example", }, - cluster_name="cluster_name_example", creation_timestamp=dateutil_parser('1970-01-01T00:00:00.00Z'), deletion_grace_period_seconds=1, deletion_timestamp=dateutil_parser('1970-01-01T00:00:00.00Z'), @@ -10295,12 +10820,13 @@ with argo_workflows.ApiClient(configuration) as api_client: kind="kind_example", name="name_example", ), - data_source_ref=TypedLocalObjectReference( + data_source_ref=TypedObjectReference( api_group="api_group_example", kind="kind_example", name="name_example", + namespace="namespace_example", ), - resources=ResourceRequirements( + resources=VolumeResourceRequirements( limits={ "key": "key_example", }, @@ -10323,6 +10849,7 @@ with argo_workflows.ApiClient(configuration) as api_client: }, ), storage_class_name="storage_class_name_example", + volume_attributes_class_name="volume_attributes_class_name_example", volume_mode="volume_mode_example", volume_name="volume_name_example", ), @@ -10330,6 +10857,9 @@ with argo_workflows.ApiClient(configuration) as api_client: access_modes=[ "access_modes_example", ], + allocated_resource_statuses={ + "key": "key_example", + }, allocated_resources={ "key": "key_example", }, @@ -10343,11 +10873,15 @@ with argo_workflows.ApiClient(configuration) as api_client: message="message_example", reason="reason_example", status="status_example", - type="FileSystemResizePending", + type="type_example", ), ], - phase="Bound", - resize_status="resize_status_example", + current_volume_attributes_class_name="current_volume_attributes_class_name_example", + modify_volume_status=ModifyVolumeStatus( + status="status_example", + target_volume_attributes_class_name="target_volume_attributes_class_name_example", + ), + phase="phase_example", ), ), ], @@ -10443,7 +10977,6 @@ with argo_workflows.ApiClient(configuration) as api_client: annotations={ "key": "key_example", }, - cluster_name="cluster_name_example", creation_timestamp=dateutil_parser('1970-01-01T00:00:00.00Z'), deletion_grace_period_seconds=1, deletion_timestamp=dateutil_parser('1970-01-01T00:00:00.00Z'), @@ -10491,12 +11024,13 @@ with argo_workflows.ApiClient(configuration) as api_client: kind="kind_example", name="name_example", ), - data_source_ref=TypedLocalObjectReference( + data_source_ref=TypedObjectReference( api_group="api_group_example", kind="kind_example", name="name_example", + namespace="namespace_example", ), - resources=ResourceRequirements( + resources=VolumeResourceRequirements( limits={ "key": "key_example", }, @@ -10519,6 +11053,7 @@ with argo_workflows.ApiClient(configuration) as api_client: }, ), storage_class_name="storage_class_name_example", + volume_attributes_class_name="volume_attributes_class_name_example", volume_mode="volume_mode_example", volume_name="volume_name_example", ), @@ -10610,6 +11145,26 @@ with argo_workflows.ApiClient(configuration) as api_client: default_mode=1, sources=[ VolumeProjection( + cluster_trust_bundle=ClusterTrustBundleProjection( + label_selector=LabelSelector( + match_expressions=[ + LabelSelectorRequirement( + key="key_example", + operator="operator_example", + values=[ + "values_example", + ], + ), + ], + match_labels={ + "key": "key_example", + }, + ), + name="name_example", + optional=True, + path="path_example", + signer_name="signer_name_example", + ), config_map=ConfigMapProjection( items=[ KeyToPath( @@ -10827,7 +11382,7 @@ with argo_workflows.ApiClient(configuration) as api_client: delete_options_propagation_policy = "deleteOptions.propagationPolicy_example" # 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 = [ "deleteOptions.dryRun_example", - ] # [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) + ] # [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) # example passing only required values which don't have defaults set try: @@ -10857,7 +11412,7 @@ Name | Type | Description | Notes **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 type @@ -11026,7 +11581,6 @@ with argo_workflows.ApiClient(configuration) as api_client: annotations={ "key": "key_example", }, - cluster_name="cluster_name_example", creation_timestamp=dateutil_parser('1970-01-01T00:00:00.00Z'), deletion_grace_period_seconds=1, deletion_timestamp=dateutil_parser('1970-01-01T00:00:00.00Z'), @@ -11075,7 +11629,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_expressions=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -11084,7 +11638,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_fields=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -11100,7 +11654,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_expressions=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -11109,7 +11663,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_fields=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -11137,6 +11691,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -11175,6 +11735,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -11214,6 +11780,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -11252,6 +11824,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -11342,6 +11920,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -11515,6 +12094,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -11655,6 +12239,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -11828,6 +12413,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -11935,6 +12525,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + unhealthy_pod_eviction_policy="unhealthy_pod_eviction_policy_example", ), pod_gc=IoArgoprojWorkflowV1alpha1PodGC( delete_delay_duration="delete_delay_duration_example", @@ -11981,6 +12572,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ), scheduler_name="scheduler_name_example", security_context=PodSecurityContext( + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), fs_group=1, fs_group_change_policy="fs_group_change_policy_example", run_as_group=1, @@ -11994,7 +12589,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), supplemental_groups=[ 1, @@ -12020,6 +12615,12 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", namespace="namespace_example", ), + mutexes=[ + IoArgoprojWorkflowV1alpha1Mutex( + name="name_example", + namespace="namespace_example", + ), + ], semaphore=IoArgoprojWorkflowV1alpha1SemaphoreRef( config_map_key_ref=ConfigMapKeySelector( key="key_example", @@ -12028,6 +12629,16 @@ with argo_workflows.ApiClient(configuration) as api_client: ), namespace="namespace_example", ), + semaphores=[ + IoArgoprojWorkflowV1alpha1SemaphoreRef( + config_map_key_ref=ConfigMapKeySelector( + key="key_example", + name="name_example", + optional=True, + ), + namespace="namespace_example", + ), + ], ), template_defaults=IoArgoprojWorkflowV1alpha1Template( active_deadline_seconds="active_deadline_seconds_example", @@ -12039,7 +12650,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_expressions=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -12048,7 +12659,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_fields=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -12064,7 +12675,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_expressions=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -12073,7 +12684,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_fields=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -12101,6 +12712,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -12139,6 +12756,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -12178,6 +12801,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -12216,6 +12845,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -12281,6 +12916,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -12448,6 +13084,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), ), @@ -12500,7 +13141,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), ], image="image_example", - image_pull_policy="Always", + image_pull_policy="image_pull_policy_example", lifecycle=Lifecycle( post_start=LifecycleHandler( _exec=ExecAction( @@ -12518,7 +13159,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -12541,7 +13185,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -12570,7 +13217,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -12589,7 +13236,7 @@ with argo_workflows.ApiClient(configuration) as api_client: host_ip="host_ip_example", host_port=1, name="name_example", - protocol="SCTP", + protocol="protocol_example", ), ], readiness_probe=Probe( @@ -12613,7 +13260,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -12625,7 +13272,18 @@ with argo_workflows.ApiClient(configuration) as api_client: termination_grace_period_seconds=1, timeout_seconds=1, ), + resize_policy=[ + ContainerResizePolicy( + resource_name="resource_name_example", + restart_policy="restart_policy_example", + ), + ], resources=ResourceRequirements( + claims=[ + ResourceClaim( + name="name_example", + ), + ], limits={ "key": "key_example", }, @@ -12633,8 +13291,13 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + restart_policy="restart_policy_example", security_context=SecurityContext( allow_privilege_escalation=True, + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), capabilities=Capabilities( add=[ "add_example", @@ -12657,7 +13320,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), windows_options=WindowsSecurityContextOptions( gmsa_credential_spec="gmsa_credential_spec_example", @@ -12687,7 +13350,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -12702,7 +13365,7 @@ with argo_workflows.ApiClient(configuration) as api_client: stdin=True, stdin_once=True, termination_message_path="termination_message_path_example", - termination_message_policy="FallbackToLogsOnError", + termination_message_policy="termination_message_policy_example", tty=True, volume_devices=[ VolumeDevice( @@ -12716,6 +13379,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -12793,7 +13457,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -12816,7 +13483,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -12845,7 +13515,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -12864,7 +13534,7 @@ with argo_workflows.ApiClient(configuration) as api_client: host_ip="host_ip_example", host_port=1, name="name_example", - protocol="SCTP", + protocol="protocol_example", ), ], readiness_probe=Probe( @@ -12888,7 +13558,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -12900,7 +13570,18 @@ with argo_workflows.ApiClient(configuration) as api_client: termination_grace_period_seconds=1, timeout_seconds=1, ), + resize_policy=[ + ContainerResizePolicy( + resource_name="resource_name_example", + restart_policy="restart_policy_example", + ), + ], resources=ResourceRequirements( + claims=[ + ResourceClaim( + name="name_example", + ), + ], limits={ "key": "key_example", }, @@ -12908,8 +13589,13 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + restart_policy="restart_policy_example", security_context=SecurityContext( allow_privilege_escalation=True, + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), capabilities=Capabilities( add=[ "add_example", @@ -12932,7 +13618,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), windows_options=WindowsSecurityContextOptions( gmsa_credential_spec="gmsa_credential_spec_example", @@ -12962,7 +13648,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -12991,6 +13677,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -13008,6 +13695,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -13086,6 +13774,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -13259,6 +13948,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -13369,6 +14063,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -13542,6 +14237,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -13674,6 +14374,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -13847,6 +14548,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -13961,7 +14667,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -13984,7 +14693,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -14013,7 +14725,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -14033,7 +14745,7 @@ with argo_workflows.ApiClient(configuration) as api_client: host_ip="host_ip_example", host_port=1, name="name_example", - protocol="SCTP", + protocol="protocol_example", ), ], readiness_probe=Probe( @@ -14057,7 +14769,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -14069,7 +14781,18 @@ with argo_workflows.ApiClient(configuration) as api_client: termination_grace_period_seconds=1, timeout_seconds=1, ), + resize_policy=[ + ContainerResizePolicy( + resource_name="resource_name_example", + restart_policy="restart_policy_example", + ), + ], resources=ResourceRequirements( + claims=[ + ResourceClaim( + name="name_example", + ), + ], limits={ "key": "key_example", }, @@ -14077,8 +14800,13 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + restart_policy="restart_policy_example", security_context=SecurityContext( allow_privilege_escalation=True, + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), capabilities=Capabilities( add=[ "add_example", @@ -14101,7 +14829,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), windows_options=WindowsSecurityContextOptions( gmsa_credential_spec="gmsa_credential_spec_example", @@ -14131,7 +14859,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -14160,6 +14888,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -14234,6 +14963,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -14407,6 +15137,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -14559,6 +15294,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -14732,6 +15468,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -14845,6 +15586,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -15018,6 +15760,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -15107,7 +15854,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -15130,7 +15880,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -15159,7 +15912,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -15178,7 +15931,7 @@ with argo_workflows.ApiClient(configuration) as api_client: host_ip="host_ip_example", host_port=1, name="name_example", - protocol="SCTP", + protocol="protocol_example", ), ], readiness_probe=Probe( @@ -15202,7 +15955,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -15214,7 +15967,18 @@ with argo_workflows.ApiClient(configuration) as api_client: termination_grace_period_seconds=1, timeout_seconds=1, ), + resize_policy=[ + ContainerResizePolicy( + resource_name="resource_name_example", + restart_policy="restart_policy_example", + ), + ], resources=ResourceRequirements( + claims=[ + ResourceClaim( + name="name_example", + ), + ], limits={ "key": "key_example", }, @@ -15222,8 +15986,13 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + restart_policy="restart_policy_example", security_context=SecurityContext( allow_privilege_escalation=True, + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), capabilities=Capabilities( add=[ "add_example", @@ -15246,7 +16015,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), windows_options=WindowsSecurityContextOptions( gmsa_credential_spec="gmsa_credential_spec_example", @@ -15277,7 +16046,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -15306,6 +16075,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -15313,6 +16083,10 @@ with argo_workflows.ApiClient(configuration) as api_client: working_dir="working_dir_example", ), security_context=PodSecurityContext( + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), fs_group=1, fs_group_change_policy="fs_group_change_policy_example", run_as_group=1, @@ -15326,7 +16100,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), supplemental_groups=[ 1, @@ -15412,7 +16186,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -15435,7 +16212,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -15464,7 +16244,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -15484,7 +16264,7 @@ with argo_workflows.ApiClient(configuration) as api_client: host_ip="host_ip_example", host_port=1, name="name_example", - protocol="SCTP", + protocol="protocol_example", ), ], readiness_probe=Probe( @@ -15508,7 +16288,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -15520,7 +16300,18 @@ with argo_workflows.ApiClient(configuration) as api_client: termination_grace_period_seconds=1, timeout_seconds=1, ), + resize_policy=[ + ContainerResizePolicy( + resource_name="resource_name_example", + restart_policy="restart_policy_example", + ), + ], resources=ResourceRequirements( + claims=[ + ResourceClaim( + name="name_example", + ), + ], limits={ "key": "key_example", }, @@ -15528,8 +16319,13 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + restart_policy="restart_policy_example", security_context=SecurityContext( allow_privilege_escalation=True, + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), capabilities=Capabilities( add=[ "add_example", @@ -15552,7 +16348,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), windows_options=WindowsSecurityContextOptions( gmsa_credential_spec="gmsa_credential_spec_example", @@ -15582,7 +16378,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -15611,6 +16407,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -15688,6 +16485,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -15861,6 +16659,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -15967,6 +16770,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -16140,6 +16944,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -16213,6 +17022,12 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", namespace="namespace_example", ), + mutexes=[ + IoArgoprojWorkflowV1alpha1Mutex( + name="name_example", + namespace="namespace_example", + ), + ], semaphore=IoArgoprojWorkflowV1alpha1SemaphoreRef( config_map_key_ref=ConfigMapKeySelector( key="key_example", @@ -16221,13 +17036,23 @@ with argo_workflows.ApiClient(configuration) as api_client: ), namespace="namespace_example", ), + semaphores=[ + IoArgoprojWorkflowV1alpha1SemaphoreRef( + config_map_key_ref=ConfigMapKeySelector( + key="key_example", + name="name_example", + optional=True, + ), + namespace="namespace_example", + ), + ], ), timeout="timeout_example", tolerations=[ Toleration( - effect="NoExecute", + effect="effect_example", key="key_example", - operator="Equal", + operator="operator_example", toleration_seconds=1, value="value_example", ), @@ -16324,7 +17149,6 @@ with argo_workflows.ApiClient(configuration) as api_client: annotations={ "key": "key_example", }, - cluster_name="cluster_name_example", creation_timestamp=dateutil_parser('1970-01-01T00:00:00.00Z'), deletion_grace_period_seconds=1, deletion_timestamp=dateutil_parser('1970-01-01T00:00:00.00Z'), @@ -16372,12 +17196,13 @@ with argo_workflows.ApiClient(configuration) as api_client: kind="kind_example", name="name_example", ), - data_source_ref=TypedLocalObjectReference( + data_source_ref=TypedObjectReference( api_group="api_group_example", kind="kind_example", name="name_example", + namespace="namespace_example", ), - resources=ResourceRequirements( + resources=VolumeResourceRequirements( limits={ "key": "key_example", }, @@ -16400,6 +17225,7 @@ with argo_workflows.ApiClient(configuration) as api_client: }, ), storage_class_name="storage_class_name_example", + volume_attributes_class_name="volume_attributes_class_name_example", volume_mode="volume_mode_example", volume_name="volume_name_example", ), @@ -16491,6 +17317,26 @@ with argo_workflows.ApiClient(configuration) as api_client: default_mode=1, sources=[ VolumeProjection( + cluster_trust_bundle=ClusterTrustBundleProjection( + label_selector=LabelSelector( + match_expressions=[ + LabelSelectorRequirement( + key="key_example", + operator="operator_example", + values=[ + "values_example", + ], + ), + ], + match_labels={ + "key": "key_example", + }, + ), + name="name_example", + optional=True, + path="path_example", + signer_name="signer_name_example", + ), config_map=ConfigMapProjection( items=[ KeyToPath( @@ -16615,7 +17461,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_expressions=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -16624,7 +17470,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_fields=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -16640,7 +17486,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_expressions=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -16649,7 +17495,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_fields=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -16677,6 +17523,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -16715,6 +17567,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -16754,6 +17612,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -16792,6 +17656,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -16857,6 +17727,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -17024,6 +17895,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), ), @@ -17076,7 +17952,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), ], image="image_example", - image_pull_policy="Always", + image_pull_policy="image_pull_policy_example", lifecycle=Lifecycle( post_start=LifecycleHandler( _exec=ExecAction( @@ -17094,7 +17970,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -17117,7 +17996,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -17146,7 +18028,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -17165,7 +18047,7 @@ with argo_workflows.ApiClient(configuration) as api_client: host_ip="host_ip_example", host_port=1, name="name_example", - protocol="SCTP", + protocol="protocol_example", ), ], readiness_probe=Probe( @@ -17189,7 +18071,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -17201,7 +18083,18 @@ with argo_workflows.ApiClient(configuration) as api_client: termination_grace_period_seconds=1, timeout_seconds=1, ), + resize_policy=[ + ContainerResizePolicy( + resource_name="resource_name_example", + restart_policy="restart_policy_example", + ), + ], resources=ResourceRequirements( + claims=[ + ResourceClaim( + name="name_example", + ), + ], limits={ "key": "key_example", }, @@ -17209,8 +18102,13 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + restart_policy="restart_policy_example", security_context=SecurityContext( allow_privilege_escalation=True, + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), capabilities=Capabilities( add=[ "add_example", @@ -17233,7 +18131,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), windows_options=WindowsSecurityContextOptions( gmsa_credential_spec="gmsa_credential_spec_example", @@ -17263,7 +18161,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -17278,7 +18176,7 @@ with argo_workflows.ApiClient(configuration) as api_client: stdin=True, stdin_once=True, termination_message_path="termination_message_path_example", - termination_message_policy="FallbackToLogsOnError", + termination_message_policy="termination_message_policy_example", tty=True, volume_devices=[ VolumeDevice( @@ -17292,6 +18190,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -17369,7 +18268,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -17392,7 +18294,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -17421,7 +18326,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -17440,7 +18345,7 @@ with argo_workflows.ApiClient(configuration) as api_client: host_ip="host_ip_example", host_port=1, name="name_example", - protocol="SCTP", + protocol="protocol_example", ), ], readiness_probe=Probe( @@ -17464,7 +18369,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -17476,7 +18381,18 @@ with argo_workflows.ApiClient(configuration) as api_client: termination_grace_period_seconds=1, timeout_seconds=1, ), + resize_policy=[ + ContainerResizePolicy( + resource_name="resource_name_example", + restart_policy="restart_policy_example", + ), + ], resources=ResourceRequirements( + claims=[ + ResourceClaim( + name="name_example", + ), + ], limits={ "key": "key_example", }, @@ -17484,8 +18400,13 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + restart_policy="restart_policy_example", security_context=SecurityContext( allow_privilege_escalation=True, + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), capabilities=Capabilities( add=[ "add_example", @@ -17508,7 +18429,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), windows_options=WindowsSecurityContextOptions( gmsa_credential_spec="gmsa_credential_spec_example", @@ -17538,7 +18459,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -17567,6 +18488,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -17584,6 +18506,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -17662,6 +18585,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -17835,6 +18759,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -17945,6 +18874,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -18118,6 +19048,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -18250,6 +19185,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -18423,6 +19359,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -18537,7 +19478,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -18560,7 +19504,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -18589,7 +19536,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -18609,7 +19556,7 @@ with argo_workflows.ApiClient(configuration) as api_client: host_ip="host_ip_example", host_port=1, name="name_example", - protocol="SCTP", + protocol="protocol_example", ), ], readiness_probe=Probe( @@ -18633,7 +19580,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -18645,7 +19592,18 @@ with argo_workflows.ApiClient(configuration) as api_client: termination_grace_period_seconds=1, timeout_seconds=1, ), + resize_policy=[ + ContainerResizePolicy( + resource_name="resource_name_example", + restart_policy="restart_policy_example", + ), + ], resources=ResourceRequirements( + claims=[ + ResourceClaim( + name="name_example", + ), + ], limits={ "key": "key_example", }, @@ -18653,8 +19611,13 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + restart_policy="restart_policy_example", security_context=SecurityContext( allow_privilege_escalation=True, + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), capabilities=Capabilities( add=[ "add_example", @@ -18677,7 +19640,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), windows_options=WindowsSecurityContextOptions( gmsa_credential_spec="gmsa_credential_spec_example", @@ -18707,7 +19670,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -18736,6 +19699,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -18810,6 +19774,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -18983,6 +19948,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -19135,6 +20105,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -19308,6 +20279,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -19421,6 +20397,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -19594,6 +20571,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -19683,7 +20665,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -19706,7 +20691,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -19735,7 +20723,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -19754,7 +20742,7 @@ with argo_workflows.ApiClient(configuration) as api_client: host_ip="host_ip_example", host_port=1, name="name_example", - protocol="SCTP", + protocol="protocol_example", ), ], readiness_probe=Probe( @@ -19778,7 +20766,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -19790,7 +20778,18 @@ with argo_workflows.ApiClient(configuration) as api_client: termination_grace_period_seconds=1, timeout_seconds=1, ), + resize_policy=[ + ContainerResizePolicy( + resource_name="resource_name_example", + restart_policy="restart_policy_example", + ), + ], resources=ResourceRequirements( + claims=[ + ResourceClaim( + name="name_example", + ), + ], limits={ "key": "key_example", }, @@ -19798,8 +20797,13 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + restart_policy="restart_policy_example", security_context=SecurityContext( allow_privilege_escalation=True, + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), capabilities=Capabilities( add=[ "add_example", @@ -19822,7 +20826,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), windows_options=WindowsSecurityContextOptions( gmsa_credential_spec="gmsa_credential_spec_example", @@ -19853,7 +20857,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -19882,6 +20886,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -19889,6 +20894,10 @@ with argo_workflows.ApiClient(configuration) as api_client: working_dir="working_dir_example", ), security_context=PodSecurityContext( + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), fs_group=1, fs_group_change_policy="fs_group_change_policy_example", run_as_group=1, @@ -19902,7 +20911,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), supplemental_groups=[ 1, @@ -19988,7 +20997,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -20011,7 +21023,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -20040,7 +21055,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -20060,7 +21075,7 @@ with argo_workflows.ApiClient(configuration) as api_client: host_ip="host_ip_example", host_port=1, name="name_example", - protocol="SCTP", + protocol="protocol_example", ), ], readiness_probe=Probe( @@ -20084,7 +21099,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -20096,7 +21111,18 @@ with argo_workflows.ApiClient(configuration) as api_client: termination_grace_period_seconds=1, timeout_seconds=1, ), + resize_policy=[ + ContainerResizePolicy( + resource_name="resource_name_example", + restart_policy="restart_policy_example", + ), + ], resources=ResourceRequirements( + claims=[ + ResourceClaim( + name="name_example", + ), + ], limits={ "key": "key_example", }, @@ -20104,8 +21130,13 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + restart_policy="restart_policy_example", security_context=SecurityContext( allow_privilege_escalation=True, + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), capabilities=Capabilities( add=[ "add_example", @@ -20128,7 +21159,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), windows_options=WindowsSecurityContextOptions( gmsa_credential_spec="gmsa_credential_spec_example", @@ -20158,7 +21189,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -20187,6 +21218,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -20264,6 +21296,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -20437,6 +21470,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -20543,6 +21581,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -20716,6 +21755,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -20789,6 +21833,12 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", namespace="namespace_example", ), + mutexes=[ + IoArgoprojWorkflowV1alpha1Mutex( + name="name_example", + namespace="namespace_example", + ), + ], semaphore=IoArgoprojWorkflowV1alpha1SemaphoreRef( config_map_key_ref=ConfigMapKeySelector( key="key_example", @@ -20797,13 +21847,23 @@ with argo_workflows.ApiClient(configuration) as api_client: ), namespace="namespace_example", ), + semaphores=[ + IoArgoprojWorkflowV1alpha1SemaphoreRef( + config_map_key_ref=ConfigMapKeySelector( + key="key_example", + name="name_example", + optional=True, + ), + namespace="namespace_example", + ), + ], ), timeout="timeout_example", tolerations=[ Toleration( - effect="NoExecute", + effect="effect_example", key="key_example", - operator="Equal", + operator="operator_example", toleration_seconds=1, value="value_example", ), @@ -20900,7 +21960,6 @@ with argo_workflows.ApiClient(configuration) as api_client: annotations={ "key": "key_example", }, - cluster_name="cluster_name_example", creation_timestamp=dateutil_parser('1970-01-01T00:00:00.00Z'), deletion_grace_period_seconds=1, deletion_timestamp=dateutil_parser('1970-01-01T00:00:00.00Z'), @@ -20948,12 +22007,13 @@ with argo_workflows.ApiClient(configuration) as api_client: kind="kind_example", name="name_example", ), - data_source_ref=TypedLocalObjectReference( + data_source_ref=TypedObjectReference( api_group="api_group_example", kind="kind_example", name="name_example", + namespace="namespace_example", ), - resources=ResourceRequirements( + resources=VolumeResourceRequirements( limits={ "key": "key_example", }, @@ -20976,6 +22036,7 @@ with argo_workflows.ApiClient(configuration) as api_client: }, ), storage_class_name="storage_class_name_example", + volume_attributes_class_name="volume_attributes_class_name_example", volume_mode="volume_mode_example", volume_name="volume_name_example", ), @@ -21067,6 +22128,26 @@ with argo_workflows.ApiClient(configuration) as api_client: default_mode=1, sources=[ VolumeProjection( + cluster_trust_bundle=ClusterTrustBundleProjection( + label_selector=LabelSelector( + match_expressions=[ + LabelSelectorRequirement( + key="key_example", + operator="operator_example", + values=[ + "values_example", + ], + ), + ], + match_labels={ + "key": "key_example", + }, + ), + name="name_example", + optional=True, + path="path_example", + signer_name="signer_name_example", + ), config_map=ConfigMapProjection( items=[ KeyToPath( @@ -21183,9 +22264,9 @@ with argo_workflows.ApiClient(configuration) as api_client: ], tolerations=[ Toleration( - effect="NoExecute", + effect="effect_example", key="key_example", - operator="Equal", + operator="operator_example", toleration_seconds=1, value="value_example", ), @@ -21206,7 +22287,6 @@ with argo_workflows.ApiClient(configuration) as api_client: annotations={ "key": "key_example", }, - cluster_name="cluster_name_example", creation_timestamp=dateutil_parser('1970-01-01T00:00:00.00Z'), deletion_grace_period_seconds=1, deletion_timestamp=dateutil_parser('1970-01-01T00:00:00.00Z'), @@ -21254,12 +22334,13 @@ with argo_workflows.ApiClient(configuration) as api_client: kind="kind_example", name="name_example", ), - data_source_ref=TypedLocalObjectReference( + data_source_ref=TypedObjectReference( api_group="api_group_example", kind="kind_example", name="name_example", + namespace="namespace_example", ), - resources=ResourceRequirements( + resources=VolumeResourceRequirements( limits={ "key": "key_example", }, @@ -21282,6 +22363,7 @@ with argo_workflows.ApiClient(configuration) as api_client: }, ), storage_class_name="storage_class_name_example", + volume_attributes_class_name="volume_attributes_class_name_example", volume_mode="volume_mode_example", volume_name="volume_name_example", ), @@ -21289,6 +22371,9 @@ with argo_workflows.ApiClient(configuration) as api_client: access_modes=[ "access_modes_example", ], + allocated_resource_statuses={ + "key": "key_example", + }, allocated_resources={ "key": "key_example", }, @@ -21302,11 +22387,15 @@ with argo_workflows.ApiClient(configuration) as api_client: message="message_example", reason="reason_example", status="status_example", - type="FileSystemResizePending", + type="type_example", ), ], - phase="Bound", - resize_status="resize_status_example", + current_volume_attributes_class_name="current_volume_attributes_class_name_example", + modify_volume_status=ModifyVolumeStatus( + status="status_example", + target_volume_attributes_class_name="target_volume_attributes_class_name_example", + ), + phase="phase_example", ), ), ], @@ -21402,7 +22491,6 @@ with argo_workflows.ApiClient(configuration) as api_client: annotations={ "key": "key_example", }, - cluster_name="cluster_name_example", creation_timestamp=dateutil_parser('1970-01-01T00:00:00.00Z'), deletion_grace_period_seconds=1, deletion_timestamp=dateutil_parser('1970-01-01T00:00:00.00Z'), @@ -21450,12 +22538,13 @@ with argo_workflows.ApiClient(configuration) as api_client: kind="kind_example", name="name_example", ), - data_source_ref=TypedLocalObjectReference( + data_source_ref=TypedObjectReference( api_group="api_group_example", kind="kind_example", name="name_example", + namespace="namespace_example", ), - resources=ResourceRequirements( + resources=VolumeResourceRequirements( limits={ "key": "key_example", }, @@ -21478,6 +22567,7 @@ with argo_workflows.ApiClient(configuration) as api_client: }, ), storage_class_name="storage_class_name_example", + volume_attributes_class_name="volume_attributes_class_name_example", volume_mode="volume_mode_example", volume_name="volume_name_example", ), @@ -21569,6 +22659,26 @@ with argo_workflows.ApiClient(configuration) as api_client: default_mode=1, sources=[ VolumeProjection( + cluster_trust_bundle=ClusterTrustBundleProjection( + label_selector=LabelSelector( + match_expressions=[ + LabelSelectorRequirement( + key="key_example", + operator="operator_example", + values=[ + "values_example", + ], + ), + ], + match_labels={ + "key": "key_example", + }, + ), + name="name_example", + optional=True, + path="path_example", + signer_name="signer_name_example", + ), config_map=ConfigMapProjection( items=[ KeyToPath( @@ -21789,6 +22899,7 @@ with argo_workflows.ApiClient(configuration) as api_client: list_options_timeout_seconds = "listOptions.timeoutSeconds_example" # 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 = "listOptions.limit_example" # 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 = "listOptions.continue_example" # 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 = True # 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) # example passing only required values which don't have defaults set try: @@ -21800,7 +22911,7 @@ with argo_workflows.ApiClient(configuration) as api_client: # example passing only required values which don't have defaults set # and optional values try: - api_response = api_instance.list_workflow_templates(namespace, name_pattern=name_pattern, list_options_label_selector=list_options_label_selector, list_options_field_selector=list_options_field_selector, list_options_watch=list_options_watch, list_options_allow_watch_bookmarks=list_options_allow_watch_bookmarks, list_options_resource_version=list_options_resource_version, list_options_resource_version_match=list_options_resource_version_match, list_options_timeout_seconds=list_options_timeout_seconds, list_options_limit=list_options_limit, list_options_continue=list_options_continue) + api_response = api_instance.list_workflow_templates(namespace, name_pattern=name_pattern, list_options_label_selector=list_options_label_selector, list_options_field_selector=list_options_field_selector, list_options_watch=list_options_watch, list_options_allow_watch_bookmarks=list_options_allow_watch_bookmarks, list_options_resource_version=list_options_resource_version, list_options_resource_version_match=list_options_resource_version_match, list_options_timeout_seconds=list_options_timeout_seconds, list_options_limit=list_options_limit, list_options_continue=list_options_continue, list_options_send_initial_events=list_options_send_initial_events) pprint(api_response) except argo_workflows.ApiException as e: print("Exception when calling WorkflowTemplateServiceApi->list_workflow_templates: %s\n" % e) @@ -21822,6 +22933,7 @@ Name | Type | Description | Notes **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 type @@ -21896,7 +23008,6 @@ with argo_workflows.ApiClient(configuration) as api_client: annotations={ "key": "key_example", }, - cluster_name="cluster_name_example", creation_timestamp=dateutil_parser('1970-01-01T00:00:00.00Z'), deletion_grace_period_seconds=1, deletion_timestamp=dateutil_parser('1970-01-01T00:00:00.00Z'), @@ -21945,7 +23056,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_expressions=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -21954,7 +23065,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_fields=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -21970,7 +23081,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_expressions=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -21979,7 +23090,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_fields=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -22007,6 +23118,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -22045,6 +23162,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -22084,6 +23207,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -22122,6 +23251,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -22212,6 +23347,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -22385,6 +23521,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -22525,6 +23666,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -22698,6 +23840,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -22805,6 +23952,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + unhealthy_pod_eviction_policy="unhealthy_pod_eviction_policy_example", ), pod_gc=IoArgoprojWorkflowV1alpha1PodGC( delete_delay_duration="delete_delay_duration_example", @@ -22851,6 +23999,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ), scheduler_name="scheduler_name_example", security_context=PodSecurityContext( + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), fs_group=1, fs_group_change_policy="fs_group_change_policy_example", run_as_group=1, @@ -22864,7 +24016,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), supplemental_groups=[ 1, @@ -22890,6 +24042,12 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", namespace="namespace_example", ), + mutexes=[ + IoArgoprojWorkflowV1alpha1Mutex( + name="name_example", + namespace="namespace_example", + ), + ], semaphore=IoArgoprojWorkflowV1alpha1SemaphoreRef( config_map_key_ref=ConfigMapKeySelector( key="key_example", @@ -22898,6 +24056,16 @@ with argo_workflows.ApiClient(configuration) as api_client: ), namespace="namespace_example", ), + semaphores=[ + IoArgoprojWorkflowV1alpha1SemaphoreRef( + config_map_key_ref=ConfigMapKeySelector( + key="key_example", + name="name_example", + optional=True, + ), + namespace="namespace_example", + ), + ], ), template_defaults=IoArgoprojWorkflowV1alpha1Template( active_deadline_seconds="active_deadline_seconds_example", @@ -22909,7 +24077,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_expressions=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -22918,7 +24086,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_fields=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -22934,7 +24102,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_expressions=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -22943,7 +24111,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_fields=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -22971,6 +24139,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -23009,6 +24183,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -23048,6 +24228,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -23086,6 +24272,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -23151,6 +24343,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -23318,6 +24511,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), ), @@ -23370,7 +24568,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), ], image="image_example", - image_pull_policy="Always", + image_pull_policy="image_pull_policy_example", lifecycle=Lifecycle( post_start=LifecycleHandler( _exec=ExecAction( @@ -23388,7 +24586,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -23411,7 +24612,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -23440,7 +24644,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -23459,7 +24663,7 @@ with argo_workflows.ApiClient(configuration) as api_client: host_ip="host_ip_example", host_port=1, name="name_example", - protocol="SCTP", + protocol="protocol_example", ), ], readiness_probe=Probe( @@ -23483,7 +24687,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -23495,7 +24699,18 @@ with argo_workflows.ApiClient(configuration) as api_client: termination_grace_period_seconds=1, timeout_seconds=1, ), + resize_policy=[ + ContainerResizePolicy( + resource_name="resource_name_example", + restart_policy="restart_policy_example", + ), + ], resources=ResourceRequirements( + claims=[ + ResourceClaim( + name="name_example", + ), + ], limits={ "key": "key_example", }, @@ -23503,8 +24718,13 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + restart_policy="restart_policy_example", security_context=SecurityContext( allow_privilege_escalation=True, + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), capabilities=Capabilities( add=[ "add_example", @@ -23527,7 +24747,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), windows_options=WindowsSecurityContextOptions( gmsa_credential_spec="gmsa_credential_spec_example", @@ -23557,7 +24777,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -23572,7 +24792,7 @@ with argo_workflows.ApiClient(configuration) as api_client: stdin=True, stdin_once=True, termination_message_path="termination_message_path_example", - termination_message_policy="FallbackToLogsOnError", + termination_message_policy="termination_message_policy_example", tty=True, volume_devices=[ VolumeDevice( @@ -23586,6 +24806,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -23663,7 +24884,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -23686,7 +24910,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -23715,7 +24942,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -23734,7 +24961,7 @@ with argo_workflows.ApiClient(configuration) as api_client: host_ip="host_ip_example", host_port=1, name="name_example", - protocol="SCTP", + protocol="protocol_example", ), ], readiness_probe=Probe( @@ -23758,7 +24985,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -23770,7 +24997,18 @@ with argo_workflows.ApiClient(configuration) as api_client: termination_grace_period_seconds=1, timeout_seconds=1, ), + resize_policy=[ + ContainerResizePolicy( + resource_name="resource_name_example", + restart_policy="restart_policy_example", + ), + ], resources=ResourceRequirements( + claims=[ + ResourceClaim( + name="name_example", + ), + ], limits={ "key": "key_example", }, @@ -23778,8 +25016,13 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + restart_policy="restart_policy_example", security_context=SecurityContext( allow_privilege_escalation=True, + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), capabilities=Capabilities( add=[ "add_example", @@ -23802,7 +25045,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), windows_options=WindowsSecurityContextOptions( gmsa_credential_spec="gmsa_credential_spec_example", @@ -23832,7 +25075,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -23861,6 +25104,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -23878,6 +25122,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -23956,6 +25201,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -24129,6 +25375,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -24239,6 +25490,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -24412,6 +25664,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -24544,6 +25801,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -24717,6 +25975,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -24831,7 +26094,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -24854,7 +26120,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -24883,7 +26152,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -24903,7 +26172,7 @@ with argo_workflows.ApiClient(configuration) as api_client: host_ip="host_ip_example", host_port=1, name="name_example", - protocol="SCTP", + protocol="protocol_example", ), ], readiness_probe=Probe( @@ -24927,7 +26196,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -24939,7 +26208,18 @@ with argo_workflows.ApiClient(configuration) as api_client: termination_grace_period_seconds=1, timeout_seconds=1, ), + resize_policy=[ + ContainerResizePolicy( + resource_name="resource_name_example", + restart_policy="restart_policy_example", + ), + ], resources=ResourceRequirements( + claims=[ + ResourceClaim( + name="name_example", + ), + ], limits={ "key": "key_example", }, @@ -24947,8 +26227,13 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + restart_policy="restart_policy_example", security_context=SecurityContext( allow_privilege_escalation=True, + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), capabilities=Capabilities( add=[ "add_example", @@ -24971,7 +26256,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), windows_options=WindowsSecurityContextOptions( gmsa_credential_spec="gmsa_credential_spec_example", @@ -25001,7 +26286,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -25030,6 +26315,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -25104,6 +26390,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -25277,6 +26564,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -25429,6 +26721,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -25602,6 +26895,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -25715,6 +27013,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -25888,6 +27187,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -25977,7 +27281,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -26000,7 +27307,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -26029,7 +27339,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -26048,7 +27358,7 @@ with argo_workflows.ApiClient(configuration) as api_client: host_ip="host_ip_example", host_port=1, name="name_example", - protocol="SCTP", + protocol="protocol_example", ), ], readiness_probe=Probe( @@ -26072,7 +27382,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -26084,7 +27394,18 @@ with argo_workflows.ApiClient(configuration) as api_client: termination_grace_period_seconds=1, timeout_seconds=1, ), + resize_policy=[ + ContainerResizePolicy( + resource_name="resource_name_example", + restart_policy="restart_policy_example", + ), + ], resources=ResourceRequirements( + claims=[ + ResourceClaim( + name="name_example", + ), + ], limits={ "key": "key_example", }, @@ -26092,8 +27413,13 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + restart_policy="restart_policy_example", security_context=SecurityContext( allow_privilege_escalation=True, + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), capabilities=Capabilities( add=[ "add_example", @@ -26116,7 +27442,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), windows_options=WindowsSecurityContextOptions( gmsa_credential_spec="gmsa_credential_spec_example", @@ -26147,7 +27473,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -26176,6 +27502,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -26183,6 +27510,10 @@ with argo_workflows.ApiClient(configuration) as api_client: working_dir="working_dir_example", ), security_context=PodSecurityContext( + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), fs_group=1, fs_group_change_policy="fs_group_change_policy_example", run_as_group=1, @@ -26196,7 +27527,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), supplemental_groups=[ 1, @@ -26282,7 +27613,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -26305,7 +27639,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -26334,7 +27671,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -26354,7 +27691,7 @@ with argo_workflows.ApiClient(configuration) as api_client: host_ip="host_ip_example", host_port=1, name="name_example", - protocol="SCTP", + protocol="protocol_example", ), ], readiness_probe=Probe( @@ -26378,7 +27715,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -26390,7 +27727,18 @@ with argo_workflows.ApiClient(configuration) as api_client: termination_grace_period_seconds=1, timeout_seconds=1, ), + resize_policy=[ + ContainerResizePolicy( + resource_name="resource_name_example", + restart_policy="restart_policy_example", + ), + ], resources=ResourceRequirements( + claims=[ + ResourceClaim( + name="name_example", + ), + ], limits={ "key": "key_example", }, @@ -26398,8 +27746,13 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + restart_policy="restart_policy_example", security_context=SecurityContext( allow_privilege_escalation=True, + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), capabilities=Capabilities( add=[ "add_example", @@ -26422,7 +27775,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), windows_options=WindowsSecurityContextOptions( gmsa_credential_spec="gmsa_credential_spec_example", @@ -26452,7 +27805,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -26481,6 +27834,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -26558,6 +27912,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -26731,6 +28086,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -26837,6 +28197,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -27010,6 +28371,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -27083,6 +28449,12 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", namespace="namespace_example", ), + mutexes=[ + IoArgoprojWorkflowV1alpha1Mutex( + name="name_example", + namespace="namespace_example", + ), + ], semaphore=IoArgoprojWorkflowV1alpha1SemaphoreRef( config_map_key_ref=ConfigMapKeySelector( key="key_example", @@ -27091,13 +28463,23 @@ with argo_workflows.ApiClient(configuration) as api_client: ), namespace="namespace_example", ), + semaphores=[ + IoArgoprojWorkflowV1alpha1SemaphoreRef( + config_map_key_ref=ConfigMapKeySelector( + key="key_example", + name="name_example", + optional=True, + ), + namespace="namespace_example", + ), + ], ), timeout="timeout_example", tolerations=[ Toleration( - effect="NoExecute", + effect="effect_example", key="key_example", - operator="Equal", + operator="operator_example", toleration_seconds=1, value="value_example", ), @@ -27194,7 +28576,6 @@ with argo_workflows.ApiClient(configuration) as api_client: annotations={ "key": "key_example", }, - cluster_name="cluster_name_example", creation_timestamp=dateutil_parser('1970-01-01T00:00:00.00Z'), deletion_grace_period_seconds=1, deletion_timestamp=dateutil_parser('1970-01-01T00:00:00.00Z'), @@ -27242,12 +28623,13 @@ with argo_workflows.ApiClient(configuration) as api_client: kind="kind_example", name="name_example", ), - data_source_ref=TypedLocalObjectReference( + data_source_ref=TypedObjectReference( api_group="api_group_example", kind="kind_example", name="name_example", + namespace="namespace_example", ), - resources=ResourceRequirements( + resources=VolumeResourceRequirements( limits={ "key": "key_example", }, @@ -27270,6 +28652,7 @@ with argo_workflows.ApiClient(configuration) as api_client: }, ), storage_class_name="storage_class_name_example", + volume_attributes_class_name="volume_attributes_class_name_example", volume_mode="volume_mode_example", volume_name="volume_name_example", ), @@ -27361,6 +28744,26 @@ with argo_workflows.ApiClient(configuration) as api_client: default_mode=1, sources=[ VolumeProjection( + cluster_trust_bundle=ClusterTrustBundleProjection( + label_selector=LabelSelector( + match_expressions=[ + LabelSelectorRequirement( + key="key_example", + operator="operator_example", + values=[ + "values_example", + ], + ), + ], + match_labels={ + "key": "key_example", + }, + ), + name="name_example", + optional=True, + path="path_example", + signer_name="signer_name_example", + ), config_map=ConfigMapProjection( items=[ KeyToPath( @@ -27485,7 +28888,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_expressions=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -27494,7 +28897,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_fields=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -27510,7 +28913,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_expressions=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -27519,7 +28922,7 @@ with argo_workflows.ApiClient(configuration) as api_client: match_fields=[ NodeSelectorRequirement( key="key_example", - operator="DoesNotExist", + operator="operator_example", values=[ "values_example", ], @@ -27547,6 +28950,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -27585,6 +28994,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -27624,6 +29039,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -27662,6 +29083,12 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + match_label_keys=[ + "match_label_keys_example", + ], + mismatch_label_keys=[ + "mismatch_label_keys_example", + ], namespace_selector=LabelSelector( match_expressions=[ LabelSelectorRequirement( @@ -27727,6 +29154,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -27894,6 +29322,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), ), @@ -27946,7 +29379,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), ], image="image_example", - image_pull_policy="Always", + image_pull_policy="image_pull_policy_example", lifecycle=Lifecycle( post_start=LifecycleHandler( _exec=ExecAction( @@ -27964,7 +29397,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -27987,7 +29423,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -28016,7 +29455,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -28035,7 +29474,7 @@ with argo_workflows.ApiClient(configuration) as api_client: host_ip="host_ip_example", host_port=1, name="name_example", - protocol="SCTP", + protocol="protocol_example", ), ], readiness_probe=Probe( @@ -28059,7 +29498,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -28071,7 +29510,18 @@ with argo_workflows.ApiClient(configuration) as api_client: termination_grace_period_seconds=1, timeout_seconds=1, ), + resize_policy=[ + ContainerResizePolicy( + resource_name="resource_name_example", + restart_policy="restart_policy_example", + ), + ], resources=ResourceRequirements( + claims=[ + ResourceClaim( + name="name_example", + ), + ], limits={ "key": "key_example", }, @@ -28079,8 +29529,13 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + restart_policy="restart_policy_example", security_context=SecurityContext( allow_privilege_escalation=True, + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), capabilities=Capabilities( add=[ "add_example", @@ -28103,7 +29558,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), windows_options=WindowsSecurityContextOptions( gmsa_credential_spec="gmsa_credential_spec_example", @@ -28133,7 +29588,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -28148,7 +29603,7 @@ with argo_workflows.ApiClient(configuration) as api_client: stdin=True, stdin_once=True, termination_message_path="termination_message_path_example", - termination_message_policy="FallbackToLogsOnError", + termination_message_policy="termination_message_policy_example", tty=True, volume_devices=[ VolumeDevice( @@ -28162,6 +29617,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -28239,7 +29695,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -28262,7 +29721,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -28291,7 +29753,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -28310,7 +29772,7 @@ with argo_workflows.ApiClient(configuration) as api_client: host_ip="host_ip_example", host_port=1, name="name_example", - protocol="SCTP", + protocol="protocol_example", ), ], readiness_probe=Probe( @@ -28334,7 +29796,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -28346,7 +29808,18 @@ with argo_workflows.ApiClient(configuration) as api_client: termination_grace_period_seconds=1, timeout_seconds=1, ), + resize_policy=[ + ContainerResizePolicy( + resource_name="resource_name_example", + restart_policy="restart_policy_example", + ), + ], resources=ResourceRequirements( + claims=[ + ResourceClaim( + name="name_example", + ), + ], limits={ "key": "key_example", }, @@ -28354,8 +29827,13 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + restart_policy="restart_policy_example", security_context=SecurityContext( allow_privilege_escalation=True, + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), capabilities=Capabilities( add=[ "add_example", @@ -28378,7 +29856,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), windows_options=WindowsSecurityContextOptions( gmsa_credential_spec="gmsa_credential_spec_example", @@ -28408,7 +29886,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -28437,6 +29915,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -28454,6 +29933,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -28532,6 +30012,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -28705,6 +30186,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -28815,6 +30301,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -28988,6 +30475,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -29120,6 +30612,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -29293,6 +30786,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -29407,7 +30905,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -29430,7 +30931,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -29459,7 +30963,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -29479,7 +30983,7 @@ with argo_workflows.ApiClient(configuration) as api_client: host_ip="host_ip_example", host_port=1, name="name_example", - protocol="SCTP", + protocol="protocol_example", ), ], readiness_probe=Probe( @@ -29503,7 +31007,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -29515,7 +31019,18 @@ with argo_workflows.ApiClient(configuration) as api_client: termination_grace_period_seconds=1, timeout_seconds=1, ), + resize_policy=[ + ContainerResizePolicy( + resource_name="resource_name_example", + restart_policy="restart_policy_example", + ), + ], resources=ResourceRequirements( + claims=[ + ResourceClaim( + name="name_example", + ), + ], limits={ "key": "key_example", }, @@ -29523,8 +31038,13 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + restart_policy="restart_policy_example", security_context=SecurityContext( allow_privilege_escalation=True, + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), capabilities=Capabilities( add=[ "add_example", @@ -29547,7 +31067,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), windows_options=WindowsSecurityContextOptions( gmsa_credential_spec="gmsa_credential_spec_example", @@ -29577,7 +31097,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -29606,6 +31126,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -29680,6 +31201,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -29853,6 +31375,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -30005,6 +31532,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -30178,6 +31706,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -30291,6 +31824,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -30464,6 +31998,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -30553,7 +32092,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -30576,7 +32118,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -30605,7 +32150,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -30624,7 +32169,7 @@ with argo_workflows.ApiClient(configuration) as api_client: host_ip="host_ip_example", host_port=1, name="name_example", - protocol="SCTP", + protocol="protocol_example", ), ], readiness_probe=Probe( @@ -30648,7 +32193,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -30660,7 +32205,18 @@ with argo_workflows.ApiClient(configuration) as api_client: termination_grace_period_seconds=1, timeout_seconds=1, ), + resize_policy=[ + ContainerResizePolicy( + resource_name="resource_name_example", + restart_policy="restart_policy_example", + ), + ], resources=ResourceRequirements( + claims=[ + ResourceClaim( + name="name_example", + ), + ], limits={ "key": "key_example", }, @@ -30668,8 +32224,13 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + restart_policy="restart_policy_example", security_context=SecurityContext( allow_privilege_escalation=True, + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), capabilities=Capabilities( add=[ "add_example", @@ -30692,7 +32253,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), windows_options=WindowsSecurityContextOptions( gmsa_credential_spec="gmsa_credential_spec_example", @@ -30723,7 +32284,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -30752,6 +32313,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -30759,6 +32321,10 @@ with argo_workflows.ApiClient(configuration) as api_client: working_dir="working_dir_example", ), security_context=PodSecurityContext( + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), fs_group=1, fs_group_change_policy="fs_group_change_policy_example", run_as_group=1, @@ -30772,7 +32338,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), supplemental_groups=[ 1, @@ -30858,7 +32424,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -30881,7 +32450,10 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", + ), + sleep=SleepAction( + seconds=1, ), tcp_socket=TCPSocketAction( host="host_example", @@ -30910,7 +32482,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -30930,7 +32502,7 @@ with argo_workflows.ApiClient(configuration) as api_client: host_ip="host_ip_example", host_port=1, name="name_example", - protocol="SCTP", + protocol="protocol_example", ), ], readiness_probe=Probe( @@ -30954,7 +32526,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -30966,7 +32538,18 @@ with argo_workflows.ApiClient(configuration) as api_client: termination_grace_period_seconds=1, timeout_seconds=1, ), + resize_policy=[ + ContainerResizePolicy( + resource_name="resource_name_example", + restart_policy="restart_policy_example", + ), + ], resources=ResourceRequirements( + claims=[ + ResourceClaim( + name="name_example", + ), + ], limits={ "key": "key_example", }, @@ -30974,8 +32557,13 @@ with argo_workflows.ApiClient(configuration) as api_client: "key": "key_example", }, ), + restart_policy="restart_policy_example", security_context=SecurityContext( allow_privilege_escalation=True, + app_armor_profile=AppArmorProfile( + localhost_profile="localhost_profile_example", + type="type_example", + ), capabilities=Capabilities( add=[ "add_example", @@ -30998,7 +32586,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ), seccomp_profile=SeccompProfile( localhost_profile="localhost_profile_example", - type="Localhost", + type="type_example", ), windows_options=WindowsSecurityContextOptions( gmsa_credential_spec="gmsa_credential_spec_example", @@ -31028,7 +32616,7 @@ with argo_workflows.ApiClient(configuration) as api_client: ], path="path_example", port="port_example", - scheme="HTTP", + scheme="scheme_example", ), initial_delay_seconds=1, period_seconds=1, @@ -31057,6 +32645,7 @@ with argo_workflows.ApiClient(configuration) as api_client: mount_propagation="mount_propagation_example", name="name_example", read_only=True, + recursive_read_only="recursive_read_only_example", sub_path="sub_path_example", sub_path_expr="sub_path_expr_example", ), @@ -31134,6 +32723,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -31307,6 +32897,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -31413,6 +33008,7 @@ with argo_workflows.ApiClient(configuration) as api_client: "fetch_example", ], insecure_ignore_host_key=True, + insecure_skip_tls=True, password_secret=SecretKeySelector( key="key_example", name="name_example", @@ -31586,6 +33182,11 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", optional=True, ), + session_token_secret=SecretKeySelector( + key="key_example", + name="name_example", + optional=True, + ), use_sdk_creds=True, ), sub_path="sub_path_example", @@ -31659,6 +33260,12 @@ with argo_workflows.ApiClient(configuration) as api_client: name="name_example", namespace="namespace_example", ), + mutexes=[ + IoArgoprojWorkflowV1alpha1Mutex( + name="name_example", + namespace="namespace_example", + ), + ], semaphore=IoArgoprojWorkflowV1alpha1SemaphoreRef( config_map_key_ref=ConfigMapKeySelector( key="key_example", @@ -31667,13 +33274,23 @@ with argo_workflows.ApiClient(configuration) as api_client: ), namespace="namespace_example", ), + semaphores=[ + IoArgoprojWorkflowV1alpha1SemaphoreRef( + config_map_key_ref=ConfigMapKeySelector( + key="key_example", + name="name_example", + optional=True, + ), + namespace="namespace_example", + ), + ], ), timeout="timeout_example", tolerations=[ Toleration( - effect="NoExecute", + effect="effect_example", key="key_example", - operator="Equal", + operator="operator_example", toleration_seconds=1, value="value_example", ), @@ -31770,7 +33387,6 @@ with argo_workflows.ApiClient(configuration) as api_client: annotations={ "key": "key_example", }, - cluster_name="cluster_name_example", creation_timestamp=dateutil_parser('1970-01-01T00:00:00.00Z'), deletion_grace_period_seconds=1, deletion_timestamp=dateutil_parser('1970-01-01T00:00:00.00Z'), @@ -31818,12 +33434,13 @@ with argo_workflows.ApiClient(configuration) as api_client: kind="kind_example", name="name_example", ), - data_source_ref=TypedLocalObjectReference( + data_source_ref=TypedObjectReference( api_group="api_group_example", kind="kind_example", name="name_example", + namespace="namespace_example", ), - resources=ResourceRequirements( + resources=VolumeResourceRequirements( limits={ "key": "key_example", }, @@ -31846,6 +33463,7 @@ with argo_workflows.ApiClient(configuration) as api_client: }, ), storage_class_name="storage_class_name_example", + volume_attributes_class_name="volume_attributes_class_name_example", volume_mode="volume_mode_example", volume_name="volume_name_example", ), @@ -31937,6 +33555,26 @@ with argo_workflows.ApiClient(configuration) as api_client: default_mode=1, sources=[ VolumeProjection( + cluster_trust_bundle=ClusterTrustBundleProjection( + label_selector=LabelSelector( + match_expressions=[ + LabelSelectorRequirement( + key="key_example", + operator="operator_example", + values=[ + "values_example", + ], + ), + ], + match_labels={ + "key": "key_example", + }, + ), + name="name_example", + optional=True, + path="path_example", + signer_name="signer_name_example", + ), config_map=ConfigMapProjection( items=[ KeyToPath( @@ -32053,9 +33691,9 @@ with argo_workflows.ApiClient(configuration) as api_client: ], tolerations=[ Toleration( - effect="NoExecute", + effect="effect_example", key="key_example", - operator="Equal", + operator="operator_example", toleration_seconds=1, value="value_example", ), @@ -32076,7 +33714,6 @@ with argo_workflows.ApiClient(configuration) as api_client: annotations={ "key": "key_example", }, - cluster_name="cluster_name_example", creation_timestamp=dateutil_parser('1970-01-01T00:00:00.00Z'), deletion_grace_period_seconds=1, deletion_timestamp=dateutil_parser('1970-01-01T00:00:00.00Z'), @@ -32124,12 +33761,13 @@ with argo_workflows.ApiClient(configuration) as api_client: kind="kind_example", name="name_example", ), - data_source_ref=TypedLocalObjectReference( + data_source_ref=TypedObjectReference( api_group="api_group_example", kind="kind_example", name="name_example", + namespace="namespace_example", ), - resources=ResourceRequirements( + resources=VolumeResourceRequirements( limits={ "key": "key_example", }, @@ -32152,6 +33790,7 @@ with argo_workflows.ApiClient(configuration) as api_client: }, ), storage_class_name="storage_class_name_example", + volume_attributes_class_name="volume_attributes_class_name_example", volume_mode="volume_mode_example", volume_name="volume_name_example", ), @@ -32159,6 +33798,9 @@ with argo_workflows.ApiClient(configuration) as api_client: access_modes=[ "access_modes_example", ], + allocated_resource_statuses={ + "key": "key_example", + }, allocated_resources={ "key": "key_example", }, @@ -32172,11 +33814,15 @@ with argo_workflows.ApiClient(configuration) as api_client: message="message_example", reason="reason_example", status="status_example", - type="FileSystemResizePending", + type="type_example", ), ], - phase="Bound", - resize_status="resize_status_example", + current_volume_attributes_class_name="current_volume_attributes_class_name_example", + modify_volume_status=ModifyVolumeStatus( + status="status_example", + target_volume_attributes_class_name="target_volume_attributes_class_name_example", + ), + phase="phase_example", ), ), ], @@ -32272,7 +33918,6 @@ with argo_workflows.ApiClient(configuration) as api_client: annotations={ "key": "key_example", }, - cluster_name="cluster_name_example", creation_timestamp=dateutil_parser('1970-01-01T00:00:00.00Z'), deletion_grace_period_seconds=1, deletion_timestamp=dateutil_parser('1970-01-01T00:00:00.00Z'), @@ -32320,12 +33965,13 @@ with argo_workflows.ApiClient(configuration) as api_client: kind="kind_example", name="name_example", ), - data_source_ref=TypedLocalObjectReference( + data_source_ref=TypedObjectReference( api_group="api_group_example", kind="kind_example", name="name_example", + namespace="namespace_example", ), - resources=ResourceRequirements( + resources=VolumeResourceRequirements( limits={ "key": "key_example", }, @@ -32348,6 +33994,7 @@ with argo_workflows.ApiClient(configuration) as api_client: }, ), storage_class_name="storage_class_name_example", + volume_attributes_class_name="volume_attributes_class_name_example", volume_mode="volume_mode_example", volume_name="volume_name_example", ), @@ -32439,6 +34086,26 @@ with argo_workflows.ApiClient(configuration) as api_client: default_mode=1, sources=[ VolumeProjection( + cluster_trust_bundle=ClusterTrustBundleProjection( + label_selector=LabelSelector( + match_expressions=[ + LabelSelectorRequirement( + key="key_example", + operator="operator_example", + values=[ + "values_example", + ], + ), + ], + match_labels={ + "key": "key_example", + }, + ), + name="name_example", + optional=True, + path="path_example", + signer_name="signer_name_example", + ), config_map=ConfigMapProjection( items=[ KeyToPath( diff --git a/server/apiserver/argoserver.go b/server/apiserver/argoserver.go index 1255f6cce62d..88b5ed9cc930 100644 --- a/server/apiserver/argoserver.go +++ b/server/apiserver/argoserver.go @@ -305,6 +305,7 @@ func (as *argoServer) newGRPCServer(instanceIDService instanceid.Service, workfl grpcutil.ErrorTranslationUnaryServerInterceptor, as.gatekeeper.UnaryServerInterceptor(), grpcutil.RatelimitUnaryServerInterceptor(as.apiRateLimiter), + grpcutil.SetVersionHeaderUnaryServerInterceptor(argo.GetVersion()), )), grpc.StreamInterceptor(grpc_middleware.ChainStreamServer( grpc_prometheus.StreamServerInterceptor, @@ -313,6 +314,7 @@ func (as *argoServer) newGRPCServer(instanceIDService instanceid.Service, workfl grpcutil.ErrorTranslationStreamServerInterceptor, as.gatekeeper.StreamServerInterceptor(), grpcutil.RatelimitStreamServerInterceptor(as.apiRateLimiter), + grpcutil.SetVersionHeaderStreamServerInterceptor(argo.GetVersion()), )), } diff --git a/server/cronworkflow/cron_workflow_server.go b/server/cronworkflow/cron_workflow_server.go index 49d45bffea4c..cd8012a61320 100644 --- a/server/cronworkflow/cron_workflow_server.go +++ b/server/cronworkflow/cron_workflow_server.go @@ -35,7 +35,7 @@ func (c *cronWorkflowServiceServer) LintCronWorkflow(ctx context.Context, req *c cwftmplGetter := templateresolution.WrapClusterWorkflowTemplateInterface(wfClient.ArgoprojV1alpha1().ClusterWorkflowTemplates()) c.instanceIDService.Label(req.CronWorkflow) creator.Label(ctx, req.CronWorkflow) - err := validate.ValidateCronWorkflow(wftmplGetter, cwftmplGetter, req.CronWorkflow) + err := validate.ValidateCronWorkflow(ctx, wftmplGetter, cwftmplGetter, req.CronWorkflow) if err != nil { return nil, sutils.ToStatusError(err, codes.InvalidArgument) } @@ -64,7 +64,7 @@ func (c *cronWorkflowServiceServer) CreateCronWorkflow(ctx context.Context, req creator.Label(ctx, req.CronWorkflow) wftmplGetter := templateresolution.WrapWorkflowTemplateInterface(wfClient.ArgoprojV1alpha1().WorkflowTemplates(req.Namespace)) cwftmplGetter := templateresolution.WrapClusterWorkflowTemplateInterface(wfClient.ArgoprojV1alpha1().ClusterWorkflowTemplates()) - err := validate.ValidateCronWorkflow(wftmplGetter, cwftmplGetter, req.CronWorkflow) + err := validate.ValidateCronWorkflow(ctx, wftmplGetter, cwftmplGetter, req.CronWorkflow) if err != nil { return nil, sutils.ToStatusError(err, codes.InvalidArgument) } @@ -91,7 +91,7 @@ func (c *cronWorkflowServiceServer) UpdateCronWorkflow(ctx context.Context, req } wftmplGetter := templateresolution.WrapWorkflowTemplateInterface(wfClient.ArgoprojV1alpha1().WorkflowTemplates(req.Namespace)) cwftmplGetter := templateresolution.WrapClusterWorkflowTemplateInterface(wfClient.ArgoprojV1alpha1().ClusterWorkflowTemplates()) - if err := validate.ValidateCronWorkflow(wftmplGetter, cwftmplGetter, req.CronWorkflow); err != nil { + if err := validate.ValidateCronWorkflow(ctx, wftmplGetter, cwftmplGetter, req.CronWorkflow); err != nil { return nil, sutils.ToStatusError(err, codes.InvalidArgument) } crWf, err := auth.GetWfClient(ctx).ArgoprojV1alpha1().CronWorkflows(req.Namespace).Update(ctx, req.CronWorkflow, metav1.UpdateOptions{}) diff --git a/server/utils/list_options.go b/server/utils/list_options.go index 69a03456cbd5..978592db3a14 100644 --- a/server/utils/list_options.go +++ b/server/utils/list_options.go @@ -13,12 +13,13 @@ import ( ) type ListOptions struct { - Namespace, Name, NamePrefix string - MinStartedAt, MaxStartedAt time.Time - LabelRequirements labels.Requirements - Limit, Offset int - ShowRemainingItemCount bool - StartedAtAscending bool + Namespace, Name string + NamePrefix, NameFilter string + MinStartedAt, MaxStartedAt time.Time + LabelRequirements labels.Requirements + Limit, Offset int + ShowRemainingItemCount bool + StartedAtAscending bool } func (l ListOptions) WithLimit(limit int) ListOptions { @@ -51,10 +52,11 @@ func (l ListOptions) WithStartedAtAscending(ascending bool) ListOptions { return l } -func BuildListOptions(options metav1.ListOptions, ns, namePrefix string) (ListOptions, error) { +func BuildListOptions(options metav1.ListOptions, ns, namePrefix, nameFilter string) (ListOptions, error) { if options.Continue == "" { options.Continue = "0" } + limit := int(options.Limit) offset, err := strconv.Atoi(options.Continue) @@ -123,6 +125,7 @@ func BuildListOptions(options metav1.ListOptions, ns, namePrefix string) (ListOp Namespace: namespace, Name: name, NamePrefix: namePrefix, + NameFilter: nameFilter, MinStartedAt: minStartedAt, MaxStartedAt: maxStartedAt, LabelRequirements: requirements, diff --git a/server/workflow/store/lister.go b/server/workflow/store/lister.go index 3a2dc0870a7a..e50ab6938e3e 100644 --- a/server/workflow/store/lister.go +++ b/server/workflow/store/lister.go @@ -10,8 +10,8 @@ import ( ) type WorkflowLister interface { - ListWorkflows(ctx context.Context, namespace, namePrefix string, listOptions metav1.ListOptions) (*wfv1.WorkflowList, error) - CountWorkflows(ctx context.Context, namespace, namePrefix string, listOptions metav1.ListOptions) (int64, error) + ListWorkflows(ctx context.Context, namespace, nameFilter string, listOptions metav1.ListOptions) (*wfv1.WorkflowList, error) + CountWorkflows(ctx context.Context, namespace, nameFilter string, listOptions metav1.ListOptions) (int64, error) } type kubeLister struct { @@ -24,7 +24,7 @@ func NewKubeLister(wfClient versioned.Interface) WorkflowLister { return &kubeLister{wfClient: wfClient} } -func (k *kubeLister) ListWorkflows(ctx context.Context, namespace, namePrefix string, listOptions metav1.ListOptions) (*wfv1.WorkflowList, error) { +func (k *kubeLister) ListWorkflows(ctx context.Context, namespace, nameFilter string, listOptions metav1.ListOptions) (*wfv1.WorkflowList, error) { wfList, err := k.wfClient.ArgoprojV1alpha1().Workflows(namespace).List(ctx, listOptions) if err != nil { return nil, err @@ -32,7 +32,7 @@ func (k *kubeLister) ListWorkflows(ctx context.Context, namespace, namePrefix st return wfList, nil } -func (k *kubeLister) CountWorkflows(ctx context.Context, namespace, namePrefix string, listOptions metav1.ListOptions) (int64, error) { +func (k *kubeLister) CountWorkflows(ctx context.Context, namespace, nameFilter string, listOptions metav1.ListOptions) (int64, error) { wfList, err := k.wfClient.ArgoprojV1alpha1().Workflows(namespace).List(ctx, listOptions) if err != nil { return 0, err diff --git a/server/workflow/store/sqlite_store.go b/server/workflow/store/sqlite_store.go index c06eda14e4c3..2c8aecfbc84e 100644 --- a/server/workflow/store/sqlite_store.go +++ b/server/workflow/store/sqlite_store.go @@ -88,8 +88,8 @@ func NewSQLiteStore(instanceService instanceid.Service) (*SQLiteStore, error) { return &SQLiteStore{conn: conn, instanceService: instanceService}, nil } -func (s *SQLiteStore) ListWorkflows(ctx context.Context, namespace, namePrefix string, listOptions metav1.ListOptions) (*wfv1.WorkflowList, error) { - options, err := sutils.BuildListOptions(listOptions, namespace, namePrefix) +func (s *SQLiteStore) ListWorkflows(ctx context.Context, namespace, nameFilter string, listOptions metav1.ListOptions) (*wfv1.WorkflowList, error) { + options, err := sutils.BuildListOptions(listOptions, namespace, "", nameFilter) if err != nil { return nil, err } @@ -129,8 +129,8 @@ where instanceid = ? }, nil } -func (s *SQLiteStore) CountWorkflows(ctx context.Context, namespace, namePrefix string, listOptions metav1.ListOptions) (int64, error) { - options, err := sutils.BuildListOptions(listOptions, namespace, namePrefix) +func (s *SQLiteStore) CountWorkflows(ctx context.Context, namespace, nameFilter string, listOptions metav1.ListOptions) (int64, error) { + options, err := sutils.BuildListOptions(listOptions, namespace, "", nameFilter) if err != nil { return 0, err } diff --git a/server/workflow/store/sqlite_store_test.go b/server/workflow/store/sqlite_store_test.go index e79477aa4d0b..cc96e4d0b8f9 100644 --- a/server/workflow/store/sqlite_store_test.go +++ b/server/workflow/store/sqlite_store_test.go @@ -133,6 +133,45 @@ func TestStoreOperation(t *testing.T) { require.NoError(t, err) assert.Len(t, wfList.Items, 5) }) + t.Run("TestListWorkflows name", func(t *testing.T) { + wfList, err := store.ListWorkflows(context.Background(), "argo", "Exact", metav1.ListOptions{Limit: 5, FieldSelector: "metadata.name=flow"}) + require.NoError(t, err) + assert.Empty(t, wfList.Items) + + wfList, err = store.ListWorkflows(context.Background(), "argo", "Exact", metav1.ListOptions{Limit: 5, FieldSelector: "metadata.name=workflow-1"}) + require.NoError(t, err) + assert.Len(t, wfList.Items, 1) + + wfList, err = store.ListWorkflows(context.Background(), "argo", "", metav1.ListOptions{Limit: 5, FieldSelector: "metadata.name=workflow-1"}) + require.NoError(t, err) + assert.Len(t, wfList.Items, 1) + }) + t.Run("TestListWorkflows namePrefix", func(t *testing.T) { + wfList, err := store.ListWorkflows(context.Background(), "argo", "Prefix", metav1.ListOptions{Limit: 5, FieldSelector: "metadata.name=flow"}) + require.NoError(t, err) + assert.Empty(t, wfList.Items) + + wfList, err = store.ListWorkflows(context.Background(), "argo", "Prefix", metav1.ListOptions{Limit: 5, FieldSelector: "metadata.name=workflow-"}) + require.NoError(t, err) + assert.Len(t, wfList.Items, 5) + + wfList, err = store.ListWorkflows(context.Background(), "argo", "Prefix", metav1.ListOptions{Limit: 5, FieldSelector: "metadata.name=workflow-1"}) + require.NoError(t, err) + assert.Len(t, wfList.Items, 1) + }) + t.Run("TestListWorkflows namePattern", func(t *testing.T) { + wfList, err := store.ListWorkflows(context.Background(), "argo", "Contains", metav1.ListOptions{Limit: 5, FieldSelector: "metadata.name=non-existing-pattern"}) + require.NoError(t, err) + assert.Empty(t, wfList.Items) + + wfList, err = store.ListWorkflows(context.Background(), "argo", "Contains", metav1.ListOptions{Limit: 5, FieldSelector: "metadata.name=flow"}) + require.NoError(t, err) + assert.Len(t, wfList.Items, 5) + + wfList, err = store.ListWorkflows(context.Background(), "argo", "Contains", metav1.ListOptions{Limit: 5, FieldSelector: "metadata.name=workflow-1"}) + require.NoError(t, err) + assert.Len(t, wfList.Items, 1) + }) t.Run("TestCountWorkflows", func(t *testing.T) { num, err := store.CountWorkflows(context.Background(), "argo", "", metav1.ListOptions{}) require.NoError(t, err) diff --git a/server/workflow/workflow_server.go b/server/workflow/workflow_server.go index 7c0c36182e3b..6f8e08a7386d 100644 --- a/server/workflow/workflow_server.go +++ b/server/workflow/workflow_server.go @@ -173,7 +173,8 @@ func (s *workflowServer) ListWorkflows(ctx context.Context, req *workflowpkg.Wor } s.instanceIDService.With(&listOption) - options, err := sutils.BuildListOptions(listOption, req.Namespace, "") + options, err := sutils.BuildListOptions(listOption, req.Namespace, "", req.NameFilter) + if err != nil { return nil, err } @@ -187,7 +188,7 @@ func (s *workflowServer) ListWorkflows(ctx context.Context, req *workflowpkg.Wor } var wfs wfv1.Workflows - liveWfCount, err := s.wfLister.CountWorkflows(ctx, req.Namespace, "", listOption) + liveWfCount, err := s.wfLister.CountWorkflows(ctx, req.Namespace, req.NameFilter, listOption) if err != nil { return nil, sutils.ToStatusError(err, codes.Internal) } @@ -200,7 +201,7 @@ func (s *workflowServer) ListWorkflows(ctx context.Context, req *workflowpkg.Wor // first fetch live workflows liveWfList := &wfv1.WorkflowList{} if liveWfCount > 0 && (options.Limit == 0 || options.Offset < int(liveWfCount)) { - liveWfList, err = s.wfLister.ListWorkflows(ctx, req.Namespace, "", listOption) + liveWfList, err = s.wfLister.ListWorkflows(ctx, req.Namespace, req.NameFilter, listOption) if err != nil { return nil, sutils.ToStatusError(err, codes.Internal) } diff --git a/server/workflowarchive/archived_workflow_server.go b/server/workflowarchive/archived_workflow_server.go index 2f6c69369dce..980352dd5cfa 100644 --- a/server/workflowarchive/archived_workflow_server.go +++ b/server/workflowarchive/archived_workflow_server.go @@ -40,8 +40,12 @@ func NewWorkflowArchiveServer(wfArchive sqldb.WorkflowArchive, offloadNodeStatus } func (w *archivedWorkflowServer) ListArchivedWorkflows(ctx context.Context, req *workflowarchivepkg.ListArchivedWorkflowsRequest) (*wfv1.WorkflowList, error) { + listOptions := metav1.ListOptions{} + if req.ListOptions != nil { + listOptions = *req.ListOptions + } - options, err := sutils.BuildListOptions(*req.ListOptions, req.Namespace, req.NamePrefix) + options, err := sutils.BuildListOptions(listOptions, req.Namespace, req.NamePrefix, "") if err != nil { return nil, err } diff --git a/test/e2e/argo_server_test.go b/test/e2e/argo_server_test.go index fc7d6e99b298..abbd810a9580 100644 --- a/test/e2e/argo_server_test.go +++ b/test/e2e/argo_server_test.go @@ -88,12 +88,11 @@ func (s *ArgoServerSuite) TestInfo() { func (s *ArgoServerSuite) TestVersion() { s.Run("Version", func() { - s.e().GET("/api/v1/version"). + resp := s.e().GET("/api/v1/version"). Expect(). - Status(200). - JSON(). - Path("$.version"). - NotNull() + Status(200) + resp.JSON().Path("$.version").NotNull() + resp.Header("Grpc-Metadata-Argo-Version").NotEmpty() }) } @@ -338,19 +337,25 @@ func (s *ArgoServerSuite) TestOauth() { func (s *ArgoServerSuite) TestUnauthorized() { token := s.bearerToken - s.T().Run("Bearer", func(t *testing.T) { + s.Run("Bearer", func() { s.bearerToken = "test-token" defer func() { s.bearerToken = token }() s.e().GET("/api/v1/workflows/argo"). Expect(). - Status(401) + Status(401). + // Version header shouldn't be set on 401s for security, since that could be used by attackers to find vulnerable servers + Header("Grpc-Metadata-Argo-Version"). + IsEmpty() }) - s.T().Run("Basic", func(t *testing.T) { + s.Run("Basic", func() { s.username = "garbage" defer func() { s.username = "" }() s.e().GET("/api/v1/workflows/argo"). Expect(). - Status(401) + Status(401). + // Version header shouldn't be set on 401s for security, since that could be used by attackers to find vulnerable servers + Header("Grpc-Metadata-Argo-Version"). + IsEmpty() }) } @@ -1369,6 +1374,17 @@ spec: SubmitWorkflow(). WaitForWorkflow(fixtures.ToBeArchived) + s.Run("ListWithoutListOptions", func() { + s.e().GET("/api/v1/archived-workflows"). + Expect(). + Status(200). + JSON(). + Path("$.items"). + Array(). + Length(). + IsEqual(3) + }) + for _, tt := range []struct { name string selector string diff --git a/test/e2e/artifacts_test.go b/test/e2e/artifacts_test.go index 11ca54bcde01..9ec9116342c4 100644 --- a/test/e2e/artifacts_test.go +++ b/test/e2e/artifacts_test.go @@ -307,11 +307,11 @@ func (s *ArtifactsSuite) TestArtifactGC() { workflowShouldSucceed: true, expectedGCPodsOnWFCompletion: 2, expectedArtifacts: []artifactState{ - artifactState{s3Location{bucketName: "my-bucket-2", specifiedKey: "first-on-completion-1"}, true, false}, - artifactState{s3Location{bucketName: "my-bucket-3", specifiedKey: "first-on-completion-2"}, true, false}, - artifactState{s3Location{bucketName: "my-bucket-3", specifiedKey: "first-no-deletion"}, false, false}, - artifactState{s3Location{bucketName: "my-bucket-3", specifiedKey: "second-on-deletion"}, false, true}, - artifactState{s3Location{bucketName: "my-bucket-2", specifiedKey: "second-on-completion"}, true, false}, + {s3Location{bucketName: "my-bucket-2", specifiedKey: "first-on-completion-1"}, true, false}, + {s3Location{bucketName: "my-bucket-3", specifiedKey: "first-on-completion-2"}, true, false}, + {s3Location{bucketName: "my-bucket-3", specifiedKey: "first-no-deletion"}, false, false}, + {s3Location{bucketName: "my-bucket-3", specifiedKey: "second-on-deletion"}, false, true}, + {s3Location{bucketName: "my-bucket-2", specifiedKey: "second-on-completion"}, true, false}, }, }, // entire Workflow based on a WorkflowTemplate @@ -321,8 +321,8 @@ func (s *ArtifactsSuite) TestArtifactGC() { workflowShouldSucceed: true, expectedGCPodsOnWFCompletion: 1, expectedArtifacts: []artifactState{ - artifactState{s3Location{bucketName: "my-bucket-2", specifiedKey: "on-completion"}, true, false}, - artifactState{s3Location{bucketName: "my-bucket-2", specifiedKey: "on-deletion"}, false, true}, + {s3Location{bucketName: "my-bucket-2", specifiedKey: "on-completion"}, true, false}, + {s3Location{bucketName: "my-bucket-2", specifiedKey: "on-deletion"}, false, true}, }, }, // entire Workflow based on a WorkflowTemplate @@ -332,8 +332,8 @@ func (s *ArtifactsSuite) TestArtifactGC() { workflowShouldSucceed: true, expectedGCPodsOnWFCompletion: 1, expectedArtifacts: []artifactState{ - artifactState{s3Location{bucketName: "my-bucket-2", specifiedKey: "on-completion"}, true, false}, - artifactState{s3Location{bucketName: "my-bucket-2", specifiedKey: "on-deletion"}, false, true}, + {s3Location{bucketName: "my-bucket-2", specifiedKey: "on-completion"}, true, false}, + {s3Location{bucketName: "my-bucket-2", specifiedKey: "on-deletion"}, false, true}, }, }, // Step in Workflow references a WorkflowTemplate's template @@ -343,8 +343,8 @@ func (s *ArtifactsSuite) TestArtifactGC() { workflowShouldSucceed: true, expectedGCPodsOnWFCompletion: 1, expectedArtifacts: []artifactState{ - artifactState{s3Location{bucketName: "my-bucket-2", specifiedKey: "on-completion"}, true, false}, - artifactState{s3Location{bucketName: "my-bucket-2", specifiedKey: "on-deletion"}, false, true}, + {s3Location{bucketName: "my-bucket-2", specifiedKey: "on-completion"}, true, false}, + {s3Location{bucketName: "my-bucket-2", specifiedKey: "on-deletion"}, false, true}, }, }, // Step in Workflow references a WorkflowTemplate's template @@ -354,8 +354,8 @@ func (s *ArtifactsSuite) TestArtifactGC() { workflowShouldSucceed: true, expectedGCPodsOnWFCompletion: 1, expectedArtifacts: []artifactState{ - artifactState{s3Location{bucketName: "my-bucket-2", specifiedKey: "on-completion"}, true, false}, - artifactState{s3Location{bucketName: "my-bucket-2", specifiedKey: "on-deletion"}, false, false}, + {s3Location{bucketName: "my-bucket-2", specifiedKey: "on-completion"}, true, false}, + {s3Location{bucketName: "my-bucket-2", specifiedKey: "on-deletion"}, false, false}, }, }, // entire Workflow based on a WorkflowTemplate which has a Step that references another WorkflowTemplate's template @@ -365,8 +365,8 @@ func (s *ArtifactsSuite) TestArtifactGC() { workflowShouldSucceed: true, expectedGCPodsOnWFCompletion: 1, expectedArtifacts: []artifactState{ - artifactState{s3Location{bucketName: "my-bucket-2", specifiedKey: "on-completion"}, true, false}, - artifactState{s3Location{bucketName: "my-bucket-2", specifiedKey: "on-deletion"}, false, true}, + {s3Location{bucketName: "my-bucket-2", specifiedKey: "on-completion"}, true, false}, + {s3Location{bucketName: "my-bucket-2", specifiedKey: "on-deletion"}, false, true}, }, }, // Step in Workflow references a WorkflowTemplate's template @@ -380,12 +380,24 @@ func (s *ArtifactsSuite) TestArtifactGC() { }, // Workflow fails to write an artifact that's been defined as an Output { - workflowFile: "@testdata/artifactgc/artgc-artifact-not-written.yaml", + workflowFile: "@testdata/artifactgc/artgc-non-optional-artifact-not-written.yaml", hasGC: true, workflowShouldSucceed: false, // artifact not being present causes Workflow to fail expectedGCPodsOnWFCompletion: 0, expectedArtifacts: []artifactState{ - artifactState{s3Location{bucketName: "my-bucket", derivedKey: &artifactDerivedKey{templateName: "artifact-written", artifactName: "present"}}, false, true}, + {s3Location{bucketName: "my-bucket", derivedKey: &artifactDerivedKey{templateName: "artifact-written", artifactName: "present"}}, false, true}, + {s3Location{bucketName: "my-bucket", derivedKey: &artifactDerivedKey{templateName: "some-artifacts-not-written", artifactName: "present"}}, false, true}, + }, + }, + // Workflow doesn't write an artifact that's been defined as an Output, but it's an Optional artifact, so Workflow succeeds + { + workflowFile: "@testdata/artifactgc/artgc-optional-artifact-not-written.yaml", + hasGC: true, + workflowShouldSucceed: true, + expectedGCPodsOnWFCompletion: 0, + expectedArtifacts: []artifactState{ + {s3Location{bucketName: "my-bucket", derivedKey: &artifactDerivedKey{templateName: "artifact-written", artifactName: "present"}}, false, true}, + {s3Location{bucketName: "my-bucket", derivedKey: &artifactDerivedKey{templateName: "some-artifacts-not-written", artifactName: "present"}}, false, true}, }, }, // Workflow defined output artifact but execution failed, no artifacts to be gced diff --git a/test/e2e/cli_test.go b/test/e2e/cli_test.go index c981c9caf8c9..067a85af4d14 100644 --- a/test/e2e/cli_test.go +++ b/test/e2e/cli_test.go @@ -1340,7 +1340,7 @@ func (s *CLISuite) TestCronCommands() { assert.Contains(t, output, "Name:") assert.Contains(t, output, "Namespace:") assert.Contains(t, output, "Created:") - assert.Contains(t, output, "Schedule:") + assert.Contains(t, output, "Schedules:") assert.Contains(t, output, "Suspended:") assert.Contains(t, output, "StartingDeadlineSeconds:") assert.Contains(t, output, "ConcurrencyPolicy:") @@ -1356,14 +1356,14 @@ func (s *CLISuite) TestCronCommands() { s.Run("Create Schedule Override", func() { s.Given().RunCli([]string{"cron", "create", "cron/basic.yaml", "--schedule", "1 2 3 * *", "-l", "workflows.argoproj.io/test=true"}, func(t *testing.T, output string, err error) { require.NoError(t, err) - assert.Contains(t, output, "Schedule: 1 2 3 * *") + assert.Contains(t, output, "Schedules: 1 2 3 * *") }) }) s.Run("Update", func() { s.Given(). RunCli([]string{"cron", "update", "cron/basic-update.yaml"}, func(t *testing.T, output string, err error) { require.NoError(t, err) - assert.Contains(t, output, "Schedule: 5 5 5 * *") + assert.Contains(t, output, "Schedules: 5 5 5 * *") }) }) s.Run("Get", func() { @@ -1381,7 +1381,7 @@ func (s *CLISuite) TestCronCommands() { s.Given(). RunCli([]string{"cron", "update", "cron/basic-update-template.yaml"}, func(t *testing.T, output string, err error) { require.NoError(t, err) - assert.Contains(t, output, "Schedule: 5 5 5 * *") + assert.Contains(t, output, "Schedules: 5 5 5 * *") }) }) s.Run("Get", func() { @@ -1420,7 +1420,7 @@ func (s *CLISuite) TestCronCommands() { assert.Contains(t, output, "NAME") assert.Contains(t, output, "AGE") assert.Contains(t, output, "LAST RUN") - assert.Contains(t, output, "SCHEDULE") + assert.Contains(t, output, "SCHEDULES") assert.Contains(t, output, "SUSPENDED") }) }) @@ -1440,7 +1440,7 @@ func (s *CLISuite) TestCronCommands() { assert.Contains(t, output, "NAME") assert.Contains(t, output, "AGE") assert.Contains(t, output, "LAST RUN") - assert.Contains(t, output, "SCHEDULE") + assert.Contains(t, output, "SCHEDULES") assert.Contains(t, output, "SUSPENDED") assert.Contains(t, output, "test-cwf-with-labels") assert.NotContains(t, output, "cron-wf-without-labels") @@ -1462,13 +1462,13 @@ func (s *CLISuite) TestCronCommands() { s.Run("Get", func() { s.Given().RunCli([]string{"cron", "get", "not-found"}, func(t *testing.T, output string, err error) { require.EqualError(t, err, "exit status 1") - assert.Contains(t, output, `\"not-found\" not found`) + assert.Contains(t, output, `"not-found" not found`) }).RunCli([]string{"cron", "get", "test-cron-wf-basic"}, func(t *testing.T, output string, err error) { require.NoError(t, err) assert.Contains(t, output, "Name:") assert.Contains(t, output, "Namespace:") assert.Contains(t, output, "Created:") - assert.Contains(t, output, "Schedule:") + assert.Contains(t, output, "Schedules:") assert.Contains(t, output, "Suspended:") assert.Contains(t, output, "StartingDeadlineSeconds:") assert.Contains(t, output, "ConcurrencyPolicy:") @@ -1477,7 +1477,7 @@ func (s *CLISuite) TestCronCommands() { s.Run("Create Multiple Schedules", func() { s.Given().RunCli([]string{"cron", "create", "cron/multiple-schedules.yaml"}, func(t *testing.T, output string, err error) { require.NoError(t, err) - assert.Contains(t, output, "Schedule: * * * * *,*/2 * * * *") + assert.Contains(t, output, "Schedules: * * * * *,*/2 * * * *") }) }) } diff --git a/test/e2e/cron_test.go b/test/e2e/cron_test.go index 9eb439a154b8..3e51d6ef618b 100644 --- a/test/e2e/cron_test.go +++ b/test/e2e/cron_test.go @@ -43,7 +43,6 @@ func (s *CronSuite) TearDownSuite() { func (s *CronSuite) TestBasic() { s.Run("TestBasic", func() { - s.T().Parallel() s.Given(). CronWorkflow(`apiVersion: argoproj.io/v1alpha1 kind: CronWorkflow @@ -71,12 +70,11 @@ spec: Wait(1 * time.Minute). Then(). ExpectCron(func(t *testing.T, cronWf *wfv1.CronWorkflow) { - assert.Equal(t, cronWf.Spec.GetScheduleString(), cronWf.GetLatestSchedule()) + assert.Equal(t, cronWf.Spec.GetScheduleWithTimezoneString(), cronWf.GetLatestSchedule()) assert.True(t, cronWf.Status.LastScheduledTime.Time.After(time.Now().Add(-1*time.Minute))) }) }) s.Run("TestBasicTimezone", func() { - s.T().Parallel() // This test works by scheduling a CronWorkflow for the next minute, but using the local time of another timezone // then seeing if the Workflow was ran within the next minute. Since this test would be trivial if the selected // timezone was the same as the local timezone, a little-used timezone is used. @@ -110,12 +108,11 @@ spec: Wait(1 * time.Minute). Then(). ExpectCron(func(t *testing.T, cronWf *wfv1.CronWorkflow) { - assert.Equal(t, cronWf.Spec.GetScheduleString(), cronWf.GetLatestSchedule()) + assert.Equal(t, cronWf.Spec.GetScheduleWithTimezoneString(), cronWf.GetLatestSchedule()) assert.True(t, cronWf.Status.LastScheduledTime.Time.After(time.Now().Add(-1*time.Minute))) }) }) s.Run("TestSuspend", func() { - s.T().Parallel() s.Given(). CronWorkflow(`apiVersion: argoproj.io/v1alpha1 kind: CronWorkflow @@ -147,7 +144,6 @@ spec: }) }) s.Run("TestResume", func() { - s.T().Parallel() s.Given(). CronWorkflow(`apiVersion: argoproj.io/v1alpha1 kind: CronWorkflow @@ -179,7 +175,6 @@ spec: }) }) s.Run("TestBasicForbid", func() { - s.T().Parallel() s.Given(). CronWorkflow(`apiVersion: argoproj.io/v1alpha1 kind: CronWorkflow @@ -213,7 +208,6 @@ spec: }) }) s.Run("TestBasicAllow", func() { - s.T().Parallel() s.Given(). CronWorkflow(`apiVersion: argoproj.io/v1alpha1 kind: CronWorkflow @@ -248,7 +242,6 @@ spec: }) }) s.Run("TestBasicReplace", func() { - s.T().Parallel() s.Given(). CronWorkflow(`apiVersion: argoproj.io/v1alpha1 kind: CronWorkflow @@ -283,7 +276,6 @@ spec: }) }) s.Run("TestSuccessfulJobHistoryLimit", func() { - s.T().Parallel() var listOptions v1.ListOptions wfInformerListOptionsFunc(&listOptions, "test-cron-wf-succeed-1") s.Given(). @@ -318,7 +310,6 @@ spec: }) }) s.Run("TestFailedJobHistoryLimit", func() { - s.T().Parallel() var listOptions v1.ListOptions wfInformerListOptionsFunc(&listOptions, "test-cron-wf-fail-1") s.Given(). @@ -354,7 +345,6 @@ spec: }) }) s.Run("TestStoppingConditionWithSucceeded", func() { - s.T().Parallel() s.Given(). CronWorkflow(`apiVersion: argoproj.io/v1alpha1 kind: CronWorkflow @@ -367,7 +357,7 @@ spec: successfulJobsHistoryLimit: 4 failedJobsHistoryLimit: 2 stopStrategy: - condition: "succeeded >= 1" + expression: "cronworkflow.succeeded >= 1" workflowSpec: metadata: labels: @@ -392,7 +382,6 @@ spec: }) }) s.Run("TestStoppingConditionWithFailed", func() { - s.T().Parallel() s.Given(). CronWorkflow(`apiVersion: argoproj.io/v1alpha1 kind: CronWorkflow @@ -402,7 +391,7 @@ spec: schedule: "* * * * *" concurrencyPolicy: "Allow" stopStrategy: - condition: "failed >= 1" + expression: "cronworkflow.failed >= 1" workflowSpec: metadata: labels: @@ -427,7 +416,6 @@ spec: }) }) s.Run("TestMultipleWithTimezone", func() { - s.T().Parallel() s.Given(). CronWorkflow(`apiVersion: argoproj.io/v1alpha1 kind: CronWorkflow @@ -458,7 +446,7 @@ spec: Wait(1 * time.Minute). Then(). ExpectCron(func(t *testing.T, cronWf *wfv1.CronWorkflow) { - assert.Equal(t, cronWf.Spec.GetScheduleString(), cronWf.GetLatestSchedule()) + assert.Equal(t, cronWf.Spec.GetScheduleWithTimezoneString(), cronWf.GetLatestSchedule()) assert.True(t, cronWf.Status.LastScheduledTime.Time.After(time.Now().Add(-1*time.Minute))) }) }) diff --git a/test/e2e/executor_plugins_test.go b/test/e2e/executor_plugins_test.go index ea662022c42d..2ac7c052b2c2 100644 --- a/test/e2e/executor_plugins_test.go +++ b/test/e2e/executor_plugins_test.go @@ -11,7 +11,7 @@ import ( apiv1 "k8s.io/api/core/v1" v1 "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/utils/pointer" + "k8s.io/utils/ptr" wfv1 "github.com/argoproj/argo-workflows/v3/pkg/apis/workflow/v1alpha1" "github.com/argoproj/argo-workflows/v3/test/e2e/fixtures" @@ -38,10 +38,10 @@ func (s *ExecutorPluginsSuite) TestTemplateExecutor() { require.Len(t, pods, 1) pod := pods[0] spec := pod.Spec - assert.Equal(t, pointer.Bool(false), spec.AutomountServiceAccountToken) + assert.Equal(t, ptr.To(false), spec.AutomountServiceAccountToken) assert.Equal(t, &apiv1.PodSecurityContext{ - RunAsUser: pointer.Int64(8737), - RunAsNonRoot: pointer.Bool(true), + RunAsUser: ptr.To(int64(8737)), + RunAsNonRoot: ptr.To(true), SeccompProfile: &v1.SeccompProfile{Type: "RuntimeDefault"}, }, spec.SecurityContext) require.Len(t, spec.Volumes, 4) @@ -66,11 +66,11 @@ func (s *ExecutorPluginsSuite) TestTemplateExecutor() { assert.Contains(t, agent.VolumeMounts[1].Name, "kube-api-access-") assert.Equal(t, "argo-workflows-agent-ca-certificates", agent.VolumeMounts[2].Name) assert.Equal(t, &apiv1.SecurityContext{ - RunAsUser: pointer.Int64(8737), - RunAsNonRoot: pointer.Bool(true), - AllowPrivilegeEscalation: pointer.Bool(false), - ReadOnlyRootFilesystem: pointer.Bool(true), - Privileged: pointer.Bool(false), + RunAsUser: ptr.To(int64(8737)), + RunAsNonRoot: ptr.To(true), + AllowPrivilegeEscalation: ptr.To(false), + ReadOnlyRootFilesystem: ptr.To(true), + Privileged: ptr.To(false), Capabilities: &apiv1.Capabilities{Drop: []apiv1.Capability{"ALL"}}, SeccompProfile: &v1.SeccompProfile{Type: "RuntimeDefault"}, }, agent.SecurityContext) diff --git a/test/e2e/fixtures/e2e_suite.go b/test/e2e/fixtures/e2e_suite.go index 350398faf74d..9f4dab8b149a 100644 --- a/test/e2e/fixtures/e2e_suite.go +++ b/test/e2e/fixtures/e2e_suite.go @@ -26,7 +26,7 @@ import ( // load authentication plugin for obtaining credentials from cloud providers. _ "k8s.io/client-go/plugin/pkg/client/auth" "k8s.io/client-go/rest" - "k8s.io/utils/pointer" + "k8s.io/utils/ptr" "github.com/argoproj/argo-workflows/v3/config" "github.com/argoproj/argo-workflows/v3/pkg/apis/workflow" @@ -163,7 +163,7 @@ func (s *E2ESuite) DeleteResources() { s.CheckError(err) } } - s.CheckError(s.dynamicFor(r).DeleteCollection(ctx, metav1.DeleteOptions{GracePeriodSeconds: pointer.Int64(2)}, metav1.ListOptions{LabelSelector: l(r)})) + s.CheckError(s.dynamicFor(r).DeleteCollection(ctx, metav1.DeleteOptions{GracePeriodSeconds: ptr.To(int64(2))}, metav1.ListOptions{LabelSelector: l(r)})) ls, err := s.dynamicFor(r).List(ctx, metav1.ListOptions{LabelSelector: l(r)}) s.CheckError(err) if len(ls.Items) == 0 { @@ -175,7 +175,7 @@ func (s *E2ESuite) DeleteResources() { // delete archived workflows from the archive if s.Persistence.IsEnabled() { - archive := s.Persistence.workflowArchive + archive := s.Persistence.WorkflowArchive parse, err := labels.ParseToRequirements(Label) s.CheckError(err) workflows, err := archive.ListWorkflows(utils.ListOptions{ diff --git a/test/e2e/fixtures/persistence.go b/test/e2e/fixtures/persistence.go index 6d0309bec097..123e23d340cd 100644 --- a/test/e2e/fixtures/persistence.go +++ b/test/e2e/fixtures/persistence.go @@ -10,9 +10,9 @@ import ( ) type Persistence struct { + WorkflowArchive sqldb.WorkflowArchive session db.Session offloadNodeStatusRepo sqldb.OffloadNodeStatusRepo - workflowArchive sqldb.WorkflowArchive } func newPersistence(kubeClient kubernetes.Interface, wcConfig *config.Config) *Persistence { @@ -38,9 +38,9 @@ func newPersistence(kubeClient kubernetes.Interface, wcConfig *config.Config) *P } instanceIDService := instanceid.NewService(wcConfig.InstanceID) workflowArchive := sqldb.NewWorkflowArchive(session, persistence.GetClusterName(), Namespace, instanceIDService) - return &Persistence{session, offloadNodeStatusRepo, workflowArchive} + return &Persistence{workflowArchive, session, offloadNodeStatusRepo} } else { - return &Persistence{offloadNodeStatusRepo: sqldb.ExplosiveOffloadNodeStatusRepo, workflowArchive: sqldb.NullWorkflowArchive} + return &Persistence{offloadNodeStatusRepo: sqldb.ExplosiveOffloadNodeStatusRepo, WorkflowArchive: sqldb.NullWorkflowArchive} } } diff --git a/test/e2e/fixtures/when.go b/test/e2e/fixtures/when.go index c66183b19c96..e33208b380ff 100644 --- a/test/e2e/fixtures/when.go +++ b/test/e2e/fixtures/when.go @@ -15,7 +15,7 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/types" "k8s.io/client-go/kubernetes" - "k8s.io/utils/pointer" + "k8s.io/utils/ptr" wfv1 "github.com/argoproj/argo-workflows/v3/pkg/apis/workflow/v1alpha1" "github.com/argoproj/argo-workflows/v3/pkg/client/clientset/versioned/typed/workflow/v1alpha1" @@ -425,7 +425,7 @@ func (w *When) WaitForPod(condition PodCondition) *When { timeout := defaultTimeout watch, err := w.kubeClient.CoreV1().Pods(Namespace).Watch( ctx, - metav1.ListOptions{LabelSelector: common.LabelKeyWorkflow + "=" + w.wf.Name, TimeoutSeconds: pointer.Int64(int64(timeout.Seconds()))}, + metav1.ListOptions{LabelSelector: common.LabelKeyWorkflow + "=" + w.wf.Name, TimeoutSeconds: ptr.To(int64(timeout.Seconds()))}, ) if err != nil { w.t.Fatal(err) diff --git a/test/e2e/functional/synchronization-legacy-mutex-semaphore.yaml b/test/e2e/functional/synchronization-legacy-mutex-semaphore.yaml new file mode 100644 index 000000000000..e74226cf818a --- /dev/null +++ b/test/e2e/functional/synchronization-legacy-mutex-semaphore.yaml @@ -0,0 +1,31 @@ +apiVersion: argoproj.io/v1alpha1 +kind: Workflow +metadata: + generateName: synchronization-legacy- +spec: + entrypoint: main + templates: + - name: main + steps: + - - name: task-1 + template: django-command + - name: task-2 + template: load-command + + - name: load-command + synchronization: + mutex: + name: task-1 + container: + image: argoproj/argosay:v2 + args: ["sleep", "2s"] + + - name: django-command + synchronization: + semaphore: + configMapKeyRef: + name: my-config + key: workflow + container: + image: argoproj/argosay:v2 + args: ["sleep", "2s"] diff --git a/test/e2e/functional/synchronization-multiple.yaml b/test/e2e/functional/synchronization-multiple.yaml new file mode 100644 index 000000000000..5293a2a5bb2d --- /dev/null +++ b/test/e2e/functional/synchronization-multiple.yaml @@ -0,0 +1,39 @@ +apiVersion: argoproj.io/v1alpha1 +kind: Workflow +metadata: + generateName: synchronization-multiple- +spec: + entrypoint: main + templates: + - name: main + steps: + - - name: task-1 + template: django-command + - name: task-2 + template: load-command + + - name: load-command + synchronization: + mutexes: + - name: load-1 + - name: load-2 + semaphores: + - configMapKeyRef: + name: my-config + key: workflow + container: + image: argoproj/argosay:v2 + args: ["sleep", "2s"] + + - name: django-command + synchronization: + mutexes: + - name: django-1 + - name: django-2 + semaphores: + - configMapKeyRef: + name: my-config + key: workflow + container: + image: argoproj/argosay:v2 + args: ["sleep", "2s"] diff --git a/test/e2e/functional/synchronization-mutex-tmpl-level.yaml b/test/e2e/functional/synchronization-mutex-tmpl-level.yaml index dd6e011941e1..b59836cc0bb2 100644 --- a/test/e2e/functional/synchronization-mutex-tmpl-level.yaml +++ b/test/e2e/functional/synchronization-mutex-tmpl-level.yaml @@ -25,16 +25,16 @@ spec: - name: acquire-lock synchronization: - mutex: - name: welcome + mutexes: + - name: welcome container: image: argoproj/argosay:v2 args: ["sleep", "2s"] - name: acquire-lock-1 synchronization: - mutex: - name: test + mutexes: + - name: test container: image: argoproj/argosay:v2 args: ["sleep", "2s"] \ No newline at end of file diff --git a/test/e2e/functional/synchronization-mutex-wf-level-1.yaml b/test/e2e/functional/synchronization-mutex-wf-level-1.yaml index e55b50f99ab8..84618ec9686a 100644 --- a/test/e2e/functional/synchronization-mutex-wf-level-1.yaml +++ b/test/e2e/functional/synchronization-mutex-wf-level-1.yaml @@ -5,8 +5,8 @@ metadata: spec: entrypoint: main synchronization: - mutex: - name: test + mutexes: + - name: test templates: - name: main container: diff --git a/test/e2e/functional/synchronization-mutex-wf-level.yaml b/test/e2e/functional/synchronization-mutex-wf-level.yaml index 94a0deeaac90..b52dc7771d9c 100644 --- a/test/e2e/functional/synchronization-mutex-wf-level.yaml +++ b/test/e2e/functional/synchronization-mutex-wf-level.yaml @@ -5,8 +5,8 @@ metadata: spec: entrypoint: main synchronization: - mutex: - name: test + mutexes: + - name: test templates: - name: main container: diff --git a/test/e2e/functional/synchronization-tmpl-level-mutex-semaphore.yaml b/test/e2e/functional/synchronization-tmpl-level-mutex-semaphore.yaml index 824a6501bcb3..e4831352b82b 100644 --- a/test/e2e/functional/synchronization-tmpl-level-mutex-semaphore.yaml +++ b/test/e2e/functional/synchronization-tmpl-level-mutex-semaphore.yaml @@ -11,22 +11,24 @@ spec: template: django-command - name: task-2 template: load-command - + - name: load-command synchronization: - mutex: - name: task-1 + mutexes: + - name: task-1 container: image: argoproj/argosay:v2 args: ["sleep", "2s"] - + - name: django-command synchronization: - semaphore: - configMapKeyRef: - name: my-config - key: workflow + mutexes: + - name: task-1 + - name: task-2 + semaphores: + - configMapKeyRef: + name: my-config + key: workflow container: image: argoproj/argosay:v2 args: ["sleep", "2s"] - diff --git a/test/e2e/hooks_test.go b/test/e2e/hooks_test.go index a6442ab8b75e..d10e06cb5491 100644 --- a/test/e2e/hooks_test.go +++ b/test/e2e/hooks_test.go @@ -536,8 +536,8 @@ spec: template: sleep - name: sleep synchronization: - mutex: - name: job + mutexes: + - name: job script: image: alpine:latest command: [/bin/sh] @@ -851,7 +851,7 @@ spec: template: http - name: http http: - url: http://dummy.restapiexample.com/api/v1/employees + url: http://httpbin:9100/get `).When(). SubmitWorkflow(). WaitForWorkflow(fixtures.ToBeCompleted). diff --git a/test/e2e/manifests/kubelet-configuration.yaml b/test/e2e/manifests/kubelet-configuration.yaml new file mode 100644 index 000000000000..1c9b1902deee --- /dev/null +++ b/test/e2e/manifests/kubelet-configuration.yaml @@ -0,0 +1,11 @@ +# The E2E CI workflow passes this file to k3s using "--kubelet-arg=config=". +# Docs: https://docs.k3s.io/cli/agent?_highlight=kubelet&_highlight=arg#customized-flags + +# API reference: https://kubernetes.io/docs/reference/config-api/kubelet-config.v1beta1/ +apiVersion: kubelet.config.k8s.io/v1beta1 +kind: KubeletConfiguration +# Prevent images from being GC'd during a test run (which will lead to ErrImageNeverPull errors) by +# raising the minimum age to 1 hour and the disk usage threshold to 100%. +# We probably don't need to specify both, but it doesn't hurt. +imageMinimumGCAge: 1h +imageGCHighThresholdPercent: 100 \ No newline at end of file diff --git a/test/e2e/manifests/minimal/kustomization.yaml b/test/e2e/manifests/minimal/kustomization.yaml index 46ffc3d94741..70e6d3618a2e 100644 --- a/test/e2e/manifests/minimal/kustomization.yaml +++ b/test/e2e/manifests/minimal/kustomization.yaml @@ -9,6 +9,7 @@ resources: - ../mixins/argo-workflows-agent-ca-certificates.yaml - ../mixins/argo-server.service-account-token-secret.yaml - ../mixins/argo.service-account-token-secret.yaml +- ../mixins/get-cm-rbac.yaml patches: - path: ../mixins/argo-server-deployment.yaml diff --git a/test/e2e/manifests/mixins/get-cm-rbac.yaml b/test/e2e/manifests/mixins/get-cm-rbac.yaml new file mode 100644 index 000000000000..f22befaa898c --- /dev/null +++ b/test/e2e/manifests/mixins/get-cm-rbac.yaml @@ -0,0 +1,49 @@ +apiVersion: v1 +kind: ServiceAccount +metadata: + name: get-cm +--- +apiVersion: v1 +kind: Secret +metadata: + name: get-cm.service-account-token + annotations: + kubernetes.io/service-account.name: get-cm +type: kubernetes.io/service-account-token +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + name: get-cm +rules: +- apiGroups: + - "" + resources: + - configmaps + verbs: + - get + - list +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRoleBinding +metadata: + name: get-cm-get-cm +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: ClusterRole + name: get-cm +subjects: + - kind: ServiceAccount + name: get-cm +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: RoleBinding +metadata: + name: executor-get-cm +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: Role + name: executor +subjects: +- kind: ServiceAccount + name: get-cm \ No newline at end of file diff --git a/test/e2e/metrics_test.go b/test/e2e/metrics_test.go index 4de7c2d79662..61d8d092d6ac 100644 --- a/test/e2e/metrics_test.go +++ b/test/e2e/metrics_test.go @@ -48,7 +48,7 @@ func (s *MetricsSuite) TestMetricsEndpoint() { Body(). Contains(`HELP argo_workflows_gauge`). Contains(`HELP argo_workflows_k8s_request_total`). - Contains(`argo_workflows_k8s_request_total{kind="leases",status_code="200",verb="Get"}`). + Contains(`argo_workflows_k8s_request_total{kind="leases",status_code="404",verb="Get"}`). Contains(`argo_workflows_k8s_request_total{kind="workflowtemplates",status_code="200",verb="List"}`). Contains(`argo_workflows_k8s_request_total{kind="workflowtemplates",status_code="200",verb="Watch"}`). Contains(`HELP argo_workflows_pods_gauge`). @@ -94,6 +94,74 @@ func (s *MetricsSuite) TestDAGMetrics() { }) } +func (s *MetricsSuite) TestDeprecatedCronSchedule() { + s.Given(). + CronWorkflow(`@testdata/cronworkflow-deprecated-schedule.yaml`). + When(). + CreateCronWorkflow(). + Wait(1 * time.Minute). // This pattern is used in cron_test.go too + Then(). + ExpectCron(func(t *testing.T, cronWf *wfv1.CronWorkflow) { + s.e(s.T()).GET(""). + Expect(). + Status(200). + Body(). + Contains(`deprecated_feature{feature="cronworkflow schedule",namespace="argo"}`) // Count unimportant and unknown + }) +} + +func (s *MetricsSuite) TestDeprecatedMutex() { + s.Given(). + Workflow(`@testdata/synchronization-deprecated-mutex.yaml`). + When(). + SubmitWorkflow(). + WaitForWorkflow(fixtures.ToBeSucceeded). + Then(). + ExpectWorkflow(func(t *testing.T, metadata *metav1.ObjectMeta, status *wfv1.WorkflowStatus) { + assert.Equal(t, wfv1.WorkflowSucceeded, status.Phase) + s.e(s.T()).GET(""). + Expect(). + Status(200). + Body(). + Contains(`deprecated_feature{feature="synchronization mutex",namespace="argo"}`) // Count unimportant and unknown + }) +} + +func (s *MetricsSuite) TestDeprecatedPodPriority() { + s.Given(). + Workflow(`@testdata/workflow-deprecated-podpriority.yaml`). + When(). + SubmitWorkflow(). + WaitForWorkflow(fixtures.ToBeErrored). // Fails as kubernetes we test on do not support this1 + Then(). + ExpectWorkflow(func(t *testing.T, metadata *metav1.ObjectMeta, status *wfv1.WorkflowStatus) { + s.e(s.T()).GET(""). + Expect(). + Status(200). + Body(). + Contains(`deprecated_feature{feature="workflow podpriority",namespace="argo"}`) // Count unimportant and unknown + }) +} + +func (s *MetricsSuite) TestDeprecatedSemaphore() { + s.Given(). + Workflow(`@testdata/synchronization-deprecated-semaphore.yaml`). + When(). + CreateConfigMap("my-config", map[string]string{"workflow": "1"}, map[string]string{}). + SubmitWorkflow(). + WaitForWorkflow(fixtures.ToBeSucceeded). + DeleteConfigMap("my-config"). + Then(). + ExpectWorkflow(func(t *testing.T, metadata *metav1.ObjectMeta, status *wfv1.WorkflowStatus) { + assert.Equal(t, wfv1.WorkflowSucceeded, status.Phase) + s.e(s.T()).GET(""). + Expect(). + Status(200). + Body(). + Contains(`deprecated_feature{feature="synchronization semaphore",namespace="argo"}`) // Count unimportant and unknown + }) +} + func (s *MetricsSuite) TestFailedMetric() { s.Given(). Workflow(`@testdata/template-status-failed-conditional-metric.yaml`). @@ -111,19 +179,37 @@ func (s *MetricsSuite) TestFailedMetric() { }) } -func (s *MetricsSuite) TestCronTriggeredCounter() { +func (s *MetricsSuite) TestCronCountersForbid() { s.Given(). - CronWorkflow(`@testdata/cronworkflow-metrics.yaml`). + CronWorkflow(`@testdata/cronworkflow-metrics-forbid.yaml`). When(). CreateCronWorkflow(). - Wait(1 * time.Minute). // This pattern is used in cron_test.go too + Wait(2 * time.Minute). // This pattern is used in cron_test.go too + Then(). + ExpectCron(func(t *testing.T, cronWf *wfv1.CronWorkflow) { + s.e(s.T()).GET(""). + Expect(). + Status(200). + Body(). + Contains(`cronworkflows_triggered_total{name="test-cron-metric-forbid",namespace="argo"} 1`). // 2nd run was Forbid + Contains(`cronworkflows_concurrencypolicy_triggered{concurrency_policy="Forbid",name="test-cron-metric-forbid",namespace="argo"} 1`) + }) +} + +func (s *MetricsSuite) TestCronCountersReplace() { + s.Given(). + CronWorkflow(`@testdata/cronworkflow-metrics-replace.yaml`). + When(). + CreateCronWorkflow(). + Wait(2 * time.Minute). // This pattern is used in cron_test.go too Then(). ExpectCron(func(t *testing.T, cronWf *wfv1.CronWorkflow) { s.e(s.T()).GET(""). Expect(). Status(200). Body(). - Contains(`cronworkflows_triggered_total{name="test-cron-metric",namespace="argo"} 1`) + Contains(`cronworkflows_triggered_total{name="test-cron-metric-replace",namespace="argo"} 2`). + Contains(`cronworkflows_concurrencypolicy_triggered{concurrency_policy="Replace",name="test-cron-metric-replace",namespace="argo"} 1`) }) } diff --git a/test/e2e/resource_template_test.go b/test/e2e/resource_template_test.go index f2f319920be0..95cb785376e3 100644 --- a/test/e2e/resource_template_test.go +++ b/test/e2e/resource_template_test.go @@ -64,11 +64,9 @@ kind: Workflow metadata: generateName: k8s-resource-tmpl-with-pod- spec: - serviceAccount: argo entrypoint: main templates: - name: main - serviceAccountName: argo resource: action: create setOwnerReference: true @@ -80,7 +78,6 @@ spec: metadata: generateName: k8s-pod-resource- spec: - serviceAccountName: argo containers: - name: argosay-container image: argoproj/argosay:v2 @@ -104,11 +101,9 @@ kind: Workflow metadata: generateName: k8s-resource-tmpl-with-artifact- spec: - serviceAccount: argo entrypoint: main templates: - name: main - serviceAccountName: argo inputs: artifacts: - name: manifest @@ -120,7 +115,6 @@ spec: metadata: generateName: k8s-pod-resource- spec: - serviceAccountName: argo containers: - name: argosay-container image: argoproj/argosay:v2 @@ -163,6 +157,48 @@ func (s *ResourceTemplateSuite) TestResourceTemplateWithOutputs() { }) } +func (s *ResourceTemplateSuite) TestResourceTemplateAutomountServiceAccountTokenDisabled() { + s.Given(). + Workflow(` +apiVersion: argoproj.io/v1alpha1 +kind: Workflow +metadata: + generateName: k8s-resource-tmpl-with-automountservicetoken-disabled- +spec: + serviceAccountName: argo + automountServiceAccountToken: false + executor: + serviceAccountName: argo + entrypoint: main + templates: + - name: main + resource: + action: create + setOwnerReference: true + successCondition: status.phase == Succeeded + failureCondition: status.phase == Failed + manifest: | + apiVersion: argoproj.io/v1alpha1 + kind: Workflow + metadata: + generateName: k8s-wf-resource- + spec: + entrypoint: main + templates: + - name: main + container: + image: argoproj/argosay:v2 + command: ["/argosay"] +`). + When(). + SubmitWorkflow(). + WaitForWorkflow(). + Then(). + ExpectWorkflow(func(t *testing.T, _ *metav1.ObjectMeta, status *wfv1.WorkflowStatus) { + assert.Equal(t, wfv1.WorkflowSucceeded, status.Phase) + }) +} + func (s *ResourceTemplateSuite) TestResourceTemplateFailed() { s.Given(). Workflow("@testdata/resource-templates/failed.yaml"). diff --git a/test/e2e/retry_test.go b/test/e2e/retry_test.go index 0cb2fa0e3a41..f55caf262b89 100644 --- a/test/e2e/retry_test.go +++ b/test/e2e/retry_test.go @@ -226,7 +226,7 @@ spec: if status.Phase == wfv1.WorkflowRunning { nodeStatus := status.Nodes.FindByDisplayName("test-nodeantiaffinity-strategy(0)") nodeStatusRetry := status.Nodes.FindByDisplayName("test-nodeantiaffinity-strategy(1)") - assert.Contains(t, nodeStatusRetry.Message, "1 node(s) didn't match Pod's node affinity/selector") + assert.Contains(t, nodeStatusRetry.Message, "didn't match Pod's node affinity/selector") assert.NotEqual(t, nodeStatus.HostNodeName, nodeStatusRetry.HostNodeName) } }) diff --git a/test/e2e/semaphore_test.go b/test/e2e/semaphore_test.go index 7cdb6834d58d..d1e41cdf3938 100644 --- a/test/e2e/semaphore_test.go +++ b/test/e2e/semaphore_test.go @@ -81,6 +81,25 @@ func (s *SemaphoreSuite) TestSynchronizationTmplLevelMutexAndSemaphore() { WaitForWorkflow(fixtures.ToBeSucceeded, 90*time.Second) } +func (s *SemaphoreSuite) TestSynchronizationMultiple() { + s.Given(). + Workflow("@functional/synchronization-multiple.yaml"). + When(). + CreateConfigMap("my-config", map[string]string{"workflow": "2"}, map[string]string{}). + SubmitWorkflow(). + WaitForWorkflow(fixtures.ToBeSucceeded, 90*time.Second) +} + +// Legacy CRD entries: mutex and semaphore +func (s *SemaphoreSuite) TestSynchronizationLegacyMutexAndSemaphore() { + s.Given(). + Workflow("@functional/synchronization-legacy-mutex-semaphore.yaml"). + When(). + CreateConfigMap("my-config", map[string]string{"workflow": "1"}, map[string]string{}). + SubmitWorkflow(). + WaitForWorkflow(fixtures.ToBeSucceeded, 90*time.Second) +} + func TestSemaphoreSuite(t *testing.T) { suite.Run(t, new(SemaphoreSuite)) } diff --git a/test/e2e/testdata/artifactgc/artgc-artifact-not-written.yaml b/test/e2e/testdata/artifactgc/artgc-non-optional-artifact-not-written.yaml similarity index 70% rename from test/e2e/testdata/artifactgc/artgc-artifact-not-written.yaml rename to test/e2e/testdata/artifactgc/artgc-non-optional-artifact-not-written.yaml index 0b040d39de69..6ea3c34c56cb 100644 --- a/test/e2e/testdata/artifactgc/artgc-artifact-not-written.yaml +++ b/test/e2e/testdata/artifactgc/artgc-non-optional-artifact-not-written.yaml @@ -1,7 +1,7 @@ apiVersion: argoproj.io/v1alpha1 kind: Workflow metadata: - generateName: artgc-artifact-not-written- + generateName: artgc-non-optional-artifact-not-written- spec: entrypoint: entrypoint artifactGC: @@ -13,8 +13,8 @@ spec: steps: - - name: artifact-written template: artifact-written - - - name: artifact-not-written - template: artifact-not-written + - - name: some-artifacts-not-written + template: some-artifacts-not-written - name: artifact-written container: image: argoproj/argosay:v2 @@ -28,7 +28,7 @@ spec: artifacts: - name: present path: /tmp/present - - name: artifact-not-written + - name: some-artifacts-not-written container: image: argoproj/argosay:v2 command: @@ -36,8 +36,10 @@ spec: - -c args: - | - echo "intentionally not writing anything to disk" + echo "something" > /tmp/present outputs: artifacts: - name: notpresent - path: /tmp/notpresent \ No newline at end of file + path: /tmp/notpresent + - name: present + path: /tmp/present \ No newline at end of file diff --git a/test/e2e/testdata/artifactgc/artgc-optional-artifact-not-written.yaml b/test/e2e/testdata/artifactgc/artgc-optional-artifact-not-written.yaml new file mode 100644 index 000000000000..901999fe5ef2 --- /dev/null +++ b/test/e2e/testdata/artifactgc/artgc-optional-artifact-not-written.yaml @@ -0,0 +1,46 @@ +apiVersion: argoproj.io/v1alpha1 +kind: Workflow +metadata: + generateName: artgc-optional-artifact-not-written- +spec: + entrypoint: entrypoint + artifactGC: + strategy: OnWorkflowDeletion + podGC: + strategy: "" + templates: + - name: entrypoint + steps: + - - name: some-artifacts-not-written + template: some-artifacts-not-written + - - name: artifact-written + template: artifact-written + - name: some-artifacts-not-written + container: + image: argoproj/argosay:v2 + command: + - sh + - -c + args: + - | + echo "something" > /tmp/present + outputs: + artifacts: + - name: notpresent + path: /tmp/notpresent + optional: true # artifact is optional - therefore, Workflow can succeed + - name: present + path: /tmp/present + - name: artifact-written + container: + image: argoproj/argosay:v2 + command: + - sh + - -c + args: + - | + echo "something" > /tmp/present + outputs: + artifacts: + - name: present + path: /tmp/present \ No newline at end of file diff --git a/test/e2e/testdata/cronworkflow-deprecated-schedule.yaml b/test/e2e/testdata/cronworkflow-deprecated-schedule.yaml new file mode 100644 index 000000000000..abfda0b51fde --- /dev/null +++ b/test/e2e/testdata/cronworkflow-deprecated-schedule.yaml @@ -0,0 +1,21 @@ +apiVersion: argoproj.io/v1alpha1 +kind: CronWorkflow +metadata: + name: test-cron-deprecated-schedule +spec: + schedules: + - "* * * * *" + concurrencyPolicy: "Forbid" + startingDeadlineSeconds: 0 + workflowSpec: + metadata: + labels: + workflows.argoproj.io/test: "true" + podGC: + strategy: OnPodCompletion + entrypoint: sleep + templates: + - name: sleep + container: + image: alpine:latest + command: [sh, -c, "sleep 120"] diff --git a/test/e2e/testdata/cronworkflow-metrics.yaml b/test/e2e/testdata/cronworkflow-metrics-forbid.yaml similarity index 55% rename from test/e2e/testdata/cronworkflow-metrics.yaml rename to test/e2e/testdata/cronworkflow-metrics-forbid.yaml index e3fdd9c13e9b..0b3a40ad97a9 100644 --- a/test/e2e/testdata/cronworkflow-metrics.yaml +++ b/test/e2e/testdata/cronworkflow-metrics-forbid.yaml @@ -1,10 +1,11 @@ apiVersion: argoproj.io/v1alpha1 kind: CronWorkflow metadata: - name: test-cron-metric + name: test-cron-metric-forbid spec: - schedule: "* * * * *" - concurrencyPolicy: "Allow" + schedules: + - "* * * * *" + concurrencyPolicy: "Forbid" startingDeadlineSeconds: 0 workflowSpec: metadata: @@ -12,8 +13,9 @@ spec: workflows.argoproj.io/test: "true" podGC: strategy: OnPodCompletion - entrypoint: whalesay + entrypoint: sleep templates: - - name: whalesay + - name: sleep container: - image: argoproj/argosay:v2 + image: alpine:latest + command: [sh, -c, "sleep 120"] diff --git a/test/e2e/testdata/cronworkflow-metrics-replace.yaml b/test/e2e/testdata/cronworkflow-metrics-replace.yaml new file mode 100644 index 000000000000..e67b490c8aa2 --- /dev/null +++ b/test/e2e/testdata/cronworkflow-metrics-replace.yaml @@ -0,0 +1,21 @@ +apiVersion: argoproj.io/v1alpha1 +kind: CronWorkflow +metadata: + name: test-cron-metric-replace +spec: + schedules: + - "* * * * *" + concurrencyPolicy: "Replace" + startingDeadlineSeconds: 0 + workflowSpec: + metadata: + labels: + workflows.argoproj.io/test: "true" + podGC: + strategy: OnPodCompletion + entrypoint: sleep + templates: + - name: sleep + container: + image: alpine:latest + command: [sh, -c, "sleep 120"] diff --git a/test/e2e/testdata/cronworkflow_deprecated_schedule.yaml b/test/e2e/testdata/cronworkflow_deprecated_schedule.yaml new file mode 100644 index 000000000000..0b3a40ad97a9 --- /dev/null +++ b/test/e2e/testdata/cronworkflow_deprecated_schedule.yaml @@ -0,0 +1,21 @@ +apiVersion: argoproj.io/v1alpha1 +kind: CronWorkflow +metadata: + name: test-cron-metric-forbid +spec: + schedules: + - "* * * * *" + concurrencyPolicy: "Forbid" + startingDeadlineSeconds: 0 + workflowSpec: + metadata: + labels: + workflows.argoproj.io/test: "true" + podGC: + strategy: OnPodCompletion + entrypoint: sleep + templates: + - name: sleep + container: + image: alpine:latest + command: [sh, -c, "sleep 120"] diff --git a/test/e2e/testdata/pending-workflow.yaml b/test/e2e/testdata/pending-workflow.yaml index 4e3acef61372..e6bf4f7942b0 100644 --- a/test/e2e/testdata/pending-workflow.yaml +++ b/test/e2e/testdata/pending-workflow.yaml @@ -11,4 +11,4 @@ spec: # too much to be scheduled resources: requests: - memory: 1000Gi \ No newline at end of file + memory: 100000Gi diff --git a/test/e2e/testdata/semaphore-tmpl-level.yaml b/test/e2e/testdata/semaphore-tmpl-level.yaml index 049c531a1d1a..d4eee390b26f 100644 --- a/test/e2e/testdata/semaphore-tmpl-level.yaml +++ b/test/e2e/testdata/semaphore-tmpl-level.yaml @@ -22,9 +22,9 @@ spec: parameters: - name: seconds synchronization: - semaphore: - configMapKeyRef: - name: my-config - key: template + semaphores: + - configMapKeyRef: + name: my-config + key: template container: image: argoproj/argosay:v2 diff --git a/test/e2e/testdata/semaphore-wf-level-1.yaml b/test/e2e/testdata/semaphore-wf-level-1.yaml index 16bb45c5069a..9f8c1bd88b80 100644 --- a/test/e2e/testdata/semaphore-wf-level-1.yaml +++ b/test/e2e/testdata/semaphore-wf-level-1.yaml @@ -5,10 +5,10 @@ metadata: spec: entrypoint: whalesay synchronization: - semaphore: - configMapKeyRef: - name: my-config - key: workflow + semaphores: + - configMapKeyRef: + name: my-config + key: workflow templates: - name: whalesay container: diff --git a/test/e2e/testdata/semaphore-wf-level.yaml b/test/e2e/testdata/semaphore-wf-level.yaml index 09d99bfd5d7a..765daae2fe52 100644 --- a/test/e2e/testdata/semaphore-wf-level.yaml +++ b/test/e2e/testdata/semaphore-wf-level.yaml @@ -5,10 +5,10 @@ metadata: spec: entrypoint: whalesay synchronization: - semaphore: - configMapKeyRef: - name: my-config - key: workflow + semaphores: + - configMapKeyRef: + name: my-config + key: workflow templates: - name: whalesay container: diff --git a/test/e2e/testdata/synchronization-deprecated-mutex.yaml b/test/e2e/testdata/synchronization-deprecated-mutex.yaml new file mode 100644 index 000000000000..31dfd1a912a0 --- /dev/null +++ b/test/e2e/testdata/synchronization-deprecated-mutex.yaml @@ -0,0 +1,13 @@ +apiVersion: argoproj.io/v1alpha1 +kind: Workflow +metadata: + generateName: mutex-deprecated- +spec: + entrypoint: whalesay + synchronization: + mutex: + name: test-mutex + templates: + - name: whalesay + container: + image: argoproj/argosay:v2 diff --git a/test/e2e/testdata/synchronization-deprecated-semaphore.yaml b/test/e2e/testdata/synchronization-deprecated-semaphore.yaml new file mode 100644 index 000000000000..5f2b9e8a5d22 --- /dev/null +++ b/test/e2e/testdata/synchronization-deprecated-semaphore.yaml @@ -0,0 +1,15 @@ +apiVersion: argoproj.io/v1alpha1 +kind: Workflow +metadata: + generateName: semaphore-deprecated- +spec: + entrypoint: whalesay + synchronization: + semaphore: + configMapKeyRef: + name: my-config + key: workflow + templates: + - name: whalesay + container: + image: argoproj/argosay:v2 diff --git a/test/e2e/testdata/workflow-deprecated-podpriority.yaml b/test/e2e/testdata/workflow-deprecated-podpriority.yaml new file mode 100644 index 000000000000..17c1e7e43471 --- /dev/null +++ b/test/e2e/testdata/workflow-deprecated-podpriority.yaml @@ -0,0 +1,11 @@ +apiVersion: argoproj.io/v1alpha1 +kind: Workflow +metadata: + generateName: podpriority-deprecated- +spec: + entrypoint: whalesay + podPriority: 9999 + templates: + - name: whalesay + container: + image: argoproj/argosay:v2 diff --git a/test/e2e/workflow_archive_test.go b/test/e2e/workflow_archive_test.go new file mode 100644 index 000000000000..fb38408b10f6 --- /dev/null +++ b/test/e2e/workflow_archive_test.go @@ -0,0 +1,64 @@ +//go:build functional + +package e2e + +import ( + "testing" + + "k8s.io/apimachinery/pkg/labels" + + sutils "github.com/argoproj/argo-workflows/v3/server/utils" + "github.com/argoproj/argo-workflows/v3/test/e2e/fixtures" +) + +func BenchmarkWorkflowArchive(b *testing.B) { + // Workaround for https://github.com/stretchr/testify/issues/811 + suite := fixtures.E2ESuite{} + suite.SetT(&testing.T{}) + suite.SetupSuite() + b.ResetTimer() + + // Uncomment the following line to log queries to stdout + //db.LC().SetLevel(db.LogLevelDebug) + + b.Run("ListWorkflows", func(b *testing.B) { + for range b.N { + wfs, err := suite.Persistence.WorkflowArchive.ListWorkflows(sutils.ListOptions{ + Limit: 100, + }) + if err != nil { + b.Fatal(err) + } + b.Logf("Found %d workflows", wfs.Len()) + } + }) + + b.Run("ListWorkflows with label selector", func(b *testing.B) { + requirements, err := labels.ParseToRequirements("workflows.argoproj.io/phase=Succeeded") + if err != nil { + b.Fatal(err) + } + for range b.N { + wfs, err := suite.Persistence.WorkflowArchive.ListWorkflows(sutils.ListOptions{ + Limit: 100, + LabelRequirements: requirements, + }) + if err != nil { + b.Fatal(err) + } + b.Logf("Found %d workflows", wfs.Len()) + } + }) + + b.Run("CountWorkflows", func(b *testing.B) { + for range b.N { + wfCount, err := suite.Persistence.WorkflowArchive.CountWorkflows(sutils.ListOptions{}) + if err != nil { + b.Fatal(err) + } + b.Logf("Found %d workflows", wfCount) + } + }) + + suite.TearDownSuite() +} diff --git a/test/e2e/workflow_configmap_substitution_test.go b/test/e2e/workflow_configmap_substitution_test.go index cf0dd6e8a0f9..25655bebfbde 100644 --- a/test/e2e/workflow_configmap_substitution_test.go +++ b/test/e2e/workflow_configmap_substitution_test.go @@ -194,7 +194,6 @@ metadata: label: workflows.argoproj.io/test: "true" spec: - serviceAccountName: argo entrypoint: whalesay arguments: parameters: diff --git a/test/e2e/workflow_inputs_orverridable_test.go b/test/e2e/workflow_inputs_orverridable_test.go index 3005bc4e4690..a5a99f9505ab 100644 --- a/test/e2e/workflow_inputs_orverridable_test.go +++ b/test/e2e/workflow_inputs_orverridable_test.go @@ -27,7 +27,6 @@ metadata: label: workflows.argoproj.io/test: "true" spec: - serviceAccountName: argo entrypoint: whalesay arguments: parameters: @@ -73,7 +72,6 @@ metadata: label: workflows.argoproj.io/test: "true" spec: - serviceAccountName: argo entrypoint: whalesay arguments: parameters: @@ -127,7 +125,6 @@ metadata: label: workflows.argoproj.io/test: "true" spec: - serviceAccountName: argo entrypoint: whalesay arguments: parameters: @@ -164,7 +161,6 @@ metadata: label: workflows.argoproj.io/test: "true" spec: - serviceAccountName: argo entrypoint: whalesay arguments: parameters: diff --git a/test/e2e/workflow_test.go b/test/e2e/workflow_test.go index 6d988b02d044..51c194614d5b 100644 --- a/test/e2e/workflow_test.go +++ b/test/e2e/workflow_test.go @@ -22,72 +22,6 @@ type WorkflowSuite struct { fixtures.E2ESuite } -func (s *WorkflowSuite) TestContainerTemplateAutomountServiceAccountTokenDisabled() { - s.Given().Workflow(` -apiVersion: argoproj.io/v1alpha1 -kind: Workflow -metadata: - generateName: get-resources-via-container-template- - namespace: argo -spec: - serviceAccountName: argo - automountServiceAccountToken: false - executor: - serviceAccountName: argo - entrypoint: main - templates: - - name: main - container: - name: main - image: bitnami/kubectl - command: - - sh - args: - - -c - - | - kubectl get cm -`). - When(). - SubmitWorkflow(). - WaitForWorkflow(fixtures.ToBeSucceeded, time.Minute*11). - Then(). - ExpectWorkflow(func(t *testing.T, metadata *metav1.ObjectMeta, status *wfv1.WorkflowStatus) { - assert.Equal(t, wfv1.WorkflowSucceeded, status.Phase) - }) -} - -func (s *WorkflowSuite) TestScriptTemplateAutomountServiceAccountTokenDisabled() { - s.Given().Workflow(` -apiVersion: argoproj.io/v1alpha1 -kind: Workflow -metadata: - generateName: get-resources-via-script-template- - namespace: argo -spec: - serviceAccountName: argo - automountServiceAccountToken: false - executor: - serviceAccountName: argo - entrypoint: main - templates: - - name: main - script: - name: main - image: bitnami/kubectl - command: - - sh - source: - kubectl get cm -`). - When(). - SubmitWorkflow(). - WaitForWorkflow(fixtures.ToBeSucceeded, time.Minute*11). - Then(). - ExpectWorkflow(func(t *testing.T, metadata *metav1.ObjectMeta, status *wfv1.WorkflowStatus) { - assert.Equal(t, wfv1.WorkflowSucceeded, status.Phase) - }) -} - func (s *WorkflowSuite) TestWorkflowFailedWhenAllPodSetFailedFromPending() { (s.Given().Workflow(` apiVersion: argoproj.io/v1alpha1 diff --git a/ui/.prettierrc b/ui/.prettierrc index 4b8c765f94c7..941f9dc59017 100644 --- a/ui/.prettierrc +++ b/ui/.prettierrc @@ -1,9 +1,21 @@ { "arrowParens": "avoid", "bracketSpacing": false, + "importOrder": [ + "", + "", + "", + "^[.]", + "", + ".[s?]css$" +], + "importOrderTypeScriptVersion": "4.9.5", "jsxSingleQuote": true, "jsxBracketSameLine": true, "printWidth": 180, + "plugins": [ + "@ianvs/prettier-plugin-sort-imports" + ], "quoteProps": "consistent", "singleQuote": true, "tabWidth": 4, diff --git a/ui/package.json b/ui/package.json index 2c1037e86ba2..d3682129c7c8 100644 --- a/ui/package.json +++ b/ui/package.json @@ -6,9 +6,9 @@ "src" ], "scripts": { - "build": "rm -Rf dist && NODE_ENV=production webpack --mode production --config ./src/app/webpack.config.js", - "start": "webpack-dev-server --config ./src/app/webpack.config.js", - "lint": "eslint --fix ./src/app && tsc --noEmit", + "build": "rm -Rf dist && NODE_ENV=production webpack --mode production", + "start": "webpack-dev-server", + "lint": "eslint --fix ./src && tsc --noEmit", "test": "jest", "deduplicate": "yarn-deduplicate -s fewer yarn.lock" }, @@ -21,10 +21,10 @@ "chartjs-plugin-annotation": "^0.5.7", "classnames": "^2.5.1", "cron-parser": "^4.9.0", - "cronstrue": "^2.47.0", + "cronstrue": "^2.50.0", "dagre": "^0.8.5", "history": "^4.10.1", - "js-yaml": "^4.1.0", + "linkify-it": "^5.0.0", "moment": "^2.30.1", "monaco-editor": "^0.45.0", "prop-types": "^15.8.1", @@ -37,18 +37,20 @@ "react-router-dom": "^4.2.2", "remark-gfm": "^3.0.0", "superagent": "^8.1.2", - "swagger-ui-react": "^5.17.3" + "swagger-ui-react": "^5.17.12", + "yaml": "^2.5.1" }, "devDependencies": { "@babel/core": "^7.22.11", "@babel/preset-env": "^7.22.10", "@fortawesome/fontawesome-free": "^6.5.1", + "@ianvs/prettier-plugin-sort-imports": "^4.3.1", "@types/chart.js": "^2.9.24", "@types/classnames": "^2.3.1", "@types/dagre": "^0.7.52", "@types/history": "^4.6.2", "@types/jest": "^26.0.15", - "@types/js-yaml": "^4.0.9", + "@types/linkify-it": "^5.0.0", "@types/prop-types": "^15.7.11", "@types/react": "^16.8.5", "@types/react-autocomplete": "^1.8.10", @@ -64,7 +66,7 @@ "@typescript-eslint/parser": "^6.10.0", "babel-jest": "^29.7.0", "copy-webpack-plugin": "^12.0.1", - "esbuild-loader": "^4.0.2", + "esbuild-loader": "^4.2.2", "eslint": "^8.56.0", "eslint-config-prettier": "^9.1.0", "eslint-plugin-prettier": "^5.1.3", diff --git a/ui/src/app/api-docs/api-docs.tsx b/ui/src/api-docs/api-docs.tsx similarity index 100% rename from ui/src/app/api-docs/api-docs.tsx rename to ui/src/api-docs/api-docs.tsx diff --git a/ui/src/app/api-docs/index.ts b/ui/src/api-docs/index.ts similarity index 100% rename from ui/src/app/api-docs/index.ts rename to ui/src/api-docs/index.ts diff --git a/ui/src/app/app-router.tsx b/ui/src/app-router.tsx similarity index 93% rename from ui/src/app/app-router.tsx rename to ui/src/app-router.tsx index 95dcb5273598..3ec9445df5c6 100644 --- a/ui/src/app/app-router.tsx +++ b/ui/src/app-router.tsx @@ -1,14 +1,13 @@ -import * as H from 'history'; import {Layout} from 'argo-ui/src/components/layout/layout'; import {NotificationsManager} from 'argo-ui/src/components/notifications/notification-manager'; import {Notifications, NotificationType} from 'argo-ui/src/components/notifications/notifications'; -import {PopupManager} from 'argo-ui/src/components/popup/popup-manager'; import {Popup, PopupProps} from 'argo-ui/src/components/popup/popup'; - +import {PopupManager} from 'argo-ui/src/components/popup/popup-manager'; +import * as H from 'history'; import * as React from 'react'; import {useEffect, useState} from 'react'; import {Redirect, Route, Router, Switch} from 'react-router'; -import {Version} from '../models'; + import apiDocs from './api-docs'; import clusterWorkflowTemplates from './cluster-workflow-templates'; import cronWorkflows from './cron-workflows'; @@ -23,8 +22,9 @@ import sensors from './sensors'; import {uiUrl} from './shared/base'; import {ChatButton} from './shared/components/chat-button'; import ErrorBoundary from './shared/components/error-boundary'; +import {Version} from './shared/models'; +import * as nsUtils from './shared/namespaces'; import {services} from './shared/services'; -import {Utils} from './shared/utils'; import userinfo from './userinfo'; import {Widgets} from './widgets/widgets'; import workflowEventBindings from './workflow-event-bindings'; @@ -59,21 +59,21 @@ export function AppRouter({popupManager, history, notificationsManager}: {popupM type: NotificationType.Error }); }; - Utils.onNamespaceChange = setNamespace; + nsUtils.setOnNamespaceChange(setNamespace); useEffect(() => { const sub = popupManager.popupProps.subscribe(setPopupProps); return () => sub.unsubscribe(); }, [popupManager]); useEffect(() => { services.info.getUserInfo().then(userInfo => { - Utils.userNamespace = userInfo.serviceAccountNamespace; - setNamespace(Utils.currentNamespace); + nsUtils.setUserNamespace(userInfo.serviceAccountNamespace); + setNamespace(nsUtils.getCurrentNamespace()); }); services.info .getInfo() .then(info => { - Utils.managedNamespace = info.managedNamespace; - setNamespace(Utils.currentNamespace); + nsUtils.setManagedNamespace(info.managedNamespace); + setNamespace(nsUtils.getCurrentNamespace()); setModals(info.modals); setNavBarBackgroundColor(info.navColor); }) @@ -82,7 +82,8 @@ export function AppRouter({popupManager, history, notificationsManager}: {popupM .catch(setError); }, []); - const namespaceSuffix = Utils.managedNamespace ? '' : '/' + (namespace || ''); + const managedNamespace = nsUtils.getManagedNamespace(); + const namespaceSuffix = managedNamespace ? '' : '/' + (namespace || ''); return ( <> {popupProps && } @@ -179,7 +180,7 @@ export function AppRouter({popupManager, history, notificationsManager}: {popupM - {Utils.managedNamespace && } + {managedNamespace && } {namespace && } diff --git a/ui/src/app/app.tsx b/ui/src/app.tsx similarity index 100% rename from ui/src/app/app.tsx rename to ui/src/app.tsx index 120121ea2cbf..4fb3c0329023 100644 --- a/ui/src/app/app.tsx +++ b/ui/src/app.tsx @@ -1,8 +1,8 @@ -import {createBrowserHistory} from 'history'; -import * as React from 'react'; import {NavigationManager} from 'argo-ui/src/components/navigation'; import {NotificationsManager} from 'argo-ui/src/components/notifications/notification-manager'; import {PopupManager} from 'argo-ui/src/components/popup/popup-manager'; +import {createBrowserHistory} from 'history'; +import * as React from 'react'; import 'argo-ui/src/styles/main.scss'; diff --git a/ui/src/app/sensors/utils.ts b/ui/src/app/sensors/utils.ts deleted file mode 100644 index 833a80a207fb..000000000000 --- a/ui/src/app/sensors/utils.ts +++ /dev/null @@ -1,28 +0,0 @@ -import {Condition} from '../../models'; - -export const Utils = { - statusIconClasses(conditions: Condition[], icon: string): string { - let classes = [icon]; - if (!conditions || conditions.length === 0) { - classes = [icon, 'status-icon--init']; - } else { - let isRunning = false; - let hasFailed = false; - conditions.map(condition => { - if (condition.status === 'False') { - hasFailed = true; - } else if (condition.status === 'Unknown') { - isRunning = true; - } - }); - if (hasFailed) { - classes = [icon, 'status-icon--failed']; - } else if (isRunning) { - classes = [icon, 'status-icon--spin']; - } else { - classes = [icon, 'status-icon--running']; - } - } - return classes.join(' '); - } -}; diff --git a/ui/src/app/shared/components/namespace-filter.tsx b/ui/src/app/shared/components/namespace-filter.tsx deleted file mode 100644 index 19e042062ade..000000000000 --- a/ui/src/app/shared/components/namespace-filter.tsx +++ /dev/null @@ -1,6 +0,0 @@ -import * as React from 'react'; -import {Utils} from '../utils'; -import {InputFilter} from './input-filter'; - -export const NamespaceFilter = (props: {value: string; onChange: (namespace: string) => void}) => - Utils.managedNamespace ? <>{Utils.managedNamespace} : props.onChange(ns)} />; diff --git a/ui/src/app/shared/components/object-parser.ts b/ui/src/app/shared/components/object-parser.ts deleted file mode 100644 index 96f2e15d3e91..000000000000 --- a/ui/src/app/shared/components/object-parser.ts +++ /dev/null @@ -1,12 +0,0 @@ -import jsyaml from 'js-yaml'; - -export function parse(value: string): T { - if (value.startsWith('{')) { - return JSON.parse(value); - } - return jsyaml.load(value) as T; -} - -export function stringify(value: T, type: string) { - return type === 'yaml' ? jsyaml.dump(value, {noRefs: true}) : JSON.stringify(value, null, ' '); -} diff --git a/ui/src/app/shared/components/phase-icon.tsx b/ui/src/app/shared/components/phase-icon.tsx deleted file mode 100644 index bda44adf18f0..000000000000 --- a/ui/src/app/shared/components/phase-icon.tsx +++ /dev/null @@ -1,8 +0,0 @@ -import classNames from 'classnames'; - -import * as React from 'react'; -import {Utils} from '../utils'; - -export function PhaseIcon({value}: {value: string}) { - return