KFP 1.0 Rebase (#251)
This commit is contained in:
parent
9e23ec2b58
commit
b28c2cbca6
|
|
@ -48,23 +48,28 @@ steps:
|
|||
waitFor: ['preparePythonComponentSDK']
|
||||
|
||||
# Build the pipeline system images
|
||||
- name: 'debian'
|
||||
entrypoint: '/bin/bash'
|
||||
args: ['-c', 'sed -i -e "s/ARG DATE/ENV DATE \"$(date -u)\"/" /workspace/frontend/Dockerfile']
|
||||
id: 'prepareFrontend'
|
||||
waitFor: ["-"]
|
||||
- name: 'gcr.io/cloud-builders/docker'
|
||||
args: ['build', '-t', 'gcr.io/$PROJECT_ID/frontend:$COMMIT_SHA',
|
||||
'--build-arg', 'COMMIT_HASH=$COMMIT_SHA',
|
||||
'--build-arg', 'TAG_NAME=$TAG_NAME',
|
||||
'-f', '/workspace/frontend/Dockerfile', '/workspace']
|
||||
entrypoint: /bin/bash
|
||||
args:
|
||||
- -ceux
|
||||
- |
|
||||
sed -i -e "s/ARG DATE/ENV DATE \"$(date -u)\"/" /workspace/frontend/Dockerfile
|
||||
docker build -t gcr.io/$PROJECT_ID/frontend:$COMMIT_SHA \
|
||||
--build-arg COMMIT_HASH=$COMMIT_SHA \
|
||||
--build-arg TAG_NAME="$(cat /workspace/VERSION)" \
|
||||
-f /workspace/frontend/Dockerfile \
|
||||
/workspace
|
||||
id: 'buildFrontend'
|
||||
waitFor: ['prepareFrontend']
|
||||
waitFor: ['-']
|
||||
- name: 'gcr.io/cloud-builders/docker'
|
||||
args: ['build', '-t', 'gcr.io/$PROJECT_ID/api-server:$COMMIT_SHA',
|
||||
'--build-arg', 'COMMIT_SHA=$COMMIT_SHA',
|
||||
'--build-arg', 'TAG_NAME=$TAG_NAME',
|
||||
'-f', '/workspace/backend/Dockerfile', '/workspace']
|
||||
entrypoint: /bin/bash
|
||||
args:
|
||||
- -ceux
|
||||
- |
|
||||
docker build -t gcr.io/$PROJECT_ID/api-server:$COMMIT_SHA \
|
||||
--build-arg COMMIT_SHA=$COMMIT_SHA \
|
||||
--build-arg TAG_NAME="$(cat /workspace/VERSION)" \
|
||||
-f /workspace/backend/Dockerfile /workspace
|
||||
id: 'buildApiServer'
|
||||
waitFor: ['copyPythonSDK']
|
||||
|
||||
|
|
@ -228,7 +233,8 @@ steps:
|
|||
- -ceux
|
||||
- |
|
||||
# Parse major minor version and save to a file for reusing in other steps.
|
||||
cat /workspace/VERSION | sed -e "s#[^0-9]*\([0-9]*\)[.]\([0-9]*\)[.]\([0-9]*\)#\1.\2#" > /workspace/mm.ver
|
||||
# e.g. 1.0.0-rc.1 and 1.0.1 are parsed as 1.0
|
||||
cat /workspace/VERSION | sed -e "s#\([0-9]\+[.][0-9]\+\)[.].*#\1#" > /workspace/mm.ver
|
||||
|
||||
# Tag for Hosted - Tag to hosted folder with MKP friendly name
|
||||
- id: 'tagForHosted'
|
||||
|
|
@ -288,3 +294,5 @@ timeout: '3600s'
|
|||
options:
|
||||
diskSizeGb: 300
|
||||
machineType: 'N1_HIGHCPU_8'
|
||||
tags:
|
||||
- build-each-commit
|
||||
|
|
|
|||
|
|
@ -9,3 +9,23 @@ Resolves #
|
|||
* Tekton Version (use `tkn version`):
|
||||
* Kubernetes Version (use `kubectl version`):
|
||||
* OS (e.g. from `/etc/os-release`):
|
||||
|
||||
**Checklist:**
|
||||
- [ ] The title for your pull request (PR) should follow our title convention. [Learn more about the pull request title convention used in this repository](https://github.com/kubeflow/pipelines/blob/master/CONTRIBUTING.md#pull-request-title-convention).
|
||||
|
||||
PR titles examples:
|
||||
* `fix(frontend): fixes empty page. Fixes #1234`
|
||||
Use `fix` to indicate that this PR fixes a bug.
|
||||
* `feat(backend): configurable service account. Fixes #1234, fixes #1235`
|
||||
Use `feat` to indicate that this PR adds a new feature.
|
||||
* `chore: set up changelog generation tools`
|
||||
Use `chore` to indicate that this PR makes some changes that users don't need to know.
|
||||
* `test: fix CI failure. Part of #1234`
|
||||
Use `part of` to indicate that a PR is working on an issue, but shouldn't close the issue when merged.
|
||||
|
||||
- [ ] Do you want this pull request (PR) cherry-picked into the current release branch?
|
||||
|
||||
If yes, use one of the following options:
|
||||
|
||||
* **(Recommended.)** Ask the PR approver to add the `cherrypick-approved` label to this PR. The release manager adds this PR to the release branch in a batch update.
|
||||
* After this PR is merged, create a cherry-pick PR to add these changes to the release branch. (For more information about creating a cherry-pick PR, see the [Kubeflow Pipelines release guide](https://github.com/kubeflow/pipelines/blob/master/RELEASE.md#option--git-cherry-pick).)
|
||||
|
|
|
|||
|
|
@ -94,3 +94,7 @@ _artifacts
|
|||
|
||||
# Generated Python SDK documentation
|
||||
docs/_build
|
||||
|
||||
# sed backups
|
||||
*.bak
|
||||
|
||||
|
|
|
|||
|
|
@ -22,7 +22,40 @@ steps:
|
|||
- -ceux
|
||||
- |
|
||||
# Parse major minor version and save to a file for reusing in other steps.
|
||||
echo $TAG_NAME | sed -e "s#[^0-9]*\([0-9]*\)[.]\([0-9]*\)[.]\([0-9]*\)#\1.\2#" > /workspace/mm.ver
|
||||
# e.g. 1.0.0-rc.1 and 1.0.1 are parsed as 1.0
|
||||
echo $TAG_NAME | sed -e "s#\([0-9]\+[.][0-9]\+\)[.].*#\1#" > /workspace/mm.ver
|
||||
|
||||
# Pull and retag images for pipeline components
|
||||
- id: 'retagComponentImages'
|
||||
name: 'gcr.io/cloud-builders/docker'
|
||||
entrypoint: bash
|
||||
waitFor: ['-']
|
||||
args:
|
||||
- -ceux
|
||||
- |
|
||||
images=(
|
||||
"ml-pipeline-kubeflow-deployer"
|
||||
"ml-pipeline-kubeflow-tf-trainer"
|
||||
"ml-pipeline-kubeflow-tf-trainer-gpu"
|
||||
"ml-pipeline-kubeflow-tfjob"
|
||||
"ml-pipeline-dataproc-analyze"
|
||||
"ml-pipeline-dataproc-create-cluster"
|
||||
"ml-pipeline-dataproc-delete-cluster"
|
||||
"ml-pipeline-dataproc-predict"
|
||||
"ml-pipeline-dataproc-transform"
|
||||
"ml-pipeline-dataproc-train"
|
||||
"ml-pipeline-local-confusion-matrix"
|
||||
"ml-pipeline-local-roc"
|
||||
"ml-pipeline-gcp"
|
||||
)
|
||||
for image in "${images[@]}"
|
||||
do
|
||||
from_image="gcr.io/$PROJECT_ID/$image:$COMMIT_SHA"
|
||||
target_image="gcr.io/ml-pipeline/$image:$TAG_NAME"
|
||||
docker pull $from_image
|
||||
docker tag $from_image $target_image
|
||||
docker push $target_image
|
||||
done
|
||||
|
||||
# Pull and retag the images for the pipeline system
|
||||
- name: 'gcr.io/cloud-builders/docker'
|
||||
|
|
@ -348,6 +381,14 @@ steps:
|
|||
- name: 'gcr.io/cloud-builders/docker'
|
||||
args: ['pull', 'gcr.io/$PROJECT_ID/metadata-envoy:$COMMIT_SHA']
|
||||
id: 'pullMetadataEnvoy'
|
||||
- id: 'tagMetadataEnvoyVersionNumber'
|
||||
name: 'gcr.io/cloud-builders/docker'
|
||||
args: ['tag', 'gcr.io/$PROJECT_ID/metadata-envoy:$COMMIT_SHA', 'gcr.io/ml-pipeline/metadata-envoy:$TAG_NAME']
|
||||
waitFor: ['pullMetadataEnvoy']
|
||||
- id: 'tagMetadataEnvoyCommitSHA'
|
||||
name: 'gcr.io/cloud-builders/docker'
|
||||
args: ['tag', 'gcr.io/$PROJECT_ID/metadata-envoy:$COMMIT_SHA', 'gcr.io/ml-pipeline/metadata-envoy:$COMMIT_SHA']
|
||||
waitFor: ['pullMetadataEnvoy']
|
||||
- name: 'gcr.io/cloud-builders/docker'
|
||||
args: ['tag', 'gcr.io/$PROJECT_ID/metadata-envoy:$COMMIT_SHA', 'gcr.io/ml-pipeline/google/pipelines/metadataenvoy:$TAG_NAME']
|
||||
id: 'tagMetadataEnvoyForMarketplace'
|
||||
|
|
@ -565,6 +606,8 @@ images:
|
|||
- 'gcr.io/ml-pipeline/inverse-proxy-agent:$COMMIT_SHA'
|
||||
- 'gcr.io/ml-pipeline/visualization-server:$TAG_NAME'
|
||||
- 'gcr.io/ml-pipeline/visualization-server:$COMMIT_SHA'
|
||||
- 'gcr.io/ml-pipeline/metadata-envoy:$TAG_NAME'
|
||||
- 'gcr.io/ml-pipeline/metadata-envoy:$COMMIT_SHA'
|
||||
- 'gcr.io/ml-pipeline/metadata-writer:$TAG_NAME'
|
||||
- 'gcr.io/ml-pipeline/metadata-writer:$COMMIT_SHA'
|
||||
- 'gcr.io/ml-pipeline/cache-server:$TAG_NAME'
|
||||
|
|
@ -606,3 +649,5 @@ images:
|
|||
- 'gcr.io/ml-pipeline/google/pipelines-test/deployer:$TAG_NAME'
|
||||
- 'gcr.io/ml-pipeline/google/pipelines-test:$TAG_NAME'
|
||||
timeout: '1200s'
|
||||
tags:
|
||||
- release-on-tag
|
||||
|
|
|
|||
10
.travis.yml
10
.travis.yml
|
|
@ -80,12 +80,15 @@ matrix:
|
|||
# # Visualization test dependencies
|
||||
# - cd $TRAVIS_BUILD_DIR/backend/src/apiserver/visualization
|
||||
# - pip3 install -r requirements-test.txt
|
||||
# # Using Argo to lint all compiled workflows
|
||||
# - export LOCAL_BIN="${HOME}/.local/bin"
|
||||
# - mkdir -p "$LOCAL_BIN"
|
||||
# - export PATH="${PATH}:$LOCAL_BIN" # Unnecessary - Travis already has it in PATH
|
||||
# - wget --quiet -O "${LOCAL_BIN}/argo" https://github.com/argoproj/argo/releases/download/v2.4.3/argo-linux-amd64 && chmod +x "${LOCAL_BIN}/argo"
|
||||
# script: &1 # DSL tests
|
||||
# - cd $TRAVIS_BUILD_DIR/sdk/python
|
||||
# - python3 -m pip install -e .
|
||||
# - cd $TRAVIS_BUILD_DIR # Changing the current directory to the repo root for correct coverall paths
|
||||
# - coverage run --source=kfp --append sdk/python/tests/dsl/main.py
|
||||
# - coverage run --source=kfp --append sdk/python/tests/compiler/main.py
|
||||
# - coverage run --source=kfp --append -m unittest discover --verbose --start-dir sdk/python/tests --top-level-directory=sdk/python
|
||||
# #- coveralls
|
||||
#
|
||||
|
|
@ -101,6 +104,9 @@ matrix:
|
|||
# - git clone https://github.com/tensorflow/tfx.git
|
||||
# - cd $TRAVIS_BUILD_DIR/tfx
|
||||
# - pip3 install --upgrade pip
|
||||
# - pip3 install --upgrade 'numpy>=1.16,<1.17'
|
||||
# # Specify transitive dependency to get around: https://github.com/pypa/pip/issues/8583
|
||||
# - pip3 install --upgrade 'google-auth>=1.18.0'
|
||||
# - set -x
|
||||
# - set -e
|
||||
# - python3 setup.py bdist_wheel
|
||||
|
|
|
|||
|
|
@ -12,6 +12,11 @@ just a few small guidelines you need to follow.
|
|||
- [Development Guidelines](#development-guidelines)
|
||||
- [Coding Style](#coding-style)
|
||||
- [Code Reviews](#code-reviews)
|
||||
- [Pull Requests](#pull-requests)
|
||||
- [Pull Request Title Convention](#pull-request-title-convention)
|
||||
- [PR Title Structure](#pr-title-structure)
|
||||
- [PR Type](#pr-type)
|
||||
- [PR Scope](#pr-scope)
|
||||
- [Get Involved](#get-involved)
|
||||
|
||||
<!-- END of ToC generated by running ./tools/mdtoc.sh sdk/README.md -->
|
||||
|
|
@ -52,7 +57,9 @@ use GitHub pull requests for this purpose. Consult
|
|||
[GitHub Help](https://help.github.com/articles/about-pull-requests/) for more
|
||||
information on using pull requests.
|
||||
|
||||
The following should be viewed as Best Practices unless you know better ones
|
||||
## Pull Requests
|
||||
|
||||
The following should be viewed as _Best Practices_ unless you know better ones
|
||||
(please submit a guidelines PR).
|
||||
|
||||
| Practice | Rationale |
|
||||
|
|
@ -62,6 +69,79 @@ The following should be viewed as Best Practices unless you know better ones
|
|||
| Refine commit messages | Your commit messages should be in the imperative tense and clearly describe your feature upon first glance. See [this article](https://chris.beams.io/posts/git-commit/) for guidelines.
|
||||
| Reference an issue | Issues are a great way to gather design feedback from the community. To save yourself time on a controversial PR, first cut an issue for any major feature work. |
|
||||
|
||||
## Pull Request Title Convention
|
||||
|
||||
We enforce a pull request (PR) title convention to quickly indicate the type and scope of a PR.
|
||||
PR titles become commit messages when PRs are merged. We also parse PR titles to generate the changelog.
|
||||
|
||||
PR titles should:
|
||||
* Provide a user-friendly description of the change.
|
||||
* Follow the [Conventional Commits specification](https://www.conventionalcommits.org/en/v1.0.0/).
|
||||
* Specifies issue(s) fixed, or worked on at the end of the title.
|
||||
|
||||
Examples:
|
||||
* `fix(ui): fixes empty page. Fixes #1234`
|
||||
* `feat(backend): configurable service account. Fixes #1234, fixes #1235`
|
||||
* `chore: refactor some files`
|
||||
* `test: fix CI failure. Part of #1234`
|
||||
|
||||
The following sections describe the details of the PR title convention.
|
||||
|
||||
### PR Title Structure
|
||||
|
||||
PR titles should use the following structure.
|
||||
```
|
||||
<type>[optional scope]: <description>[ Fixes #<issue-number>]
|
||||
```
|
||||
|
||||
Replace the following:
|
||||
|
||||
* **`<type>`**: The PR type describes the reason for the change, such as `fix` to indicate that the PR fixes a bug. More information about PR types is available in the next section.
|
||||
* **`[optional scope]`**: (Optional.) The PR scope describes the part of Kubeflow Pipelines that this PR changes, such as `frontend` to indicate that the change affects the user interface. Choose a scope according to [PR Scope section](#pr-scope).
|
||||
* **`<description>`**: A user friendly description of this change.
|
||||
* **`[ Fixes #<issues-number>]`**: (Optional.) Specifies the issues fixed by this PR.
|
||||
|
||||
### PR Type
|
||||
|
||||
Type can be one of the following:
|
||||
* **feat**: A new feature.
|
||||
* **fix**: A bug fix. However, a PR that fixes test infrastructure is not user facing, so it should use the test type instead.
|
||||
* **docs**: Documentation changes.
|
||||
* **chore**: Anything else that does not need to be user facing.
|
||||
* **test**: Adding or updating tests only. Please note, **feat** and **fix** PRs should have related tests too.
|
||||
* **refactor**: A code change that neither fixes a bug nor adds a feature.
|
||||
* **perf**: A code change that improves performance.
|
||||
|
||||
Note, only feature, fix and perf type PRs will be included in CHANGELOG, because they are user facing.
|
||||
|
||||
If you think the PR contains multiple types, you can choose the major one or
|
||||
split the PR to focused sub-PRs.
|
||||
|
||||
If you are not sure which type your PR is and it does not have user impact,
|
||||
use `chore` as the fallback.
|
||||
|
||||
### PR Scope
|
||||
|
||||
Scope is optional, it can be one of the following:
|
||||
* **frontend**: user interface or frontend server related, folder `frontend`, `frontend/server`
|
||||
* **backend**: Backend, folder `backend`
|
||||
* **sdk**: `kfp` python package, folder `sdk`
|
||||
* **sdk/client**: `kfp-server-api` python package, folder `backend/api/python_http_client`
|
||||
* **components**: Pipeline components, folder `components`
|
||||
* **deployment**: Kustomize or gcp marketplace manifests, folder `manifests`
|
||||
* **metadata**: Related to machine learning metadata (MLMD), folder `backend/metadata_writer`
|
||||
* **cache**: Caching, folder `backend/src/cache`
|
||||
* **swf**: Scheduled workflow, folder `backend/src/crd/controller/scheduledworkflow`
|
||||
* **viewer**: Tensorboard viewer, folder `backend/src/crd/controller/viewer`
|
||||
|
||||
If you think the PR is related to multiple scopes, you can choose the major one or
|
||||
split the PR to focused sub-PRs. Note, splitting large PRs that affect multiple
|
||||
scopes can help make it easier to get your PR reviewed, since different scopes
|
||||
usually have different reviewers.
|
||||
|
||||
If you are not sure, or the PR doesn't fit into above scopes. You can either
|
||||
omit the scope because it's optional, or propose an additional scope here.
|
||||
|
||||
## Get Involved
|
||||
|
||||
* [Slack](http://kubeflow.slack.com/)
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@ RUN go build -o /go/src/github.com/kubeflow/pipelines/bazel-bin/backend/src/apis
|
|||
# Compile
|
||||
FROM python:3.5 as compiler
|
||||
RUN apt-get update -y && \
|
||||
apt-get install --no-install-recommends -y -q default-jdk python3-setuptools python3-dev
|
||||
apt-get install --no-install-recommends -y -q default-jdk python3-setuptools python3-dev jq
|
||||
RUN wget https://bootstrap.pypa.io/get-pip.py && python3 get-pip.py
|
||||
COPY backend/requirements.txt .
|
||||
RUN python3 -m pip install -r requirements.txt
|
||||
|
|
@ -47,23 +47,18 @@ COPY sdk sdk
|
|||
WORKDIR /go/src/github.com/kubeflow/pipelines/sdk/python
|
||||
RUN python3 setup.py install
|
||||
|
||||
WORKDIR /samples
|
||||
COPY ./samples .
|
||||
WORKDIR /
|
||||
COPY ./samples /samples
|
||||
COPY backend/src/apiserver/config/sample_config.json /samples/
|
||||
|
||||
# We need to check that all samples have been compiled without error.
|
||||
# For find program, the -exec argument is a filter predicate just like -name. It
|
||||
# only affects whether the file is "found", not the find's exit code.
|
||||
# One way to solve this problem is to check whether we have any python pipelines
|
||||
# that cannot compile. Here the exit code is the number of such files:
|
||||
# RUN bash -e -c 'exit $(find . -maxdepth 2 -name "*.py" ! -exec dsl-compile --py {} --output {}.tar.gz \; -print | wc -l)'
|
||||
# I think it's better to just use a shell loop though.
|
||||
# RUN for pipeline in $(find . -maxdepth 2 -name '*.py' -type f); do dsl-compile --py "$pipeline" --output "$pipeline.tar.gz"; done
|
||||
# The "for" loop breaks on all whitespace, so we either need to override IFS or
|
||||
# use the "read" command instead.
|
||||
RUN line="import kfp;kfp.components.default_base_image_or_builder='gcr.io/google-appengine/python:2020-03-31-141326";\
|
||||
set -e; find flip-coin -maxdepth 2 -name '*.py' -type f | while read pipeline; do \
|
||||
awk -v text="$line" '!/^#/ && !p {print text; p=1} 1' "$pipeline" && \
|
||||
python3 "$pipeline"; \
|
||||
# Compiling the preloaded samples.
|
||||
# The default image is replaced with the GCR-hosted python image.
|
||||
RUN set -e; \
|
||||
< /samples/sample_config.json jq .[].file --raw-output | while read pipeline_yaml; do \
|
||||
pipeline_py="${pipeline_yaml%.yaml}.py"; \
|
||||
mv "$pipeline_py" "${pipeline_py}.tmp"; \
|
||||
echo 'import kfp; kfp.components.default_base_image_or_builder="gcr.io/google-appengine/python:2020-03-31-141326"' | cat - "${pipeline_py}.tmp" > "$pipeline_py"; \
|
||||
python3 "$pipeline_py"; \
|
||||
done
|
||||
|
||||
FROM golang:1.13.0
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
#!/bin/bash -e
|
||||
#
|
||||
# Copyright 2018 Google LLC
|
||||
# Copyright 2018-2020 Google LLC
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
|
|
@ -27,48 +27,53 @@
|
|||
# brew cask install caskroom/versions/java8
|
||||
# brew install jq
|
||||
|
||||
VERSION="$1"
|
||||
|
||||
DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" > /dev/null && pwd)"
|
||||
REPO_ROOT="$DIR/../.."
|
||||
VERSION="$(cat $REPO_ROOT/VERSION)"
|
||||
if [ -z "$VERSION" ]; then
|
||||
echo "Usage: build_kfp_server_api_python_package.sh <version>"
|
||||
echo "ERROR: $REPO_ROOT/VERSION is empty"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
codegen_file=/tmp/swagger-codegen-cli.jar
|
||||
# Browse all versions in: https://repo1.maven.org/maven2/io/swagger/swagger-codegen-cli/2.4.7/
|
||||
codegen_uri=https://repo1.maven.org/maven2/io/swagger/swagger-codegen-cli/2.4.7/swagger-codegen-cli-2.4.7.jar
|
||||
codegen_file=/tmp/openapi-generator-cli.jar
|
||||
# Browse all versions in: https://repo1.maven.org/maven2/org/openapitools/openapi-generator-cli/
|
||||
codegen_uri="https://repo1.maven.org/maven2/org/openapitools/openapi-generator-cli/4.3.1/openapi-generator-cli-4.3.1.jar"
|
||||
if ! [ -f "$codegen_file" ]; then
|
||||
wget --no-verbose "$codegen_uri" -O "$codegen_file"
|
||||
curl -L "$codegen_uri" -o "$codegen_file"
|
||||
fi
|
||||
|
||||
pushd "$(dirname "$0")"
|
||||
|
||||
DIR=$(mktemp -d)
|
||||
CURRENT_DIR="$(pwd)"
|
||||
DIR="$CURRENT_DIR/python_http_client"
|
||||
swagger_file="$CURRENT_DIR/swagger/kfp_api_single_file.swagger.json"
|
||||
|
||||
swagger_file=$(mktemp)
|
||||
|
||||
echo "Merging all Swagger API definitions to $swagger_file."
|
||||
jq -s '
|
||||
reduce .[] as $item ({}; . * $item) |
|
||||
.info.title = "KF Pipelines API" |
|
||||
.info.description = "Generated python client for the KF Pipelines server API"
|
||||
' ./swagger/{run,job,pipeline,experiment,pipeline.upload}.swagger.json > "$swagger_file"
|
||||
echo "Removing old content in DIR first."
|
||||
rm -rf "$DIR"
|
||||
|
||||
echo "Generating python code from swagger json in $DIR."
|
||||
java -jar "$codegen_file" generate -l python -i "$swagger_file" -o "$DIR" -c <(echo '{
|
||||
java -jar "$codegen_file" generate -g python -t "$CURRENT_DIR/python_http_client_template" -i "$swagger_file" -o "$DIR" -c <(echo '{
|
||||
"packageName": "kfp_server_api",
|
||||
"projectName": "kfp-server-api",
|
||||
"packageVersion": "'"$VERSION"'",
|
||||
"packageUrl": "https://github.com/kubeflow/pipelines"
|
||||
}')
|
||||
|
||||
echo "Copying LICENSE to $DIR"
|
||||
cp "$CURRENT_DIR/../../LICENSE" "$DIR"
|
||||
|
||||
echo "Building the python package in $DIR."
|
||||
pushd "$DIR"
|
||||
python3 setup.py --quiet sdist
|
||||
popd
|
||||
|
||||
echo "Adding license header for generated python files in $DIR."
|
||||
go get -u github.com/google/addlicense
|
||||
addlicense "$DIR"
|
||||
|
||||
echo "Run the following commands to update the package on PyPI"
|
||||
echo "python3 -m pip install twine"
|
||||
echo "python3 -m twine upload --username kubeflow-pipelines $DIR/dist/*"
|
||||
|
||||
echo "Please also push local changes to github.com/kubeflow/pipelines"
|
||||
|
||||
popd
|
||||
|
|
|
|||
|
|
@ -59,7 +59,7 @@ option (grpc.gateway.protoc_gen_swagger.options.openapiv2_swagger) = {
|
|||
};
|
||||
|
||||
service ExperimentService {
|
||||
//Create a new experiment.
|
||||
// Creates a new experiment.
|
||||
rpc CreateExperiment(CreateExperimentRequest) returns (Experiment) {
|
||||
option (google.api.http) = {
|
||||
post: "/apis/v1beta1/experiments"
|
||||
|
|
@ -67,35 +67,38 @@ service ExperimentService {
|
|||
};
|
||||
}
|
||||
|
||||
//Find a specific experiment by ID.
|
||||
// Finds a specific experiment by ID.
|
||||
rpc GetExperiment(GetExperimentRequest) returns (Experiment) {
|
||||
option (google.api.http) = {
|
||||
get: "/apis/v1beta1/experiments/{id}"
|
||||
};
|
||||
}
|
||||
|
||||
//Find all experiments.
|
||||
// Finds all experiments. Supports pagination, and sorting on certain fields.
|
||||
rpc ListExperiment(ListExperimentsRequest) returns (ListExperimentsResponse) {
|
||||
option (google.api.http) = {
|
||||
get: "/apis/v1beta1/experiments"
|
||||
};
|
||||
}
|
||||
|
||||
//Delete an experiment.
|
||||
// Deletes an experiment without deleting the experiment's runs and jobs. To
|
||||
// avoid unexpected behaviors, delete an experiment's runs and jobs before
|
||||
// deleting the experiment.
|
||||
rpc DeleteExperiment(DeleteExperimentRequest) returns (google.protobuf.Empty) {
|
||||
option (google.api.http) = {
|
||||
delete: "/apis/v1beta1/experiments/{id}"
|
||||
};
|
||||
}
|
||||
|
||||
//Archive an experiment.
|
||||
// Archives an experiment and the experiment's runs and jobs.
|
||||
rpc ArchiveExperiment(ArchiveExperimentRequest) returns (google.protobuf.Empty) {
|
||||
option (google.api.http) = {
|
||||
post: "/apis/v1beta1/experiments/{id}:archive"
|
||||
};
|
||||
}
|
||||
|
||||
//Restore an archived experiment.
|
||||
// Restores an archived experiment. The experiment's archived runs and jobs
|
||||
// will stay archived.
|
||||
rpc UnarchiveExperiment(UnarchiveExperimentRequest) returns (google.protobuf.Empty) {
|
||||
option (google.api.http) = {
|
||||
post: "/apis/v1beta1/experiments/{id}:unarchive"
|
||||
|
|
@ -114,10 +117,17 @@ message GetExperimentRequest {
|
|||
}
|
||||
|
||||
message ListExperimentsRequest {
|
||||
// A page token to request the next page of results. The token is acquried
|
||||
// from the nextPageToken field of the response from the previous
|
||||
// ListExperiment call or can be omitted when fetching the first page.
|
||||
string page_token = 1;
|
||||
|
||||
// The number of experiments to be listed per page. If there are more
|
||||
// experiments than this number, the response message will contain a
|
||||
// nextPageToken field you can use to fetch the next page.
|
||||
int32 page_size = 2;
|
||||
|
||||
// Can be format of "field_name", "field_name asc" or "field_name des"
|
||||
// Can be format of "field_name", "field_name asc" or "field_name desc"
|
||||
// Ascending by default.
|
||||
string sort_by = 3;
|
||||
|
||||
|
|
@ -171,13 +181,16 @@ message Experiment {
|
|||
STORAGESTATE_ARCHIVED = 2;
|
||||
}
|
||||
|
||||
// Output. Specifies whether this experiment is in archived or available state.
|
||||
StorageState storage_state = 6;
|
||||
}
|
||||
|
||||
message ArchiveExperimentRequest {
|
||||
// The ID of the experiment to be archived.
|
||||
string id = 1;
|
||||
}
|
||||
|
||||
message UnarchiveExperimentRequest {
|
||||
// The ID of the experiment to be restored.
|
||||
string id = 1;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
#!/bin/bash
|
||||
|
||||
# Copyright 2018 Google LLC
|
||||
# Copyright 2018-2020 Google LLC
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
|
|
@ -21,8 +21,15 @@
|
|||
|
||||
set -ex
|
||||
|
||||
BAZEL_BINDIR=$(bazel info bazel-bin)
|
||||
DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" > /dev/null && pwd)"
|
||||
REPO_ROOT="$DIR/../.."
|
||||
VERSION="$(cat $REPO_ROOT/VERSION)"
|
||||
if [ -z "$VERSION" ]; then
|
||||
echo "ERROR: $REPO_ROOT/VERSION is empty"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
BAZEL_BINDIR=$(bazel info bazel-bin)
|
||||
SWAGGER_CMD=${DIR}/../../bazel-bin/external/com_github_go_swagger/cmd/swagger/*stripped/swagger
|
||||
AUTOGEN_CMD="${DIR}/../../bazel-bin/external/com_github_mbrukman_autogen/autogen_tool"
|
||||
GENERATED_GO_PROTO_FILES="${BAZEL_BINDIR}/backend/api/api_generated_go_sources/src/github.com/kubeflow/pipelines/backend/api/go_client/*.go"
|
||||
|
|
@ -40,7 +47,6 @@ bazel build @com_github_go_swagger//cmd/swagger
|
|||
# Build .pb.go and .gw.pb.go files from the proto sources.
|
||||
bazel build //backend/api:api_generated_go_sources
|
||||
|
||||
set -x
|
||||
# Copy the generated files into the source tree and add license.
|
||||
for f in $GENERATED_GO_PROTO_FILES; do
|
||||
target=${DIR}/go_client/$(basename ${f})
|
||||
|
|
@ -57,7 +63,9 @@ jq -s '
|
|||
reduce .[] as $item ({}; . * $item) |
|
||||
.info.title = "Kubeflow Pipelines API" |
|
||||
.info.description = "This file contains REST API specification for Kubeflow Pipelines. The file is autogenerated from the swagger definition." |
|
||||
.info.version = "0.1.38"
|
||||
.info.version = "'$VERSION'" |
|
||||
.info.contact = { "name": "google", "email": "kubeflow-pipelines@google.com", "url": "https://www.google.com" } |
|
||||
.info.license = { "name": "Apache 2.0", "url": "https://raw.githubusercontent.com/kubeflow/pipelines/master/LICENSE" }
|
||||
' ${DIR}/swagger/{run,job,pipeline,experiment,pipeline.upload}.swagger.json > "${DIR}/swagger/kfp_api_single_file.swagger.json"
|
||||
|
||||
# Generate Go HTTP client from the swagger files.
|
||||
|
|
@ -124,3 +132,5 @@ find ${DIR}/go_http_client/ -name "*.go" -exec ${AUTOGEN_CMD} -i --no-tlc -c "Go
|
|||
|
||||
# Finally, run gazelle to add BUILD files for the generated code.
|
||||
bazel run //:gazelle
|
||||
# HACK: remove unnecessary BUILD.bazels
|
||||
rm -f "$REPO_ROOT/sdk/python/kfp/components/structures/BUILD.bazel" "$REPO_ROOT/tools/metadatastore-upgrade/BUILD.bazel"
|
||||
|
|
|
|||
|
|
@ -75,7 +75,10 @@ for the archive experiment operation typically these are written to a http.Reque
|
|||
*/
|
||||
type ArchiveExperimentParams struct {
|
||||
|
||||
/*ID*/
|
||||
/*ID
|
||||
The ID of the experiment to be archived.
|
||||
|
||||
*/
|
||||
ID string
|
||||
|
||||
timeout time.Duration
|
||||
|
|
|
|||
|
|
@ -39,7 +39,7 @@ type Client struct {
|
|||
}
|
||||
|
||||
/*
|
||||
ArchiveExperiment archives an experiment
|
||||
ArchiveExperiment archives an experiment and the experiment s runs and jobs
|
||||
*/
|
||||
func (a *Client) ArchiveExperiment(params *ArchiveExperimentParams, authInfo runtime.ClientAuthInfoWriter) (*ArchiveExperimentOK, error) {
|
||||
// TODO: Validate the params before sending
|
||||
|
|
@ -97,7 +97,7 @@ func (a *Client) CreateExperiment(params *CreateExperimentParams, authInfo runti
|
|||
}
|
||||
|
||||
/*
|
||||
DeleteExperiment deletes an experiment
|
||||
DeleteExperiment deletes an experiment without deleting the experiment s runs and jobs to avoid unexpected behaviors delete an experiment s runs and jobs before deleting the experiment
|
||||
*/
|
||||
func (a *Client) DeleteExperiment(params *DeleteExperimentParams, authInfo runtime.ClientAuthInfoWriter) (*DeleteExperimentOK, error) {
|
||||
// TODO: Validate the params before sending
|
||||
|
|
@ -155,7 +155,7 @@ func (a *Client) GetExperiment(params *GetExperimentParams, authInfo runtime.Cli
|
|||
}
|
||||
|
||||
/*
|
||||
ListExperiment finds all experiments
|
||||
ListExperiment finds all experiments supports pagination and sorting on certain fields
|
||||
*/
|
||||
func (a *Client) ListExperiment(params *ListExperimentParams, authInfo runtime.ClientAuthInfoWriter) (*ListExperimentOK, error) {
|
||||
// TODO: Validate the params before sending
|
||||
|
|
@ -184,7 +184,7 @@ func (a *Client) ListExperiment(params *ListExperimentParams, authInfo runtime.C
|
|||
}
|
||||
|
||||
/*
|
||||
UnarchiveExperiment restores an archived experiment
|
||||
UnarchiveExperiment restores an archived experiment the experiment s archived runs and jobs will stay archived
|
||||
*/
|
||||
func (a *Client) UnarchiveExperiment(params *UnarchiveExperimentParams, authInfo runtime.ClientAuthInfoWriter) (*UnarchiveExperimentOK, error) {
|
||||
// TODO: Validate the params before sending
|
||||
|
|
|
|||
|
|
@ -95,9 +95,19 @@ type ListExperimentParams struct {
|
|||
|
||||
*/
|
||||
Filter *string
|
||||
/*PageSize*/
|
||||
/*PageSize
|
||||
The number of experiments to be listed per page. If there are more
|
||||
experiments than this number, the response message will contain a
|
||||
nextPageToken field you can use to fetch the next page.
|
||||
|
||||
*/
|
||||
PageSize *int32
|
||||
/*PageToken*/
|
||||
/*PageToken
|
||||
A page token to request the next page of results. The token is acquried
|
||||
from the nextPageToken field of the response from the previous
|
||||
ListExperiment call or can be omitted when fetching the first page.
|
||||
|
||||
*/
|
||||
PageToken *string
|
||||
/*ResourceReferenceKeyID
|
||||
The ID of the resource that referred to.
|
||||
|
|
@ -110,7 +120,7 @@ type ListExperimentParams struct {
|
|||
*/
|
||||
ResourceReferenceKeyType *string
|
||||
/*SortBy
|
||||
Can be format of "field_name", "field_name asc" or "field_name des"
|
||||
Can be format of "field_name", "field_name asc" or "field_name desc"
|
||||
Ascending by default.
|
||||
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -75,7 +75,10 @@ for the unarchive experiment operation typically these are written to a http.Req
|
|||
*/
|
||||
type UnarchiveExperimentParams struct {
|
||||
|
||||
/*ID*/
|
||||
/*ID
|
||||
The ID of the experiment to be restored.
|
||||
|
||||
*/
|
||||
ID string
|
||||
|
||||
timeout time.Duration
|
||||
|
|
|
|||
|
|
@ -50,7 +50,7 @@ type APIExperiment struct {
|
|||
// For Experiment, the only valid resource reference is a single Namespace.
|
||||
ResourceReferences []*APIResourceReference `json:"resource_references"`
|
||||
|
||||
// storage state
|
||||
// Output. Specifies whether this experiment is in archived or available state.
|
||||
StorageState ExperimentStorageState `json:"storage_state,omitempty"`
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -95,9 +95,19 @@ type ListJobsParams struct {
|
|||
|
||||
*/
|
||||
Filter *string
|
||||
/*PageSize*/
|
||||
/*PageSize
|
||||
The number of jobs to be listed per page. If there are more jobs than this
|
||||
number, the response message will contain a nextPageToken field you can use
|
||||
to fetch the next page.
|
||||
|
||||
*/
|
||||
PageSize *int32
|
||||
/*PageToken*/
|
||||
/*PageToken
|
||||
A page token to request the next page of results. The token is acquried
|
||||
from the nextPageToken field of the response from the previous
|
||||
ListJobs call or can be omitted when fetching the first page.
|
||||
|
||||
*/
|
||||
PageToken *string
|
||||
/*ResourceReferenceKeyID
|
||||
The ID of the resource that referred to.
|
||||
|
|
@ -110,7 +120,7 @@ type ListJobsParams struct {
|
|||
*/
|
||||
ResourceReferenceKeyType *string
|
||||
/*SortBy
|
||||
Can be format of "field_name", "field_name asc" or "field_name des".
|
||||
Can be format of "field_name", "field_name asc" or "field_name desc".
|
||||
Ascending by default.
|
||||
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -35,10 +35,10 @@ type APIListJobsResponse struct {
|
|||
// A list of jobs returned.
|
||||
Jobs []*APIJob `json:"jobs"`
|
||||
|
||||
// next page token
|
||||
// The token to list the next page of jobs.
|
||||
NextPageToken string `json:"next_page_token,omitempty"`
|
||||
|
||||
// total size
|
||||
// The total number of jobs for the given query.
|
||||
TotalSize int32 `json:"total_size,omitempty"`
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -75,7 +75,10 @@ for the delete pipeline operation typically these are written to a http.Request
|
|||
*/
|
||||
type DeletePipelineParams struct {
|
||||
|
||||
/*ID*/
|
||||
/*ID
|
||||
The ID of the pipeline to be deleted.
|
||||
|
||||
*/
|
||||
ID string
|
||||
|
||||
timeout time.Duration
|
||||
|
|
|
|||
|
|
@ -75,7 +75,10 @@ for the delete pipeline version operation typically these are written to a http.
|
|||
*/
|
||||
type DeletePipelineVersionParams struct {
|
||||
|
||||
/*VersionID*/
|
||||
/*VersionID
|
||||
The ID of the pipeline version to be deleted.
|
||||
|
||||
*/
|
||||
VersionID string
|
||||
|
||||
timeout time.Duration
|
||||
|
|
|
|||
|
|
@ -75,7 +75,10 @@ for the get pipeline operation typically these are written to a http.Request
|
|||
*/
|
||||
type GetPipelineParams struct {
|
||||
|
||||
/*ID*/
|
||||
/*ID
|
||||
The ID of the pipeline to be retrieved.
|
||||
|
||||
*/
|
||||
ID string
|
||||
|
||||
timeout time.Duration
|
||||
|
|
|
|||
|
|
@ -75,7 +75,10 @@ for the get pipeline version operation typically these are written to a http.Req
|
|||
*/
|
||||
type GetPipelineVersionParams struct {
|
||||
|
||||
/*VersionID*/
|
||||
/*VersionID
|
||||
The ID of the pipeline version to be retrieved.
|
||||
|
||||
*/
|
||||
VersionID string
|
||||
|
||||
timeout time.Duration
|
||||
|
|
|
|||
|
|
@ -75,7 +75,10 @@ for the get pipeline version template operation typically these are written to a
|
|||
*/
|
||||
type GetPipelineVersionTemplateParams struct {
|
||||
|
||||
/*VersionID*/
|
||||
/*VersionID
|
||||
The ID of the pipeline version whose template is to be retrieved.
|
||||
|
||||
*/
|
||||
VersionID string
|
||||
|
||||
timeout time.Duration
|
||||
|
|
|
|||
|
|
@ -75,7 +75,10 @@ for the get template operation typically these are written to a http.Request
|
|||
*/
|
||||
type GetTemplateParams struct {
|
||||
|
||||
/*ID*/
|
||||
/*ID
|
||||
The ID of the pipeline whose template is to be retrieved.
|
||||
|
||||
*/
|
||||
ID string
|
||||
|
||||
timeout time.Duration
|
||||
|
|
|
|||
|
|
@ -94,9 +94,19 @@ type ListPipelineVersionsParams struct {
|
|||
|
||||
*/
|
||||
Filter *string
|
||||
/*PageSize*/
|
||||
/*PageSize
|
||||
The number of pipeline versions to be listed per page. If there are more
|
||||
pipeline versions than this number, the response message will contain a
|
||||
nextPageToken field you can use to fetch the next page.
|
||||
|
||||
*/
|
||||
PageSize *int32
|
||||
/*PageToken*/
|
||||
/*PageToken
|
||||
A page token to request the next page of results. The token is acquried
|
||||
from the nextPageToken field of the response from the previous
|
||||
ListPipelineVersions call or can be omitted when fetching the first page.
|
||||
|
||||
*/
|
||||
PageToken *string
|
||||
/*ResourceKeyID
|
||||
The ID of the resource that referred to.
|
||||
|
|
@ -109,7 +119,7 @@ type ListPipelineVersionsParams struct {
|
|||
*/
|
||||
ResourceKeyType *string
|
||||
/*SortBy
|
||||
Can be format of "field_name", "field_name asc" or "field_name des"
|
||||
Can be format of "field_name", "field_name asc" or "field_name desc"
|
||||
Ascending by default.
|
||||
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -83,12 +83,22 @@ type ListPipelinesParams struct {
|
|||
|
||||
*/
|
||||
Filter *string
|
||||
/*PageSize*/
|
||||
/*PageSize
|
||||
The number of pipelines to be listed per page. If there are more pipelines
|
||||
than this number, the response message will contain a valid value in the
|
||||
nextPageToken field.
|
||||
|
||||
*/
|
||||
PageSize *int32
|
||||
/*PageToken*/
|
||||
/*PageToken
|
||||
A page token to request the next page of results. The token is acquried
|
||||
from the nextPageToken field of the response from the previous
|
||||
ListPipelines call.
|
||||
|
||||
*/
|
||||
PageToken *string
|
||||
/*SortBy
|
||||
Can be format of "field_name", "field_name asc" or "field_name des"
|
||||
Can be format of "field_name", "field_name asc" or "field_name desc"
|
||||
Ascending by default.
|
||||
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -39,7 +39,7 @@ type Client struct {
|
|||
}
|
||||
|
||||
/*
|
||||
CreatePipeline adds a pipeline
|
||||
CreatePipeline creates a pipeline
|
||||
*/
|
||||
func (a *Client) CreatePipeline(params *CreatePipelineParams, authInfo runtime.ClientAuthInfoWriter) (*CreatePipelineOK, error) {
|
||||
// TODO: Validate the params before sending
|
||||
|
|
@ -68,7 +68,7 @@ func (a *Client) CreatePipeline(params *CreatePipelineParams, authInfo runtime.C
|
|||
}
|
||||
|
||||
/*
|
||||
CreatePipelineVersion create pipeline version API
|
||||
CreatePipelineVersion adds a pipeline version to the specified pipeline
|
||||
*/
|
||||
func (a *Client) CreatePipelineVersion(params *CreatePipelineVersionParams, authInfo runtime.ClientAuthInfoWriter) (*CreatePipelineVersionOK, error) {
|
||||
// TODO: Validate the params before sending
|
||||
|
|
@ -97,7 +97,7 @@ func (a *Client) CreatePipelineVersion(params *CreatePipelineVersionParams, auth
|
|||
}
|
||||
|
||||
/*
|
||||
DeletePipeline deletes a pipeline
|
||||
DeletePipeline deletes a pipeline and its pipeline versions
|
||||
*/
|
||||
func (a *Client) DeletePipeline(params *DeletePipelineParams, authInfo runtime.ClientAuthInfoWriter) (*DeletePipelineOK, error) {
|
||||
// TODO: Validate the params before sending
|
||||
|
|
@ -126,7 +126,7 @@ func (a *Client) DeletePipeline(params *DeletePipelineParams, authInfo runtime.C
|
|||
}
|
||||
|
||||
/*
|
||||
DeletePipelineVersion delete pipeline version API
|
||||
DeletePipelineVersion deletes a pipeline version by pipeline version ID if the deleted pipeline version is the default pipeline version the pipeline s default version changes to the pipeline s most recent pipeline version if there are no remaining pipeline versions the pipeline will have no default version examines the run service api ipynb notebook to learn more about creating a run using a pipeline version https github com kubeflow pipelines blob master tools benchmarks run service api ipynb
|
||||
*/
|
||||
func (a *Client) DeletePipelineVersion(params *DeletePipelineVersionParams, authInfo runtime.ClientAuthInfoWriter) (*DeletePipelineVersionOK, error) {
|
||||
// TODO: Validate the params before sending
|
||||
|
|
@ -184,7 +184,7 @@ func (a *Client) GetPipeline(params *GetPipelineParams, authInfo runtime.ClientA
|
|||
}
|
||||
|
||||
/*
|
||||
GetPipelineVersion get pipeline version API
|
||||
GetPipelineVersion gets a pipeline version by pipeline version ID
|
||||
*/
|
||||
func (a *Client) GetPipelineVersion(params *GetPipelineVersionParams, authInfo runtime.ClientAuthInfoWriter) (*GetPipelineVersionOK, error) {
|
||||
// TODO: Validate the params before sending
|
||||
|
|
@ -213,7 +213,7 @@ func (a *Client) GetPipelineVersion(params *GetPipelineVersionParams, authInfo r
|
|||
}
|
||||
|
||||
/*
|
||||
GetPipelineVersionTemplate get pipeline version template API
|
||||
GetPipelineVersionTemplate returns a y a m l template that contains the specified pipeline version s description parameters and metadata
|
||||
*/
|
||||
func (a *Client) GetPipelineVersionTemplate(params *GetPipelineVersionTemplateParams, authInfo runtime.ClientAuthInfoWriter) (*GetPipelineVersionTemplateOK, error) {
|
||||
// TODO: Validate the params before sending
|
||||
|
|
@ -271,7 +271,7 @@ func (a *Client) GetTemplate(params *GetTemplateParams, authInfo runtime.ClientA
|
|||
}
|
||||
|
||||
/*
|
||||
ListPipelineVersions list pipeline versions API
|
||||
ListPipelineVersions lists all pipeline versions of a given pipeline
|
||||
*/
|
||||
func (a *Client) ListPipelineVersions(params *ListPipelineVersionsParams, authInfo runtime.ClientAuthInfoWriter) (*ListPipelineVersionsOK, error) {
|
||||
// TODO: Validate the params before sending
|
||||
|
|
|
|||
|
|
@ -29,7 +29,8 @@ import (
|
|||
// swagger:model apiGetTemplateResponse
|
||||
type APIGetTemplateResponse struct {
|
||||
|
||||
// template
|
||||
// The template of the pipeline specified in a GetTemplate request, or of a
|
||||
// pipeline version specified in a GetPipelinesVersionTemplate request.
|
||||
Template string `json:"template,omitempty"`
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -32,10 +32,10 @@ import (
|
|||
// swagger:model apiListPipelineVersionsResponse
|
||||
type APIListPipelineVersionsResponse struct {
|
||||
|
||||
// next page token
|
||||
// The token to list the next page of pipeline versions.
|
||||
NextPageToken string `json:"next_page_token,omitempty"`
|
||||
|
||||
// total size
|
||||
// The total number of pipeline versions for the given query.
|
||||
TotalSize int32 `json:"total_size,omitempty"`
|
||||
|
||||
// versions
|
||||
|
|
|
|||
|
|
@ -32,13 +32,13 @@ import (
|
|||
// swagger:model apiListPipelinesResponse
|
||||
type APIListPipelinesResponse struct {
|
||||
|
||||
// next page token
|
||||
// The token to list the next page of pipelines.
|
||||
NextPageToken string `json:"next_page_token,omitempty"`
|
||||
|
||||
// pipelines
|
||||
Pipelines []*APIPipeline `json:"pipelines"`
|
||||
|
||||
// total size
|
||||
// The total number of pipelines for the given query.
|
||||
TotalSize int32 `json:"total_size,omitempty"`
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@ import (
|
|||
// swagger:model apiUrl
|
||||
type APIURL struct {
|
||||
|
||||
// pipeline url
|
||||
// URL of the pipeline definition or the pipeline version definition.
|
||||
PipelineURL string `json:"pipeline_url,omitempty"`
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -75,7 +75,10 @@ for the archive run operation typically these are written to a http.Request
|
|||
*/
|
||||
type ArchiveRunParams struct {
|
||||
|
||||
/*ID*/
|
||||
/*ID
|
||||
The ID of the run to be archived.
|
||||
|
||||
*/
|
||||
ID string
|
||||
|
||||
timeout time.Duration
|
||||
|
|
|
|||
|
|
@ -75,7 +75,10 @@ for the delete run operation typically these are written to a http.Request
|
|||
*/
|
||||
type DeleteRunParams struct {
|
||||
|
||||
/*ID*/
|
||||
/*ID
|
||||
The ID of the run to be deleted.
|
||||
|
||||
*/
|
||||
ID string
|
||||
|
||||
timeout time.Duration
|
||||
|
|
|
|||
|
|
@ -75,7 +75,10 @@ for the get run operation typically these are written to a http.Request
|
|||
*/
|
||||
type GetRunParams struct {
|
||||
|
||||
/*RunID*/
|
||||
/*RunID
|
||||
The ID of the run to be retrieved.
|
||||
|
||||
*/
|
||||
RunID string
|
||||
|
||||
timeout time.Duration
|
||||
|
|
|
|||
|
|
@ -95,9 +95,19 @@ type ListRunsParams struct {
|
|||
|
||||
*/
|
||||
Filter *string
|
||||
/*PageSize*/
|
||||
/*PageSize
|
||||
The number of runs to be listed per page. If there are more runs than this
|
||||
number, the response message will contain a nextPageToken field you can use
|
||||
to fetch the next page.
|
||||
|
||||
*/
|
||||
PageSize *int32
|
||||
/*PageToken*/
|
||||
/*PageToken
|
||||
A page token to request the next page of results. The token is acquried
|
||||
from the nextPageToken field of the response from the previous
|
||||
ListRuns call or can be omitted when fetching the first page.
|
||||
|
||||
*/
|
||||
PageToken *string
|
||||
/*ResourceReferenceKeyID
|
||||
The ID of the resource that referred to.
|
||||
|
|
@ -110,8 +120,8 @@ type ListRunsParams struct {
|
|||
*/
|
||||
ResourceReferenceKeyType *string
|
||||
/*SortBy
|
||||
Can be format of "field_name", "field_name asc" or "field_name des"
|
||||
(Example, "name asc" or "id des"). Ascending by default.
|
||||
Can be format of "field_name", "field_name asc" or "field_name desc"
|
||||
(Example, "name asc" or "id desc"). Ascending by default.
|
||||
|
||||
*/
|
||||
SortBy *string
|
||||
|
|
|
|||
|
|
@ -75,7 +75,10 @@ for the retry run operation typically these are written to a http.Request
|
|||
*/
|
||||
type RetryRunParams struct {
|
||||
|
||||
/*RunID*/
|
||||
/*RunID
|
||||
The ID of the run to be retried.
|
||||
|
||||
*/
|
||||
RunID string
|
||||
|
||||
timeout time.Duration
|
||||
|
|
|
|||
|
|
@ -242,7 +242,7 @@ func (a *Client) ReportRunMetrics(params *ReportRunMetricsParams, authInfo runti
|
|||
}
|
||||
|
||||
/*
|
||||
RetryRun res initiate a failed or terminated run
|
||||
RetryRun res initiates a failed or terminated run
|
||||
*/
|
||||
func (a *Client) RetryRun(params *RetryRunParams, authInfo runtime.ClientAuthInfoWriter) (*RetryRunOK, error) {
|
||||
// TODO: Validate the params before sending
|
||||
|
|
|
|||
|
|
@ -75,7 +75,10 @@ for the terminate run operation typically these are written to a http.Request
|
|||
*/
|
||||
type TerminateRunParams struct {
|
||||
|
||||
/*RunID*/
|
||||
/*RunID
|
||||
The ID of the run to be terminated.
|
||||
|
||||
*/
|
||||
RunID string
|
||||
|
||||
timeout time.Duration
|
||||
|
|
|
|||
|
|
@ -75,7 +75,10 @@ for the unarchive run operation typically these are written to a http.Request
|
|||
*/
|
||||
type UnarchiveRunParams struct {
|
||||
|
||||
/*ID*/
|
||||
/*ID
|
||||
The ID of the run to be restored.
|
||||
|
||||
*/
|
||||
ID string
|
||||
|
||||
timeout time.Duration
|
||||
|
|
|
|||
|
|
@ -32,13 +32,13 @@ import (
|
|||
// swagger:model apiListRunsResponse
|
||||
type APIListRunsResponse struct {
|
||||
|
||||
// next page token
|
||||
// The token to list the next page of runs.
|
||||
NextPageToken string `json:"next_page_token,omitempty"`
|
||||
|
||||
// runs
|
||||
Runs []*APIRun `json:"runs"`
|
||||
|
||||
// total size
|
||||
// The total number of runs for the given query.
|
||||
TotalSize int32 `json:"total_size,omitempty"`
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -65,6 +65,8 @@ type APIRun struct {
|
|||
PipelineSpec *APIPipelineSpec `json:"pipeline_spec,omitempty"`
|
||||
|
||||
// Optional input field. Specify which resource this run belongs to.
|
||||
// When creating a run from a particular pipeline version, the pipeline
|
||||
// version can be specified here.
|
||||
ResourceReferences []*APIResourceReference `json:"resource_references"`
|
||||
|
||||
// Output. When this run is scheduled to run. This could be different from
|
||||
|
|
@ -81,7 +83,7 @@ type APIRun struct {
|
|||
// One of [Pending, Running, Succeeded, Skipped, Failed, Error]
|
||||
Status string `json:"status,omitempty"`
|
||||
|
||||
// storage state
|
||||
// Output. Specify whether this run is in archived or available mode.
|
||||
StorageState RunStorageState `json:"storage_state,omitempty"`
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -63,7 +63,7 @@ option (grpc.gateway.protoc_gen_swagger.options.openapiv2_swagger) = {
|
|||
|
||||
|
||||
service JobService {
|
||||
//Create a new job.
|
||||
// Creates a new job.
|
||||
rpc CreateJob(CreateJobRequest) returns (Job) {
|
||||
option (google.api.http) = {
|
||||
post: "/apis/v1beta1/jobs"
|
||||
|
|
@ -71,35 +71,35 @@ service JobService {
|
|||
};
|
||||
}
|
||||
|
||||
//Find a specific job by ID.
|
||||
// Finds a specific job by ID.
|
||||
rpc GetJob(GetJobRequest) returns (Job) {
|
||||
option (google.api.http) = {
|
||||
get: "/apis/v1beta1/jobs/{id}"
|
||||
};
|
||||
}
|
||||
|
||||
//Find all jobs.
|
||||
// Finds all jobs.
|
||||
rpc ListJobs(ListJobsRequest) returns (ListJobsResponse) {
|
||||
option (google.api.http) = {
|
||||
get: "/apis/v1beta1/jobs"
|
||||
};
|
||||
}
|
||||
|
||||
//Restarts a job that was previously stopped. All runs associated with the job will continue.
|
||||
// Restarts a job that was previously stopped. All runs associated with the job will continue.
|
||||
rpc EnableJob(EnableJobRequest) returns (google.protobuf.Empty) {
|
||||
option (google.api.http) = {
|
||||
post: "/apis/v1beta1/jobs/{id}/enable"
|
||||
};
|
||||
}
|
||||
|
||||
//Stops a job and all its associated runs. The job is not deleted.
|
||||
// Stops a job and all its associated runs. The job is not deleted.
|
||||
rpc DisableJob(DisableJobRequest) returns (google.protobuf.Empty) {
|
||||
option (google.api.http) = {
|
||||
post: "/apis/v1beta1/jobs/{id}/disable"
|
||||
};
|
||||
}
|
||||
|
||||
//Delete a job.
|
||||
// Deletes a job.
|
||||
rpc DeleteJob(DeleteJobRequest) returns (google.protobuf.Empty) {
|
||||
option (google.api.http) = {
|
||||
delete: "/apis/v1beta1/jobs/{id}"
|
||||
|
|
@ -118,10 +118,17 @@ message GetJobRequest {
|
|||
}
|
||||
|
||||
message ListJobsRequest {
|
||||
// A page token to request the next page of results. The token is acquried
|
||||
// from the nextPageToken field of the response from the previous
|
||||
// ListJobs call or can be omitted when fetching the first page.
|
||||
string page_token = 1;
|
||||
|
||||
// The number of jobs to be listed per page. If there are more jobs than this
|
||||
// number, the response message will contain a nextPageToken field you can use
|
||||
// to fetch the next page.
|
||||
int32 page_size = 2;
|
||||
|
||||
// Can be format of "field_name", "field_name asc" or "field_name des".
|
||||
// Can be format of "field_name", "field_name asc" or "field_name desc".
|
||||
// Ascending by default.
|
||||
string sort_by = 3;
|
||||
|
||||
|
|
@ -139,7 +146,11 @@ message ListJobsRequest {
|
|||
message ListJobsResponse {
|
||||
// A list of jobs returned.
|
||||
repeated Job jobs = 1;
|
||||
|
||||
// The total number of jobs for the given query.
|
||||
int32 total_size = 3;
|
||||
|
||||
// The token to list the next page of jobs.
|
||||
string next_page_token = 2;
|
||||
}
|
||||
|
||||
|
|
@ -252,4 +263,4 @@ message Job {
|
|||
// If false, the job will catch up on each past interval.
|
||||
bool no_catchup = 17;
|
||||
}
|
||||
// Next field number of Job will be 19
|
||||
// Next field number of Job will be 19
|
||||
|
|
|
|||
|
|
@ -61,7 +61,7 @@ option (grpc.gateway.protoc_gen_swagger.options.openapiv2_swagger) = {
|
|||
};
|
||||
|
||||
service PipelineService {
|
||||
//Add a pipeline.
|
||||
// Creates a pipeline.
|
||||
rpc CreatePipeline(CreatePipelineRequest) returns (Pipeline) {
|
||||
option (google.api.http) = {
|
||||
post: "/apis/v1beta1/pipelines"
|
||||
|
|
@ -69,34 +69,35 @@ service PipelineService {
|
|||
};
|
||||
}
|
||||
|
||||
//Find a specific pipeline by ID.
|
||||
// Finds a specific pipeline by ID.
|
||||
rpc GetPipeline(GetPipelineRequest) returns (Pipeline) {
|
||||
option (google.api.http) = {
|
||||
get: "/apis/v1beta1/pipelines/{id}"
|
||||
};
|
||||
}
|
||||
|
||||
//Find all pipelines.
|
||||
// Finds all pipelines.
|
||||
rpc ListPipelines(ListPipelinesRequest) returns (ListPipelinesResponse) {
|
||||
option (google.api.http) = {
|
||||
get: "/apis/v1beta1/pipelines"
|
||||
};
|
||||
}
|
||||
|
||||
//Delete a pipeline.
|
||||
// Deletes a pipeline and its pipeline versions.
|
||||
rpc DeletePipeline(DeletePipelineRequest) returns (google.protobuf.Empty) {
|
||||
option (google.api.http) = {
|
||||
delete: "/apis/v1beta1/pipelines/{id}"
|
||||
};
|
||||
}
|
||||
|
||||
//Returns a single YAML template that contains the description, parameters, and metadata associated with the pipeline provided.
|
||||
// Returns a single YAML template that contains the description, parameters, and metadata associated with the pipeline provided.
|
||||
rpc GetTemplate(GetTemplateRequest) returns (GetTemplateResponse) {
|
||||
option (google.api.http) = {
|
||||
get: "/apis/v1beta1/pipelines/{id}/templates"
|
||||
};
|
||||
}
|
||||
|
||||
// Adds a pipeline version to the specified pipeline.
|
||||
rpc CreatePipelineVersion(CreatePipelineVersionRequest)
|
||||
returns (PipelineVersion) {
|
||||
option (google.api.http) = {
|
||||
|
|
@ -105,12 +106,14 @@ service PipelineService {
|
|||
};
|
||||
}
|
||||
|
||||
// Gets a pipeline version by pipeline version ID.
|
||||
rpc GetPipelineVersion(GetPipelineVersionRequest) returns (PipelineVersion) {
|
||||
option (google.api.http) = {
|
||||
get: "/apis/v1beta1/pipeline_versions/{version_id}"
|
||||
};
|
||||
}
|
||||
|
||||
// Lists all pipeline versions of a given pipeline.
|
||||
rpc ListPipelineVersions(ListPipelineVersionsRequest)
|
||||
returns (ListPipelineVersionsResponse) {
|
||||
option (google.api.http) = {
|
||||
|
|
@ -118,6 +121,12 @@ service PipelineService {
|
|||
};
|
||||
}
|
||||
|
||||
// Deletes a pipeline version by pipeline version ID. If the deleted pipeline
|
||||
// version is the default pipeline version, the pipeline's default version
|
||||
// changes to the pipeline's most recent pipeline version. If there are no
|
||||
// remaining pipeline versions, the pipeline will have no default version.
|
||||
// Examines the run_service_api.ipynb notebook to learn more about creating a
|
||||
// run using a pipeline version (https://github.com/kubeflow/pipelines/blob/master/tools/benchmarks/run_service_api.ipynb).
|
||||
rpc DeletePipelineVersion(DeletePipelineVersionRequest)
|
||||
returns (google.protobuf.Empty) {
|
||||
option (google.api.http) = {
|
||||
|
|
@ -125,6 +134,7 @@ service PipelineService {
|
|||
};
|
||||
}
|
||||
|
||||
// Returns a YAML template that contains the specified pipeline version's description, parameters and metadata.
|
||||
rpc GetPipelineVersionTemplate(GetPipelineVersionTemplateRequest) returns (GetTemplateResponse) {
|
||||
option (google.api.http) = {
|
||||
get: "/apis/v1beta1/pipeline_versions/{version_id}/templates"
|
||||
|
|
@ -133,6 +143,7 @@ service PipelineService {
|
|||
}
|
||||
|
||||
message Url {
|
||||
// URL of the pipeline definition or the pipeline version definition.
|
||||
string pipeline_url = 1;
|
||||
}
|
||||
|
||||
|
|
@ -144,13 +155,22 @@ message CreatePipelineRequest {
|
|||
}
|
||||
|
||||
message GetPipelineRequest {
|
||||
// The ID of the pipeline to be retrieved.
|
||||
string id = 1;
|
||||
}
|
||||
|
||||
message ListPipelinesRequest {
|
||||
// A page token to request the next page of results. The token is acquried
|
||||
// from the nextPageToken field of the response from the previous
|
||||
// ListPipelines call.
|
||||
string page_token = 1;
|
||||
|
||||
// The number of pipelines to be listed per page. If there are more pipelines
|
||||
// than this number, the response message will contain a valid value in the
|
||||
// nextPageToken field.
|
||||
int32 page_size = 2;
|
||||
// Can be format of "field_name", "field_name asc" or "field_name des"
|
||||
|
||||
// Can be format of "field_name", "field_name asc" or "field_name desc"
|
||||
// Ascending by default.
|
||||
string sort_by = 3;
|
||||
|
||||
|
|
@ -162,23 +182,32 @@ message ListPipelinesRequest {
|
|||
|
||||
message ListPipelinesResponse {
|
||||
repeated Pipeline pipelines = 1;
|
||||
|
||||
// The total number of pipelines for the given query.
|
||||
int32 total_size = 3;
|
||||
|
||||
// The token to list the next page of pipelines.
|
||||
string next_page_token = 2;
|
||||
}
|
||||
|
||||
message DeletePipelineRequest {
|
||||
// The ID of the pipeline to be deleted.
|
||||
string id = 1;
|
||||
}
|
||||
|
||||
message GetTemplateRequest {
|
||||
// The ID of the pipeline whose template is to be retrieved.
|
||||
string id = 1;
|
||||
}
|
||||
|
||||
message GetTemplateResponse {
|
||||
// The template of the pipeline specified in a GetTemplate request, or of a
|
||||
// pipeline version specified in a GetPipelinesVersionTemplate request.
|
||||
string template = 1;
|
||||
}
|
||||
|
||||
message GetPipelineVersionTemplateRequest {
|
||||
// The ID of the pipeline version whose template is to be retrieved.
|
||||
string version_id = 1;
|
||||
}
|
||||
|
||||
|
|
@ -189,16 +218,25 @@ message CreatePipelineVersionRequest {
|
|||
}
|
||||
|
||||
message GetPipelineVersionRequest {
|
||||
// The ID of the pipeline version to be retrieved.
|
||||
string version_id = 1;
|
||||
}
|
||||
|
||||
message ListPipelineVersionsRequest {
|
||||
// ResourceKey specifies the pipeline whose versions are to be listed.
|
||||
ResourceKey resource_key = 1;
|
||||
|
||||
// The number of pipeline versions to be listed per page. If there are more
|
||||
// pipeline versions than this number, the response message will contain a
|
||||
// nextPageToken field you can use to fetch the next page.
|
||||
int32 page_size = 2;
|
||||
|
||||
// A page token to request the next page of results. The token is acquried
|
||||
// from the nextPageToken field of the response from the previous
|
||||
// ListPipelineVersions call or can be omitted when fetching the first page.
|
||||
string page_token = 3;
|
||||
|
||||
// Can be format of "field_name", "field_name asc" or "field_name des"
|
||||
// Can be format of "field_name", "field_name asc" or "field_name desc"
|
||||
// Ascending by default.
|
||||
string sort_by = 4;
|
||||
// A base-64 encoded, JSON-serialized Filter protocol buffer (see
|
||||
|
|
@ -208,11 +246,16 @@ message ListPipelineVersionsRequest {
|
|||
|
||||
message ListPipelineVersionsResponse {
|
||||
repeated PipelineVersion versions = 1;
|
||||
|
||||
// The token to list the next page of pipeline versions.
|
||||
string next_page_token = 2;
|
||||
|
||||
// The total number of pipeline versions for the given query.
|
||||
int32 total_size = 3;
|
||||
}
|
||||
|
||||
message DeletePipelineVersionRequest {
|
||||
// The ID of the pipeline version to be deleted.
|
||||
string version_id = 1;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,66 @@
|
|||
# Byte-compiled / optimized / DLL files
|
||||
__pycache__/
|
||||
*.py[cod]
|
||||
*$py.class
|
||||
|
||||
# C extensions
|
||||
*.so
|
||||
|
||||
# Distribution / packaging
|
||||
.Python
|
||||
env/
|
||||
build/
|
||||
develop-eggs/
|
||||
dist/
|
||||
downloads/
|
||||
eggs/
|
||||
.eggs/
|
||||
lib/
|
||||
lib64/
|
||||
parts/
|
||||
sdist/
|
||||
var/
|
||||
*.egg-info/
|
||||
.installed.cfg
|
||||
*.egg
|
||||
|
||||
# PyInstaller
|
||||
# Usually these files are written by a python script from a template
|
||||
# before PyInstaller builds the exe, so as to inject date/other infos into it.
|
||||
*.manifest
|
||||
*.spec
|
||||
|
||||
# Installer logs
|
||||
pip-log.txt
|
||||
pip-delete-this-directory.txt
|
||||
|
||||
# Unit test / coverage reports
|
||||
htmlcov/
|
||||
.tox/
|
||||
.coverage
|
||||
.coverage.*
|
||||
.cache
|
||||
nosetests.xml
|
||||
coverage.xml
|
||||
*,cover
|
||||
.hypothesis/
|
||||
venv/
|
||||
.venv/
|
||||
.python-version
|
||||
.pytest_cache
|
||||
|
||||
# Translations
|
||||
*.mo
|
||||
*.pot
|
||||
|
||||
# Django stuff:
|
||||
*.log
|
||||
|
||||
# Sphinx documentation
|
||||
docs/_build/
|
||||
|
||||
# PyBuilder
|
||||
target/
|
||||
|
||||
#Ipython Notebook
|
||||
.ipynb_checkpoints
|
||||
|
|
@ -0,0 +1,47 @@
|
|||
# Copyright 2020 Google LLC
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
# ref: https://docs.gitlab.com/ee/ci/README.html
|
||||
|
||||
stages:
|
||||
- test
|
||||
|
||||
.nosetest:
|
||||
stage: test
|
||||
script:
|
||||
- pip install -r requirements.txt
|
||||
- pip install -r test-requirements.txt
|
||||
- pytest --cov=kfp_server_api
|
||||
|
||||
nosetest-2.7:
|
||||
extends: .nosetest
|
||||
image: python:2.7-alpine
|
||||
nosetest-3.3:
|
||||
extends: .nosetest
|
||||
image: python:3.3-alpine
|
||||
nosetest-3.4:
|
||||
extends: .nosetest
|
||||
image: python:3.4-alpine
|
||||
nosetest-3.5:
|
||||
extends: .nosetest
|
||||
image: python:3.5-alpine
|
||||
nosetest-3.6:
|
||||
extends: .nosetest
|
||||
image: python:3.6-alpine
|
||||
nosetest-3.7:
|
||||
extends: .nosetest
|
||||
image: python:3.7-alpine
|
||||
nosetest-3.8:
|
||||
extends: .nosetest
|
||||
image: python:3.8-alpine
|
||||
|
|
@ -0,0 +1,23 @@
|
|||
# OpenAPI Generator Ignore
|
||||
# Generated by openapi-generator https://github.com/openapitools/openapi-generator
|
||||
|
||||
# Use this file to prevent files from being overwritten by the generator.
|
||||
# The patterns follow closely to .gitignore or .dockerignore.
|
||||
|
||||
# As an example, the C# client generator defines ApiClient.cs.
|
||||
# You can make changes and tell OpenAPI Generator to ignore just this file by uncommenting the following line:
|
||||
#ApiClient.cs
|
||||
|
||||
# You can match any string of characters against a directory, file or extension with a single asterisk (*):
|
||||
#foo/*/qux
|
||||
# The above matches foo/bar/qux and foo/baz/qux, but not foo/bar/baz/qux
|
||||
|
||||
# You can recursively match patterns against a directory, file or extension with a double asterisk (**):
|
||||
#foo/**/qux
|
||||
# This matches foo/bar/qux, foo/baz/qux, and foo/bar/baz/qux
|
||||
|
||||
# You can also negate patterns with an exclamation (!).
|
||||
# For example, you can ignore all files in a docs folder with the file extension .md:
|
||||
#docs/*.md
|
||||
# Then explicitly reverse the ignore rule for a single file:
|
||||
#!docs/README.md
|
||||
|
|
@ -0,0 +1 @@
|
|||
4.3.1
|
||||
|
|
@ -0,0 +1,31 @@
|
|||
# Copyright 2020 Google LLC
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
# ref: https://docs.travis-ci.com/user/languages/python
|
||||
language: python
|
||||
python:
|
||||
- "2.7"
|
||||
- "3.2"
|
||||
- "3.3"
|
||||
- "3.4"
|
||||
- "3.5"
|
||||
- "3.6"
|
||||
- "3.7"
|
||||
- "3.8"
|
||||
# command to install dependencies
|
||||
install:
|
||||
- "pip install -r requirements.txt"
|
||||
- "pip install -r test-requirements.txt"
|
||||
# command to run tests
|
||||
script: pytest --cov=kfp_server_api
|
||||
|
|
@ -0,0 +1,201 @@
|
|||
Apache License
|
||||
Version 2.0, January 2004
|
||||
http://www.apache.org/licenses/
|
||||
|
||||
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
||||
|
||||
1. Definitions.
|
||||
|
||||
"License" shall mean the terms and conditions for use, reproduction,
|
||||
and distribution as defined by Sections 1 through 9 of this document.
|
||||
|
||||
"Licensor" shall mean the copyright owner or entity authorized by
|
||||
the copyright owner that is granting the License.
|
||||
|
||||
"Legal Entity" shall mean the union of the acting entity and all
|
||||
other entities that control, are controlled by, or are under common
|
||||
control with that entity. For the purposes of this definition,
|
||||
"control" means (i) the power, direct or indirect, to cause the
|
||||
direction or management of such entity, whether by contract or
|
||||
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
||||
outstanding shares, or (iii) beneficial ownership of such entity.
|
||||
|
||||
"You" (or "Your") shall mean an individual or Legal Entity
|
||||
exercising permissions granted by this License.
|
||||
|
||||
"Source" form shall mean the preferred form for making modifications,
|
||||
including but not limited to software source code, documentation
|
||||
source, and configuration files.
|
||||
|
||||
"Object" form shall mean any form resulting from mechanical
|
||||
transformation or translation of a Source form, including but
|
||||
not limited to compiled object code, generated documentation,
|
||||
and conversions to other media types.
|
||||
|
||||
"Work" shall mean the work of authorship, whether in Source or
|
||||
Object form, made available under the License, as indicated by a
|
||||
copyright notice that is included in or attached to the work
|
||||
(an example is provided in the Appendix below).
|
||||
|
||||
"Derivative Works" shall mean any work, whether in Source or Object
|
||||
form, that is based on (or derived from) the Work and for which the
|
||||
editorial revisions, annotations, elaborations, or other modifications
|
||||
represent, as a whole, an original work of authorship. For the purposes
|
||||
of this License, Derivative Works shall not include works that remain
|
||||
separable from, or merely link (or bind by name) to the interfaces of,
|
||||
the Work and Derivative Works thereof.
|
||||
|
||||
"Contribution" shall mean any work of authorship, including
|
||||
the original version of the Work and any modifications or additions
|
||||
to that Work or Derivative Works thereof, that is intentionally
|
||||
submitted to Licensor for inclusion in the Work by the copyright owner
|
||||
or by an individual or Legal Entity authorized to submit on behalf of
|
||||
the copyright owner. For the purposes of this definition, "submitted"
|
||||
means any form of electronic, verbal, or written communication sent
|
||||
to the Licensor or its representatives, including but not limited to
|
||||
communication on electronic mailing lists, source code control systems,
|
||||
and issue tracking systems that are managed by, or on behalf of, the
|
||||
Licensor for the purpose of discussing and improving the Work, but
|
||||
excluding communication that is conspicuously marked or otherwise
|
||||
designated in writing by the copyright owner as "Not a Contribution."
|
||||
|
||||
"Contributor" shall mean Licensor and any individual or Legal Entity
|
||||
on behalf of whom a Contribution has been received by Licensor and
|
||||
subsequently incorporated within the Work.
|
||||
|
||||
2. Grant of Copyright License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
copyright license to reproduce, prepare Derivative Works of,
|
||||
publicly display, publicly perform, sublicense, and distribute the
|
||||
Work and such Derivative Works in Source or Object form.
|
||||
|
||||
3. Grant of Patent License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
(except as stated in this section) patent license to make, have made,
|
||||
use, offer to sell, sell, import, and otherwise transfer the Work,
|
||||
where such license applies only to those patent claims licensable
|
||||
by such Contributor that are necessarily infringed by their
|
||||
Contribution(s) alone or by combination of their Contribution(s)
|
||||
with the Work to which such Contribution(s) was submitted. If You
|
||||
institute patent litigation against any entity (including a
|
||||
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
||||
or a Contribution incorporated within the Work constitutes direct
|
||||
or contributory patent infringement, then any patent licenses
|
||||
granted to You under this License for that Work shall terminate
|
||||
as of the date such litigation is filed.
|
||||
|
||||
4. Redistribution. You may reproduce and distribute copies of the
|
||||
Work or Derivative Works thereof in any medium, with or without
|
||||
modifications, and in Source or Object form, provided that You
|
||||
meet the following conditions:
|
||||
|
||||
(a) You must give any other recipients of the Work or
|
||||
Derivative Works a copy of this License; and
|
||||
|
||||
(b) You must cause any modified files to carry prominent notices
|
||||
stating that You changed the files; and
|
||||
|
||||
(c) You must retain, in the Source form of any Derivative Works
|
||||
that You distribute, all copyright, patent, trademark, and
|
||||
attribution notices from the Source form of the Work,
|
||||
excluding those notices that do not pertain to any part of
|
||||
the Derivative Works; and
|
||||
|
||||
(d) If the Work includes a "NOTICE" text file as part of its
|
||||
distribution, then any Derivative Works that You distribute must
|
||||
include a readable copy of the attribution notices contained
|
||||
within such NOTICE file, excluding those notices that do not
|
||||
pertain to any part of the Derivative Works, in at least one
|
||||
of the following places: within a NOTICE text file distributed
|
||||
as part of the Derivative Works; within the Source form or
|
||||
documentation, if provided along with the Derivative Works; or,
|
||||
within a display generated by the Derivative Works, if and
|
||||
wherever such third-party notices normally appear. The contents
|
||||
of the NOTICE file are for informational purposes only and
|
||||
do not modify the License. You may add Your own attribution
|
||||
notices within Derivative Works that You distribute, alongside
|
||||
or as an addendum to the NOTICE text from the Work, provided
|
||||
that such additional attribution notices cannot be construed
|
||||
as modifying the License.
|
||||
|
||||
You may add Your own copyright statement to Your modifications and
|
||||
may provide additional or different license terms and conditions
|
||||
for use, reproduction, or distribution of Your modifications, or
|
||||
for any such Derivative Works as a whole, provided Your use,
|
||||
reproduction, and distribution of the Work otherwise complies with
|
||||
the conditions stated in this License.
|
||||
|
||||
5. Submission of Contributions. Unless You explicitly state otherwise,
|
||||
any Contribution intentionally submitted for inclusion in the Work
|
||||
by You to the Licensor shall be under the terms and conditions of
|
||||
this License, without any additional terms or conditions.
|
||||
Notwithstanding the above, nothing herein shall supersede or modify
|
||||
the terms of any separate license agreement you may have executed
|
||||
with Licensor regarding such Contributions.
|
||||
|
||||
6. Trademarks. This License does not grant permission to use the trade
|
||||
names, trademarks, service marks, or product names of the Licensor,
|
||||
except as required for reasonable and customary use in describing the
|
||||
origin of the Work and reproducing the content of the NOTICE file.
|
||||
|
||||
7. Disclaimer of Warranty. Unless required by applicable law or
|
||||
agreed to in writing, Licensor provides the Work (and each
|
||||
Contributor provides its Contributions) on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
||||
implied, including, without limitation, any warranties or conditions
|
||||
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
||||
PARTICULAR PURPOSE. You are solely responsible for determining the
|
||||
appropriateness of using or redistributing the Work and assume any
|
||||
risks associated with Your exercise of permissions under this License.
|
||||
|
||||
8. Limitation of Liability. In no event and under no legal theory,
|
||||
whether in tort (including negligence), contract, or otherwise,
|
||||
unless required by applicable law (such as deliberate and grossly
|
||||
negligent acts) or agreed to in writing, shall any Contributor be
|
||||
liable to You for damages, including any direct, indirect, special,
|
||||
incidental, or consequential damages of any character arising as a
|
||||
result of this License or out of the use or inability to use the
|
||||
Work (including but not limited to damages for loss of goodwill,
|
||||
work stoppage, computer failure or malfunction, or any and all
|
||||
other commercial damages or losses), even if such Contributor
|
||||
has been advised of the possibility of such damages.
|
||||
|
||||
9. Accepting Warranty or Additional Liability. While redistributing
|
||||
the Work or Derivative Works thereof, You may choose to offer,
|
||||
and charge a fee for, acceptance of support, warranty, indemnity,
|
||||
or other liability obligations and/or rights consistent with this
|
||||
License. However, in accepting such obligations, You may act only
|
||||
on Your own behalf and on Your sole responsibility, not on behalf
|
||||
of any other Contributor, and only if You agree to indemnify,
|
||||
defend, and hold each Contributor harmless for any liability
|
||||
incurred by, or claims asserted against, such Contributor by reason
|
||||
of your accepting any such warranty or additional liability.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
APPENDIX: How to apply the Apache License to your work.
|
||||
|
||||
To apply the Apache License to your work, attach the following
|
||||
boilerplate notice, with the fields enclosed by brackets "[]"
|
||||
replaced with your own identifying information. (Don't include
|
||||
the brackets!) The text should be enclosed in the appropriate
|
||||
comment syntax for the file format. We also recommend that a
|
||||
file or class name and description of purpose be included on the
|
||||
same "printed page" as the copyright notice for easier
|
||||
identification within third-party archives.
|
||||
|
||||
Copyright [yyyy] [name of copyright owner]
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
|
|
@ -0,0 +1,188 @@
|
|||
# kfp-server-api
|
||||
This file contains REST API specification for Kubeflow Pipelines. The file is autogenerated from the swagger definition.
|
||||
|
||||
This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
|
||||
|
||||
- API version: 1.0.0
|
||||
- Package version: 1.0.0
|
||||
- Build package: org.openapitools.codegen.languages.PythonClientCodegen
|
||||
For more information, please visit [https://www.google.com](https://www.google.com)
|
||||
|
||||
## Requirements.
|
||||
|
||||
Python 2.7 and 3.4+
|
||||
|
||||
## Installation & Usage
|
||||
### pip install
|
||||
|
||||
If the python package is hosted on a repository, you can install directly using:
|
||||
|
||||
```sh
|
||||
pip install git+https://github.com/GIT_USER_ID/GIT_REPO_ID.git
|
||||
```
|
||||
(you may need to run `pip` with root permission: `sudo pip install git+https://github.com/GIT_USER_ID/GIT_REPO_ID.git`)
|
||||
|
||||
Then import the package:
|
||||
```python
|
||||
import kfp_server_api
|
||||
```
|
||||
|
||||
### Setuptools
|
||||
|
||||
Install via [Setuptools](http://pypi.python.org/pypi/setuptools).
|
||||
|
||||
```sh
|
||||
python setup.py install --user
|
||||
```
|
||||
(or `sudo python setup.py install` to install the package for all users)
|
||||
|
||||
Then import the package:
|
||||
```python
|
||||
import kfp_server_api
|
||||
```
|
||||
|
||||
## Getting Started
|
||||
|
||||
Please follow the [installation procedure](#installation--usage) and then run the following:
|
||||
|
||||
```python
|
||||
from __future__ import print_function
|
||||
|
||||
import time
|
||||
import kfp_server_api
|
||||
from kfp_server_api.rest import ApiException
|
||||
from pprint import pprint
|
||||
|
||||
# Defining the host is optional and defaults to http://localhost
|
||||
# See configuration.py for a list of all supported configuration parameters.
|
||||
configuration = kfp_server_api.Configuration(
|
||||
host = "http://localhost"
|
||||
)
|
||||
|
||||
# The client must configure the authentication and authorization parameters
|
||||
# in accordance with the API server security policy.
|
||||
# Examples for each auth method are provided below, use the example that
|
||||
# satisfies your auth use case.
|
||||
|
||||
# Configure API key authorization: Bearer
|
||||
configuration = kfp_server_api.Configuration(
|
||||
host = "http://localhost",
|
||||
api_key = {
|
||||
'authorization': 'YOUR_API_KEY'
|
||||
}
|
||||
)
|
||||
# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
|
||||
# configuration.api_key_prefix['authorization'] = 'Bearer'
|
||||
|
||||
|
||||
# Enter a context with an instance of the API client
|
||||
with kfp_server_api.ApiClient(configuration) as api_client:
|
||||
# Create an instance of the API class
|
||||
api_instance = kfp_server_api.ExperimentServiceApi(api_client)
|
||||
id = 'id_example' # str | The ID of the experiment to be archived.
|
||||
|
||||
try:
|
||||
# Archives an experiment and the experiment's runs and jobs.
|
||||
api_response = api_instance.archive_experiment(id)
|
||||
pprint(api_response)
|
||||
except ApiException as e:
|
||||
print("Exception when calling ExperimentServiceApi->archive_experiment: %s\n" % e)
|
||||
|
||||
```
|
||||
|
||||
## Documentation for API Endpoints
|
||||
|
||||
All URIs are relative to *http://localhost*
|
||||
|
||||
Class | Method | HTTP request | Description
|
||||
------------ | ------------- | ------------- | -------------
|
||||
*ExperimentServiceApi* | [**archive_experiment**](docs/ExperimentServiceApi.md#archive_experiment) | **POST** /apis/v1beta1/experiments/{id}:archive | Archives an experiment and the experiment's runs and jobs.
|
||||
*ExperimentServiceApi* | [**create_experiment**](docs/ExperimentServiceApi.md#create_experiment) | **POST** /apis/v1beta1/experiments | Creates a new experiment.
|
||||
*ExperimentServiceApi* | [**delete_experiment**](docs/ExperimentServiceApi.md#delete_experiment) | **DELETE** /apis/v1beta1/experiments/{id} | Deletes an experiment without deleting the experiment's runs and jobs. To avoid unexpected behaviors, delete an experiment's runs and jobs before deleting the experiment.
|
||||
*ExperimentServiceApi* | [**get_experiment**](docs/ExperimentServiceApi.md#get_experiment) | **GET** /apis/v1beta1/experiments/{id} | Finds a specific experiment by ID.
|
||||
*ExperimentServiceApi* | [**list_experiment**](docs/ExperimentServiceApi.md#list_experiment) | **GET** /apis/v1beta1/experiments | Finds all experiments. Supports pagination, and sorting on certain fields.
|
||||
*ExperimentServiceApi* | [**unarchive_experiment**](docs/ExperimentServiceApi.md#unarchive_experiment) | **POST** /apis/v1beta1/experiments/{id}:unarchive | Restores an archived experiment. The experiment's archived runs and jobs will stay archived.
|
||||
*JobServiceApi* | [**create_job**](docs/JobServiceApi.md#create_job) | **POST** /apis/v1beta1/jobs | Creates a new job.
|
||||
*JobServiceApi* | [**delete_job**](docs/JobServiceApi.md#delete_job) | **DELETE** /apis/v1beta1/jobs/{id} | Deletes a job.
|
||||
*JobServiceApi* | [**disable_job**](docs/JobServiceApi.md#disable_job) | **POST** /apis/v1beta1/jobs/{id}/disable | Stops a job and all its associated runs. The job is not deleted.
|
||||
*JobServiceApi* | [**enable_job**](docs/JobServiceApi.md#enable_job) | **POST** /apis/v1beta1/jobs/{id}/enable | Restarts a job that was previously stopped. All runs associated with the job will continue.
|
||||
*JobServiceApi* | [**get_job**](docs/JobServiceApi.md#get_job) | **GET** /apis/v1beta1/jobs/{id} | Finds a specific job by ID.
|
||||
*JobServiceApi* | [**list_jobs**](docs/JobServiceApi.md#list_jobs) | **GET** /apis/v1beta1/jobs | Finds all jobs.
|
||||
*PipelineServiceApi* | [**create_pipeline**](docs/PipelineServiceApi.md#create_pipeline) | **POST** /apis/v1beta1/pipelines | Creates a pipeline.
|
||||
*PipelineServiceApi* | [**create_pipeline_version**](docs/PipelineServiceApi.md#create_pipeline_version) | **POST** /apis/v1beta1/pipeline_versions | Adds a pipeline version to the specified pipeline.
|
||||
*PipelineServiceApi* | [**delete_pipeline**](docs/PipelineServiceApi.md#delete_pipeline) | **DELETE** /apis/v1beta1/pipelines/{id} | Deletes a pipeline and its pipeline versions.
|
||||
*PipelineServiceApi* | [**delete_pipeline_version**](docs/PipelineServiceApi.md#delete_pipeline_version) | **DELETE** /apis/v1beta1/pipeline_versions/{version_id} | Deletes a pipeline version by pipeline version ID. If the deleted pipeline version is the default pipeline version, the pipeline's default version changes to the pipeline's most recent pipeline version. If there are no remaining pipeline versions, the pipeline will have no default version. Examines the run_service_api.ipynb notebook to learn more about creating a run using a pipeline version (https://github.com/kubeflow/pipelines/blob/master/tools/benchmarks/run_service_api.ipynb).
|
||||
*PipelineServiceApi* | [**get_pipeline**](docs/PipelineServiceApi.md#get_pipeline) | **GET** /apis/v1beta1/pipelines/{id} | Finds a specific pipeline by ID.
|
||||
*PipelineServiceApi* | [**get_pipeline_version**](docs/PipelineServiceApi.md#get_pipeline_version) | **GET** /apis/v1beta1/pipeline_versions/{version_id} | Gets a pipeline version by pipeline version ID.
|
||||
*PipelineServiceApi* | [**get_pipeline_version_template**](docs/PipelineServiceApi.md#get_pipeline_version_template) | **GET** /apis/v1beta1/pipeline_versions/{version_id}/templates | Returns a YAML template that contains the specified pipeline version's description, parameters and metadata.
|
||||
*PipelineServiceApi* | [**get_template**](docs/PipelineServiceApi.md#get_template) | **GET** /apis/v1beta1/pipelines/{id}/templates | Returns a single YAML template that contains the description, parameters, and metadata associated with the pipeline provided.
|
||||
*PipelineServiceApi* | [**list_pipeline_versions**](docs/PipelineServiceApi.md#list_pipeline_versions) | **GET** /apis/v1beta1/pipeline_versions | Lists all pipeline versions of a given pipeline.
|
||||
*PipelineServiceApi* | [**list_pipelines**](docs/PipelineServiceApi.md#list_pipelines) | **GET** /apis/v1beta1/pipelines | Finds all pipelines.
|
||||
*PipelineUploadServiceApi* | [**upload_pipeline**](docs/PipelineUploadServiceApi.md#upload_pipeline) | **POST** /apis/v1beta1/pipelines/upload |
|
||||
*PipelineUploadServiceApi* | [**upload_pipeline_version**](docs/PipelineUploadServiceApi.md#upload_pipeline_version) | **POST** /apis/v1beta1/pipelines/upload_version |
|
||||
*RunServiceApi* | [**archive_run**](docs/RunServiceApi.md#archive_run) | **POST** /apis/v1beta1/runs/{id}:archive | Archives a run.
|
||||
*RunServiceApi* | [**create_run**](docs/RunServiceApi.md#create_run) | **POST** /apis/v1beta1/runs | Creates a new run.
|
||||
*RunServiceApi* | [**delete_run**](docs/RunServiceApi.md#delete_run) | **DELETE** /apis/v1beta1/runs/{id} | Deletes a run.
|
||||
*RunServiceApi* | [**get_run**](docs/RunServiceApi.md#get_run) | **GET** /apis/v1beta1/runs/{run_id} | Finds a specific run by ID.
|
||||
*RunServiceApi* | [**list_runs**](docs/RunServiceApi.md#list_runs) | **GET** /apis/v1beta1/runs | Finds all runs.
|
||||
*RunServiceApi* | [**read_artifact**](docs/RunServiceApi.md#read_artifact) | **GET** /apis/v1beta1/runs/{run_id}/nodes/{node_id}/artifacts/{artifact_name}:read | Finds a run's artifact data.
|
||||
*RunServiceApi* | [**report_run_metrics**](docs/RunServiceApi.md#report_run_metrics) | **POST** /apis/v1beta1/runs/{run_id}:reportMetrics | ReportRunMetrics reports metrics of a run. Each metric is reported in its own transaction, so this API accepts partial failures. Metric can be uniquely identified by (run_id, node_id, name). Duplicate reporting will be ignored by the API. First reporting wins.
|
||||
*RunServiceApi* | [**retry_run**](docs/RunServiceApi.md#retry_run) | **POST** /apis/v1beta1/runs/{run_id}/retry | Re-initiates a failed or terminated run.
|
||||
*RunServiceApi* | [**terminate_run**](docs/RunServiceApi.md#terminate_run) | **POST** /apis/v1beta1/runs/{run_id}/terminate | Terminates an active run.
|
||||
*RunServiceApi* | [**unarchive_run**](docs/RunServiceApi.md#unarchive_run) | **POST** /apis/v1beta1/runs/{id}:unarchive | Restores an archived run.
|
||||
|
||||
|
||||
## Documentation For Models
|
||||
|
||||
- [ApiCronSchedule](docs/ApiCronSchedule.md)
|
||||
- [ApiExperiment](docs/ApiExperiment.md)
|
||||
- [ApiGetTemplateResponse](docs/ApiGetTemplateResponse.md)
|
||||
- [ApiJob](docs/ApiJob.md)
|
||||
- [ApiListExperimentsResponse](docs/ApiListExperimentsResponse.md)
|
||||
- [ApiListJobsResponse](docs/ApiListJobsResponse.md)
|
||||
- [ApiListPipelineVersionsResponse](docs/ApiListPipelineVersionsResponse.md)
|
||||
- [ApiListPipelinesResponse](docs/ApiListPipelinesResponse.md)
|
||||
- [ApiListRunsResponse](docs/ApiListRunsResponse.md)
|
||||
- [ApiParameter](docs/ApiParameter.md)
|
||||
- [ApiPeriodicSchedule](docs/ApiPeriodicSchedule.md)
|
||||
- [ApiPipeline](docs/ApiPipeline.md)
|
||||
- [ApiPipelineRuntime](docs/ApiPipelineRuntime.md)
|
||||
- [ApiPipelineSpec](docs/ApiPipelineSpec.md)
|
||||
- [ApiPipelineVersion](docs/ApiPipelineVersion.md)
|
||||
- [ApiReadArtifactResponse](docs/ApiReadArtifactResponse.md)
|
||||
- [ApiRelationship](docs/ApiRelationship.md)
|
||||
- [ApiReportRunMetricsRequest](docs/ApiReportRunMetricsRequest.md)
|
||||
- [ApiReportRunMetricsResponse](docs/ApiReportRunMetricsResponse.md)
|
||||
- [ApiResourceKey](docs/ApiResourceKey.md)
|
||||
- [ApiResourceReference](docs/ApiResourceReference.md)
|
||||
- [ApiResourceType](docs/ApiResourceType.md)
|
||||
- [ApiRun](docs/ApiRun.md)
|
||||
- [ApiRunDetail](docs/ApiRunDetail.md)
|
||||
- [ApiRunMetric](docs/ApiRunMetric.md)
|
||||
- [ApiStatus](docs/ApiStatus.md)
|
||||
- [ApiTrigger](docs/ApiTrigger.md)
|
||||
- [ApiUrl](docs/ApiUrl.md)
|
||||
- [ExperimentStorageState](docs/ExperimentStorageState.md)
|
||||
- [JobMode](docs/JobMode.md)
|
||||
- [ProtobufAny](docs/ProtobufAny.md)
|
||||
- [ReportRunMetricsResponseReportRunMetricResult](docs/ReportRunMetricsResponseReportRunMetricResult.md)
|
||||
- [ReportRunMetricsResponseReportRunMetricResultStatus](docs/ReportRunMetricsResponseReportRunMetricResultStatus.md)
|
||||
- [RunMetricFormat](docs/RunMetricFormat.md)
|
||||
- [RunStorageState](docs/RunStorageState.md)
|
||||
|
||||
|
||||
## Documentation For Authorization
|
||||
|
||||
|
||||
## Bearer
|
||||
|
||||
- **Type**: API key
|
||||
- **API key parameter name**: authorization
|
||||
- **Location**: HTTP header
|
||||
|
||||
|
||||
## Author
|
||||
|
||||
kubeflow-pipelines@google.com
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
# ApiCronSchedule
|
||||
|
||||
## Properties
|
||||
Name | Type | Description | Notes
|
||||
------------ | ------------- | ------------- | -------------
|
||||
**start_time** | **datetime** | | [optional]
|
||||
**end_time** | **datetime** | | [optional]
|
||||
**cron** | **str** | | [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)
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,15 @@
|
|||
# ApiExperiment
|
||||
|
||||
## Properties
|
||||
Name | Type | Description | Notes
|
||||
------------ | ------------- | ------------- | -------------
|
||||
**id** | **str** | Output. Unique experiment ID. Generated by API server. | [optional]
|
||||
**name** | **str** | Required input field. Unique experiment name provided by user. | [optional]
|
||||
**description** | **str** | | [optional]
|
||||
**created_at** | **datetime** | Output. The time that the experiment created. | [optional]
|
||||
**resource_references** | [**list[ApiResourceReference]**](ApiResourceReference.md) | Optional input field. Specify which resource this run belongs to. For Experiment, the only valid resource reference is a single Namespace. | [optional]
|
||||
**storage_state** | [**ExperimentStorageState**](ExperimentStorageState.md) | | [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)
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,10 @@
|
|||
# ApiGetTemplateResponse
|
||||
|
||||
## Properties
|
||||
Name | Type | Description | Notes
|
||||
------------ | ------------- | ------------- | -------------
|
||||
**template** | **str** | The template of the pipeline specified in a GetTemplate request, or of a pipeline version specified in a GetPipelinesVersionTemplate request. | [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)
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,24 @@
|
|||
# ApiJob
|
||||
|
||||
## Properties
|
||||
Name | Type | Description | Notes
|
||||
------------ | ------------- | ------------- | -------------
|
||||
**id** | **str** | Output. Unique run ID. Generated by API server. | [optional]
|
||||
**name** | **str** | Required input field. Job name provided by user. Not unique. | [optional]
|
||||
**description** | **str** | | [optional]
|
||||
**pipeline_spec** | [**ApiPipelineSpec**](ApiPipelineSpec.md) | | [optional]
|
||||
**resource_references** | [**list[ApiResourceReference]**](ApiResourceReference.md) | Optional input field. Specify which resource this job belongs to. | [optional]
|
||||
**service_account** | **str** | Optional input field. Specify which Kubernetes service account this job uses. | [optional]
|
||||
**max_concurrency** | **str** | | [optional]
|
||||
**trigger** | [**ApiTrigger**](ApiTrigger.md) | | [optional]
|
||||
**mode** | [**JobMode**](JobMode.md) | | [optional]
|
||||
**created_at** | **datetime** | Output. The time this job is created. | [optional]
|
||||
**updated_at** | **datetime** | Output. The last time this job is updated. | [optional]
|
||||
**status** | **str** | | [optional]
|
||||
**error** | **str** | In case any error happens retrieving a job field, only job ID and the error message is returned. Client has the flexibility of choosing how to handle error. This is especially useful during listing call. | [optional]
|
||||
**enabled** | **bool** | Input. Whether the job is enabled or not. | [optional]
|
||||
**no_catchup** | **bool** | Optional input field. Whether the job should catch up if behind schedule. If true, the job will only schedule the latest interval if behind schedule. If false, the job will catch up on each past interval. | [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)
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
# ApiListExperimentsResponse
|
||||
|
||||
## Properties
|
||||
Name | Type | Description | Notes
|
||||
------------ | ------------- | ------------- | -------------
|
||||
**experiments** | [**list[ApiExperiment]**](ApiExperiment.md) | A list of experiments returned. | [optional]
|
||||
**total_size** | **int** | The total number of experiments for the given query. | [optional]
|
||||
**next_page_token** | **str** | The token to list the next page of experiments. | [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)
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
# ApiListJobsResponse
|
||||
|
||||
## Properties
|
||||
Name | Type | Description | Notes
|
||||
------------ | ------------- | ------------- | -------------
|
||||
**jobs** | [**list[ApiJob]**](ApiJob.md) | A list of jobs returned. | [optional]
|
||||
**total_size** | **int** | The total number of jobs for the given query. | [optional]
|
||||
**next_page_token** | **str** | The token to list the next page of jobs. | [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)
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
# ApiListPipelineVersionsResponse
|
||||
|
||||
## Properties
|
||||
Name | Type | Description | Notes
|
||||
------------ | ------------- | ------------- | -------------
|
||||
**versions** | [**list[ApiPipelineVersion]**](ApiPipelineVersion.md) | | [optional]
|
||||
**next_page_token** | **str** | The token to list the next page of pipeline versions. | [optional]
|
||||
**total_size** | **int** | The total number of pipeline versions for the given query. | [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)
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
# ApiListPipelinesResponse
|
||||
|
||||
## Properties
|
||||
Name | Type | Description | Notes
|
||||
------------ | ------------- | ------------- | -------------
|
||||
**pipelines** | [**list[ApiPipeline]**](ApiPipeline.md) | | [optional]
|
||||
**total_size** | **int** | The total number of pipelines for the given query. | [optional]
|
||||
**next_page_token** | **str** | The token to list the next page of pipelines. | [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)
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
# ApiListRunsResponse
|
||||
|
||||
## Properties
|
||||
Name | Type | Description | Notes
|
||||
------------ | ------------- | ------------- | -------------
|
||||
**runs** | [**list[ApiRun]**](ApiRun.md) | | [optional]
|
||||
**total_size** | **int** | The total number of runs for the given query. | [optional]
|
||||
**next_page_token** | **str** | The token to list the next page of runs. | [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)
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,11 @@
|
|||
# ApiParameter
|
||||
|
||||
## Properties
|
||||
Name | Type | Description | Notes
|
||||
------------ | ------------- | ------------- | -------------
|
||||
**name** | **str** | | [optional]
|
||||
**value** | **str** | | [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)
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
# ApiPeriodicSchedule
|
||||
|
||||
## Properties
|
||||
Name | Type | Description | Notes
|
||||
------------ | ------------- | ------------- | -------------
|
||||
**start_time** | **datetime** | | [optional]
|
||||
**end_time** | **datetime** | | [optional]
|
||||
**interval_second** | **str** | | [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)
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,17 @@
|
|||
# ApiPipeline
|
||||
|
||||
## Properties
|
||||
Name | Type | Description | Notes
|
||||
------------ | ------------- | ------------- | -------------
|
||||
**id** | **str** | Output. Unique pipeline ID. Generated by API server. | [optional]
|
||||
**created_at** | **datetime** | Output. The time this pipeline is created. | [optional]
|
||||
**name** | **str** | Optional input field. Pipeline name provided by user. If not specified, file name is used as pipeline name. | [optional]
|
||||
**description** | **str** | Optional input field. Describing the purpose of the job. | [optional]
|
||||
**parameters** | [**list[ApiParameter]**](ApiParameter.md) | Output. The input parameters for this pipeline. TODO(jingzhang36): replace this parameters field with the parameters field inside PipelineVersion when all usage of the former has been changed to use the latter. | [optional]
|
||||
**url** | [**ApiUrl**](ApiUrl.md) | | [optional]
|
||||
**error** | **str** | In case any error happens retrieving a pipeline field, only pipeline ID and the error message is returned. Client has the flexibility of choosing how to handle error. This is especially useful during listing call. | [optional]
|
||||
**default_version** | [**ApiPipelineVersion**](ApiPipelineVersion.md) | | [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)
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,11 @@
|
|||
# ApiPipelineRuntime
|
||||
|
||||
## Properties
|
||||
Name | Type | Description | Notes
|
||||
------------ | ------------- | ------------- | -------------
|
||||
**pipeline_manifest** | **str** | Output. The runtime JSON manifest of the pipeline, including the status of pipeline steps and fields need for UI visualization etc. | [optional]
|
||||
**workflow_manifest** | **str** | Output. The runtime JSON manifest of the argo workflow. This is deprecated after pipeline_runtime_manifest is in use. | [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)
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,14 @@
|
|||
# ApiPipelineSpec
|
||||
|
||||
## Properties
|
||||
Name | Type | Description | Notes
|
||||
------------ | ------------- | ------------- | -------------
|
||||
**pipeline_id** | **str** | Optional input field. The ID of the pipeline user uploaded before. | [optional]
|
||||
**pipeline_name** | **str** | Optional output field. The name of the pipeline. Not empty if the pipeline id is not empty. | [optional]
|
||||
**workflow_manifest** | **str** | Optional input field. The marshalled raw argo JSON workflow. This will be deprecated when pipeline_manifest is in use. | [optional]
|
||||
**pipeline_manifest** | **str** | Optional input field. The raw pipeline JSON spec. | [optional]
|
||||
**parameters** | [**list[ApiParameter]**](ApiParameter.md) | The parameter user provide to inject to the pipeline JSON. If a default value of a parameter exist in the JSON, the value user provided here will replace. | [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)
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,16 @@
|
|||
# ApiPipelineVersion
|
||||
|
||||
## Properties
|
||||
Name | Type | Description | Notes
|
||||
------------ | ------------- | ------------- | -------------
|
||||
**id** | **str** | Output. Unique version ID. Generated by API server. | [optional]
|
||||
**name** | **str** | Optional input field. Version name provided by user. | [optional]
|
||||
**created_at** | **datetime** | Output. The time this pipeline version is created. | [optional]
|
||||
**parameters** | [**list[ApiParameter]**](ApiParameter.md) | Output. The input parameters for this pipeline. | [optional]
|
||||
**code_source_url** | **str** | Input. Optional. Pipeline version code source. | [optional]
|
||||
**package_url** | [**ApiUrl**](ApiUrl.md) | | [optional]
|
||||
**resource_references** | [**list[ApiResourceReference]**](ApiResourceReference.md) | Input. Required. E.g., specify which pipeline this pipeline version belongs to. | [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)
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,10 @@
|
|||
# ApiReadArtifactResponse
|
||||
|
||||
## Properties
|
||||
Name | Type | Description | Notes
|
||||
------------ | ------------- | ------------- | -------------
|
||||
**data** | **str** | The bytes of the artifact content. | [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)
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,9 @@
|
|||
# ApiRelationship
|
||||
|
||||
## Properties
|
||||
Name | Type | Description | Notes
|
||||
------------ | ------------- | ------------- | -------------
|
||||
|
||||
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,11 @@
|
|||
# ApiReportRunMetricsRequest
|
||||
|
||||
## Properties
|
||||
Name | Type | Description | Notes
|
||||
------------ | ------------- | ------------- | -------------
|
||||
**run_id** | **str** | Required. The parent run ID of the metric. | [optional]
|
||||
**metrics** | [**list[ApiRunMetric]**](ApiRunMetric.md) | List of metrics to report. | [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)
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,10 @@
|
|||
# ApiReportRunMetricsResponse
|
||||
|
||||
## Properties
|
||||
Name | Type | Description | Notes
|
||||
------------ | ------------- | ------------- | -------------
|
||||
**results** | [**list[ReportRunMetricsResponseReportRunMetricResult]**](ReportRunMetricsResponseReportRunMetricResult.md) | | [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)
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,11 @@
|
|||
# ApiResourceKey
|
||||
|
||||
## Properties
|
||||
Name | Type | Description | Notes
|
||||
------------ | ------------- | ------------- | -------------
|
||||
**type** | [**ApiResourceType**](ApiResourceType.md) | | [optional]
|
||||
**id** | **str** | The ID of the resource that referred to. | [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)
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
# ApiResourceReference
|
||||
|
||||
## Properties
|
||||
Name | Type | Description | Notes
|
||||
------------ | ------------- | ------------- | -------------
|
||||
**key** | [**ApiResourceKey**](ApiResourceKey.md) | | [optional]
|
||||
**name** | **str** | The name of the resource that referred to. | [optional]
|
||||
**relationship** | [**ApiRelationship**](ApiRelationship.md) | | [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)
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,9 @@
|
|||
# ApiResourceType
|
||||
|
||||
## Properties
|
||||
Name | Type | Description | Notes
|
||||
------------ | ------------- | ------------- | -------------
|
||||
|
||||
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,22 @@
|
|||
# ApiRun
|
||||
|
||||
## Properties
|
||||
Name | Type | Description | Notes
|
||||
------------ | ------------- | ------------- | -------------
|
||||
**id** | **str** | Output. Unique run ID. Generated by API server. | [optional]
|
||||
**name** | **str** | Required input field. Name provided by user, or auto generated if run is created by scheduled job. Not unique. | [optional]
|
||||
**storage_state** | [**RunStorageState**](RunStorageState.md) | | [optional]
|
||||
**description** | **str** | | [optional]
|
||||
**pipeline_spec** | [**ApiPipelineSpec**](ApiPipelineSpec.md) | | [optional]
|
||||
**resource_references** | [**list[ApiResourceReference]**](ApiResourceReference.md) | Optional input field. Specify which resource this run belongs to. When creating a run from a particular pipeline version, the pipeline version can be specified here. | [optional]
|
||||
**service_account** | **str** | Optional input field. Specify which Kubernetes service account this run uses. | [optional]
|
||||
**created_at** | **datetime** | Output. The time that the run created. | [optional]
|
||||
**scheduled_at** | **datetime** | Output. When this run is scheduled to run. This could be different from created_at. For example, if a run is from a backfilling job that was supposed to run 2 month ago, the scheduled_at is 2 month ago, v.s. created_at is the current time. | [optional]
|
||||
**finished_at** | **datetime** | Output. The time this run is finished. | [optional]
|
||||
**status** | **str** | | [optional]
|
||||
**error** | **str** | In case any error happens retrieving a run field, only run ID and the error message is returned. Client has the flexibility of choosing how to handle error. This is especially useful during listing call. | [optional]
|
||||
**metrics** | [**list[ApiRunMetric]**](ApiRunMetric.md) | Output. The metrics of the run. The metrics are reported by ReportMetrics API. | [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)
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,11 @@
|
|||
# ApiRunDetail
|
||||
|
||||
## Properties
|
||||
Name | Type | Description | Notes
|
||||
------------ | ------------- | ------------- | -------------
|
||||
**run** | [**ApiRun**](ApiRun.md) | | [optional]
|
||||
**pipeline_runtime** | [**ApiPipelineRuntime**](ApiPipelineRuntime.md) | | [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)
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,13 @@
|
|||
# ApiRunMetric
|
||||
|
||||
## Properties
|
||||
Name | Type | Description | Notes
|
||||
------------ | ------------- | ------------- | -------------
|
||||
**name** | **str** | Required. The user defined name of the metric. It must between 1 and 63 characters long and must conform to the following regular expression: `[a-z]([-a-z0-9]*[a-z0-9])?`. | [optional]
|
||||
**node_id** | **str** | Required. The runtime node ID which reports the metric. The node ID can be found in the RunDetail.workflow.Status. Metric with same (node_id, name) are considerd as duplicate. Only the first reporting will be recorded. Max length is 128. | [optional]
|
||||
**number_value** | **float** | The number value of the metric. | [optional]
|
||||
**format** | [**RunMetricFormat**](RunMetricFormat.md) | | [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)
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
# ApiStatus
|
||||
|
||||
## Properties
|
||||
Name | Type | Description | Notes
|
||||
------------ | ------------- | ------------- | -------------
|
||||
**error** | **str** | | [optional]
|
||||
**code** | **int** | | [optional]
|
||||
**details** | [**list[ProtobufAny]**](ProtobufAny.md) | | [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)
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
# ApiTrigger
|
||||
|
||||
Trigger defines what starts a pipeline run.
|
||||
## Properties
|
||||
Name | Type | Description | Notes
|
||||
------------ | ------------- | ------------- | -------------
|
||||
**cron_schedule** | [**ApiCronSchedule**](ApiCronSchedule.md) | | [optional]
|
||||
**periodic_schedule** | [**ApiPeriodicSchedule**](ApiPeriodicSchedule.md) | | [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)
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,10 @@
|
|||
# ApiUrl
|
||||
|
||||
## Properties
|
||||
Name | Type | Description | Notes
|
||||
------------ | ------------- | ------------- | -------------
|
||||
**pipeline_url** | **str** | URL of the pipeline definition or the pipeline version definition. | [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)
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,480 @@
|
|||
# kfp_server_api.ExperimentServiceApi
|
||||
|
||||
All URIs are relative to *http://localhost*
|
||||
|
||||
Method | HTTP request | Description
|
||||
------------- | ------------- | -------------
|
||||
[**archive_experiment**](ExperimentServiceApi.md#archive_experiment) | **POST** /apis/v1beta1/experiments/{id}:archive | Archives an experiment and the experiment's runs and jobs.
|
||||
[**create_experiment**](ExperimentServiceApi.md#create_experiment) | **POST** /apis/v1beta1/experiments | Creates a new experiment.
|
||||
[**delete_experiment**](ExperimentServiceApi.md#delete_experiment) | **DELETE** /apis/v1beta1/experiments/{id} | Deletes an experiment without deleting the experiment's runs and jobs. To avoid unexpected behaviors, delete an experiment's runs and jobs before deleting the experiment.
|
||||
[**get_experiment**](ExperimentServiceApi.md#get_experiment) | **GET** /apis/v1beta1/experiments/{id} | Finds a specific experiment by ID.
|
||||
[**list_experiment**](ExperimentServiceApi.md#list_experiment) | **GET** /apis/v1beta1/experiments | Finds all experiments. Supports pagination, and sorting on certain fields.
|
||||
[**unarchive_experiment**](ExperimentServiceApi.md#unarchive_experiment) | **POST** /apis/v1beta1/experiments/{id}:unarchive | Restores an archived experiment. The experiment's archived runs and jobs will stay archived.
|
||||
|
||||
|
||||
# **archive_experiment**
|
||||
> object archive_experiment(id)
|
||||
|
||||
Archives an experiment and the experiment's runs and jobs.
|
||||
|
||||
### Example
|
||||
|
||||
* Api Key Authentication (Bearer):
|
||||
```python
|
||||
from __future__ import print_function
|
||||
import time
|
||||
import kfp_server_api
|
||||
from kfp_server_api.rest import ApiException
|
||||
from pprint import pprint
|
||||
# Defining the host is optional and defaults to http://localhost
|
||||
# See configuration.py for a list of all supported configuration parameters.
|
||||
configuration = kfp_server_api.Configuration(
|
||||
host = "http://localhost"
|
||||
)
|
||||
|
||||
# The client must configure the authentication and authorization parameters
|
||||
# in accordance with the API server security policy.
|
||||
# Examples for each auth method are provided below, use the example that
|
||||
# satisfies your auth use case.
|
||||
|
||||
# Configure API key authorization: Bearer
|
||||
configuration = kfp_server_api.Configuration(
|
||||
host = "http://localhost",
|
||||
api_key = {
|
||||
'authorization': 'YOUR_API_KEY'
|
||||
}
|
||||
)
|
||||
# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
|
||||
# configuration.api_key_prefix['authorization'] = 'Bearer'
|
||||
|
||||
# Enter a context with an instance of the API client
|
||||
with kfp_server_api.ApiClient(configuration) as api_client:
|
||||
# Create an instance of the API class
|
||||
api_instance = kfp_server_api.ExperimentServiceApi(api_client)
|
||||
id = 'id_example' # str | The ID of the experiment to be archived.
|
||||
|
||||
try:
|
||||
# Archives an experiment and the experiment's runs and jobs.
|
||||
api_response = api_instance.archive_experiment(id)
|
||||
pprint(api_response)
|
||||
except ApiException as e:
|
||||
print("Exception when calling ExperimentServiceApi->archive_experiment: %s\n" % e)
|
||||
```
|
||||
|
||||
### Parameters
|
||||
|
||||
Name | Type | Description | Notes
|
||||
------------- | ------------- | ------------- | -------------
|
||||
**id** | **str**| The ID of the experiment to be archived. |
|
||||
|
||||
### Return type
|
||||
|
||||
**object**
|
||||
|
||||
### Authorization
|
||||
|
||||
[Bearer](../README.md#Bearer)
|
||||
|
||||
### HTTP request headers
|
||||
|
||||
- **Content-Type**: Not defined
|
||||
- **Accept**: application/json
|
||||
|
||||
### HTTP response details
|
||||
| Status code | Description | Response headers |
|
||||
|-------------|-------------|------------------|
|
||||
**200** | A successful response. | - |
|
||||
**0** | | - |
|
||||
|
||||
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
|
||||
|
||||
# **create_experiment**
|
||||
> ApiExperiment create_experiment(body)
|
||||
|
||||
Creates a new experiment.
|
||||
|
||||
### Example
|
||||
|
||||
* Api Key Authentication (Bearer):
|
||||
```python
|
||||
from __future__ import print_function
|
||||
import time
|
||||
import kfp_server_api
|
||||
from kfp_server_api.rest import ApiException
|
||||
from pprint import pprint
|
||||
# Defining the host is optional and defaults to http://localhost
|
||||
# See configuration.py for a list of all supported configuration parameters.
|
||||
configuration = kfp_server_api.Configuration(
|
||||
host = "http://localhost"
|
||||
)
|
||||
|
||||
# The client must configure the authentication and authorization parameters
|
||||
# in accordance with the API server security policy.
|
||||
# Examples for each auth method are provided below, use the example that
|
||||
# satisfies your auth use case.
|
||||
|
||||
# Configure API key authorization: Bearer
|
||||
configuration = kfp_server_api.Configuration(
|
||||
host = "http://localhost",
|
||||
api_key = {
|
||||
'authorization': 'YOUR_API_KEY'
|
||||
}
|
||||
)
|
||||
# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
|
||||
# configuration.api_key_prefix['authorization'] = 'Bearer'
|
||||
|
||||
# Enter a context with an instance of the API client
|
||||
with kfp_server_api.ApiClient(configuration) as api_client:
|
||||
# Create an instance of the API class
|
||||
api_instance = kfp_server_api.ExperimentServiceApi(api_client)
|
||||
body = kfp_server_api.ApiExperiment() # ApiExperiment | The experiment to be created.
|
||||
|
||||
try:
|
||||
# Creates a new experiment.
|
||||
api_response = api_instance.create_experiment(body)
|
||||
pprint(api_response)
|
||||
except ApiException as e:
|
||||
print("Exception when calling ExperimentServiceApi->create_experiment: %s\n" % e)
|
||||
```
|
||||
|
||||
### Parameters
|
||||
|
||||
Name | Type | Description | Notes
|
||||
------------- | ------------- | ------------- | -------------
|
||||
**body** | [**ApiExperiment**](ApiExperiment.md)| The experiment to be created. |
|
||||
|
||||
### Return type
|
||||
|
||||
[**ApiExperiment**](ApiExperiment.md)
|
||||
|
||||
### Authorization
|
||||
|
||||
[Bearer](../README.md#Bearer)
|
||||
|
||||
### HTTP request headers
|
||||
|
||||
- **Content-Type**: application/json
|
||||
- **Accept**: application/json
|
||||
|
||||
### HTTP response details
|
||||
| Status code | Description | Response headers |
|
||||
|-------------|-------------|------------------|
|
||||
**200** | A successful response. | - |
|
||||
**0** | | - |
|
||||
|
||||
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
|
||||
|
||||
# **delete_experiment**
|
||||
> object delete_experiment(id)
|
||||
|
||||
Deletes an experiment without deleting the experiment's runs and jobs. To avoid unexpected behaviors, delete an experiment's runs and jobs before deleting the experiment.
|
||||
|
||||
### Example
|
||||
|
||||
* Api Key Authentication (Bearer):
|
||||
```python
|
||||
from __future__ import print_function
|
||||
import time
|
||||
import kfp_server_api
|
||||
from kfp_server_api.rest import ApiException
|
||||
from pprint import pprint
|
||||
# Defining the host is optional and defaults to http://localhost
|
||||
# See configuration.py for a list of all supported configuration parameters.
|
||||
configuration = kfp_server_api.Configuration(
|
||||
host = "http://localhost"
|
||||
)
|
||||
|
||||
# The client must configure the authentication and authorization parameters
|
||||
# in accordance with the API server security policy.
|
||||
# Examples for each auth method are provided below, use the example that
|
||||
# satisfies your auth use case.
|
||||
|
||||
# Configure API key authorization: Bearer
|
||||
configuration = kfp_server_api.Configuration(
|
||||
host = "http://localhost",
|
||||
api_key = {
|
||||
'authorization': 'YOUR_API_KEY'
|
||||
}
|
||||
)
|
||||
# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
|
||||
# configuration.api_key_prefix['authorization'] = 'Bearer'
|
||||
|
||||
# Enter a context with an instance of the API client
|
||||
with kfp_server_api.ApiClient(configuration) as api_client:
|
||||
# Create an instance of the API class
|
||||
api_instance = kfp_server_api.ExperimentServiceApi(api_client)
|
||||
id = 'id_example' # str | The ID of the experiment to be deleted.
|
||||
|
||||
try:
|
||||
# Deletes an experiment without deleting the experiment's runs and jobs. To avoid unexpected behaviors, delete an experiment's runs and jobs before deleting the experiment.
|
||||
api_response = api_instance.delete_experiment(id)
|
||||
pprint(api_response)
|
||||
except ApiException as e:
|
||||
print("Exception when calling ExperimentServiceApi->delete_experiment: %s\n" % e)
|
||||
```
|
||||
|
||||
### Parameters
|
||||
|
||||
Name | Type | Description | Notes
|
||||
------------- | ------------- | ------------- | -------------
|
||||
**id** | **str**| The ID of the experiment to be deleted. |
|
||||
|
||||
### Return type
|
||||
|
||||
**object**
|
||||
|
||||
### Authorization
|
||||
|
||||
[Bearer](../README.md#Bearer)
|
||||
|
||||
### HTTP request headers
|
||||
|
||||
- **Content-Type**: Not defined
|
||||
- **Accept**: application/json
|
||||
|
||||
### HTTP response details
|
||||
| Status code | Description | Response headers |
|
||||
|-------------|-------------|------------------|
|
||||
**200** | A successful response. | - |
|
||||
**0** | | - |
|
||||
|
||||
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
|
||||
|
||||
# **get_experiment**
|
||||
> ApiExperiment get_experiment(id)
|
||||
|
||||
Finds a specific experiment by ID.
|
||||
|
||||
### Example
|
||||
|
||||
* Api Key Authentication (Bearer):
|
||||
```python
|
||||
from __future__ import print_function
|
||||
import time
|
||||
import kfp_server_api
|
||||
from kfp_server_api.rest import ApiException
|
||||
from pprint import pprint
|
||||
# Defining the host is optional and defaults to http://localhost
|
||||
# See configuration.py for a list of all supported configuration parameters.
|
||||
configuration = kfp_server_api.Configuration(
|
||||
host = "http://localhost"
|
||||
)
|
||||
|
||||
# The client must configure the authentication and authorization parameters
|
||||
# in accordance with the API server security policy.
|
||||
# Examples for each auth method are provided below, use the example that
|
||||
# satisfies your auth use case.
|
||||
|
||||
# Configure API key authorization: Bearer
|
||||
configuration = kfp_server_api.Configuration(
|
||||
host = "http://localhost",
|
||||
api_key = {
|
||||
'authorization': 'YOUR_API_KEY'
|
||||
}
|
||||
)
|
||||
# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
|
||||
# configuration.api_key_prefix['authorization'] = 'Bearer'
|
||||
|
||||
# Enter a context with an instance of the API client
|
||||
with kfp_server_api.ApiClient(configuration) as api_client:
|
||||
# Create an instance of the API class
|
||||
api_instance = kfp_server_api.ExperimentServiceApi(api_client)
|
||||
id = 'id_example' # str | The ID of the experiment to be retrieved.
|
||||
|
||||
try:
|
||||
# Finds a specific experiment by ID.
|
||||
api_response = api_instance.get_experiment(id)
|
||||
pprint(api_response)
|
||||
except ApiException as e:
|
||||
print("Exception when calling ExperimentServiceApi->get_experiment: %s\n" % e)
|
||||
```
|
||||
|
||||
### Parameters
|
||||
|
||||
Name | Type | Description | Notes
|
||||
------------- | ------------- | ------------- | -------------
|
||||
**id** | **str**| The ID of the experiment to be retrieved. |
|
||||
|
||||
### Return type
|
||||
|
||||
[**ApiExperiment**](ApiExperiment.md)
|
||||
|
||||
### Authorization
|
||||
|
||||
[Bearer](../README.md#Bearer)
|
||||
|
||||
### HTTP request headers
|
||||
|
||||
- **Content-Type**: Not defined
|
||||
- **Accept**: application/json
|
||||
|
||||
### HTTP response details
|
||||
| Status code | Description | Response headers |
|
||||
|-------------|-------------|------------------|
|
||||
**200** | A successful response. | - |
|
||||
**0** | | - |
|
||||
|
||||
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
|
||||
|
||||
# **list_experiment**
|
||||
> ApiListExperimentsResponse list_experiment(page_token=page_token, page_size=page_size, sort_by=sort_by, filter=filter, resource_reference_key_type=resource_reference_key_type, resource_reference_key_id=resource_reference_key_id)
|
||||
|
||||
Finds all experiments. Supports pagination, and sorting on certain fields.
|
||||
|
||||
### Example
|
||||
|
||||
* Api Key Authentication (Bearer):
|
||||
```python
|
||||
from __future__ import print_function
|
||||
import time
|
||||
import kfp_server_api
|
||||
from kfp_server_api.rest import ApiException
|
||||
from pprint import pprint
|
||||
# Defining the host is optional and defaults to http://localhost
|
||||
# See configuration.py for a list of all supported configuration parameters.
|
||||
configuration = kfp_server_api.Configuration(
|
||||
host = "http://localhost"
|
||||
)
|
||||
|
||||
# The client must configure the authentication and authorization parameters
|
||||
# in accordance with the API server security policy.
|
||||
# Examples for each auth method are provided below, use the example that
|
||||
# satisfies your auth use case.
|
||||
|
||||
# Configure API key authorization: Bearer
|
||||
configuration = kfp_server_api.Configuration(
|
||||
host = "http://localhost",
|
||||
api_key = {
|
||||
'authorization': 'YOUR_API_KEY'
|
||||
}
|
||||
)
|
||||
# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
|
||||
# configuration.api_key_prefix['authorization'] = 'Bearer'
|
||||
|
||||
# Enter a context with an instance of the API client
|
||||
with kfp_server_api.ApiClient(configuration) as api_client:
|
||||
# Create an instance of the API class
|
||||
api_instance = kfp_server_api.ExperimentServiceApi(api_client)
|
||||
page_token = 'page_token_example' # str | A page token to request the next page of results. The token is acquried from the nextPageToken field of the response from the previous ListExperiment call or can be omitted when fetching the first page. (optional)
|
||||
page_size = 56 # int | The number of experiments to be listed per page. If there are more experiments than this number, the response message will contain a nextPageToken field you can use to fetch the next page. (optional)
|
||||
sort_by = 'sort_by_example' # str | Can be format of \"field_name\", \"field_name asc\" or \"field_name desc\" Ascending by default. (optional)
|
||||
filter = 'filter_example' # str | A url-encoded, JSON-serialized Filter protocol buffer (see [filter.proto](https://github.com/kubeflow/pipelines/ blob/master/backend/api/filter.proto)). (optional)
|
||||
resource_reference_key_type = 'UNKNOWN_RESOURCE_TYPE' # str | The type of the resource that referred to. (optional) (default to 'UNKNOWN_RESOURCE_TYPE')
|
||||
resource_reference_key_id = 'resource_reference_key_id_example' # str | The ID of the resource that referred to. (optional)
|
||||
|
||||
try:
|
||||
# Finds all experiments. Supports pagination, and sorting on certain fields.
|
||||
api_response = api_instance.list_experiment(page_token=page_token, page_size=page_size, sort_by=sort_by, filter=filter, resource_reference_key_type=resource_reference_key_type, resource_reference_key_id=resource_reference_key_id)
|
||||
pprint(api_response)
|
||||
except ApiException as e:
|
||||
print("Exception when calling ExperimentServiceApi->list_experiment: %s\n" % e)
|
||||
```
|
||||
|
||||
### Parameters
|
||||
|
||||
Name | Type | Description | Notes
|
||||
------------- | ------------- | ------------- | -------------
|
||||
**page_token** | **str**| A page token to request the next page of results. The token is acquried from the nextPageToken field of the response from the previous ListExperiment call or can be omitted when fetching the first page. | [optional]
|
||||
**page_size** | **int**| The number of experiments to be listed per page. If there are more experiments than this number, the response message will contain a nextPageToken field you can use to fetch the next page. | [optional]
|
||||
**sort_by** | **str**| Can be format of \"field_name\", \"field_name asc\" or \"field_name desc\" Ascending by default. | [optional]
|
||||
**filter** | **str**| A url-encoded, JSON-serialized Filter protocol buffer (see [filter.proto](https://github.com/kubeflow/pipelines/ blob/master/backend/api/filter.proto)). | [optional]
|
||||
**resource_reference_key_type** | **str**| The type of the resource that referred to. | [optional] [default to 'UNKNOWN_RESOURCE_TYPE']
|
||||
**resource_reference_key_id** | **str**| The ID of the resource that referred to. | [optional]
|
||||
|
||||
### Return type
|
||||
|
||||
[**ApiListExperimentsResponse**](ApiListExperimentsResponse.md)
|
||||
|
||||
### Authorization
|
||||
|
||||
[Bearer](../README.md#Bearer)
|
||||
|
||||
### HTTP request headers
|
||||
|
||||
- **Content-Type**: Not defined
|
||||
- **Accept**: application/json
|
||||
|
||||
### HTTP response details
|
||||
| Status code | Description | Response headers |
|
||||
|-------------|-------------|------------------|
|
||||
**200** | A successful response. | - |
|
||||
**0** | | - |
|
||||
|
||||
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
|
||||
|
||||
# **unarchive_experiment**
|
||||
> object unarchive_experiment(id)
|
||||
|
||||
Restores an archived experiment. The experiment's archived runs and jobs will stay archived.
|
||||
|
||||
### Example
|
||||
|
||||
* Api Key Authentication (Bearer):
|
||||
```python
|
||||
from __future__ import print_function
|
||||
import time
|
||||
import kfp_server_api
|
||||
from kfp_server_api.rest import ApiException
|
||||
from pprint import pprint
|
||||
# Defining the host is optional and defaults to http://localhost
|
||||
# See configuration.py for a list of all supported configuration parameters.
|
||||
configuration = kfp_server_api.Configuration(
|
||||
host = "http://localhost"
|
||||
)
|
||||
|
||||
# The client must configure the authentication and authorization parameters
|
||||
# in accordance with the API server security policy.
|
||||
# Examples for each auth method are provided below, use the example that
|
||||
# satisfies your auth use case.
|
||||
|
||||
# Configure API key authorization: Bearer
|
||||
configuration = kfp_server_api.Configuration(
|
||||
host = "http://localhost",
|
||||
api_key = {
|
||||
'authorization': 'YOUR_API_KEY'
|
||||
}
|
||||
)
|
||||
# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
|
||||
# configuration.api_key_prefix['authorization'] = 'Bearer'
|
||||
|
||||
# Enter a context with an instance of the API client
|
||||
with kfp_server_api.ApiClient(configuration) as api_client:
|
||||
# Create an instance of the API class
|
||||
api_instance = kfp_server_api.ExperimentServiceApi(api_client)
|
||||
id = 'id_example' # str | The ID of the experiment to be restored.
|
||||
|
||||
try:
|
||||
# Restores an archived experiment. The experiment's archived runs and jobs will stay archived.
|
||||
api_response = api_instance.unarchive_experiment(id)
|
||||
pprint(api_response)
|
||||
except ApiException as e:
|
||||
print("Exception when calling ExperimentServiceApi->unarchive_experiment: %s\n" % e)
|
||||
```
|
||||
|
||||
### Parameters
|
||||
|
||||
Name | Type | Description | Notes
|
||||
------------- | ------------- | ------------- | -------------
|
||||
**id** | **str**| The ID of the experiment to be restored. |
|
||||
|
||||
### Return type
|
||||
|
||||
**object**
|
||||
|
||||
### Authorization
|
||||
|
||||
[Bearer](../README.md#Bearer)
|
||||
|
||||
### HTTP request headers
|
||||
|
||||
- **Content-Type**: Not defined
|
||||
- **Accept**: application/json
|
||||
|
||||
### HTTP response details
|
||||
| Status code | Description | Response headers |
|
||||
|-------------|-------------|------------------|
|
||||
**200** | A successful response. | - |
|
||||
**0** | | - |
|
||||
|
||||
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
|
||||
|
||||
|
|
@ -0,0 +1,9 @@
|
|||
# ExperimentStorageState
|
||||
|
||||
## Properties
|
||||
Name | Type | Description | Notes
|
||||
------------ | ------------- | ------------- | -------------
|
||||
|
||||
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,10 @@
|
|||
# JobMode
|
||||
|
||||
Required input. - DISABLED: The job won't schedule any run if disabled.
|
||||
## Properties
|
||||
Name | Type | Description | Notes
|
||||
------------ | ------------- | ------------- | -------------
|
||||
|
||||
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,480 @@
|
|||
# kfp_server_api.JobServiceApi
|
||||
|
||||
All URIs are relative to *http://localhost*
|
||||
|
||||
Method | HTTP request | Description
|
||||
------------- | ------------- | -------------
|
||||
[**create_job**](JobServiceApi.md#create_job) | **POST** /apis/v1beta1/jobs | Creates a new job.
|
||||
[**delete_job**](JobServiceApi.md#delete_job) | **DELETE** /apis/v1beta1/jobs/{id} | Deletes a job.
|
||||
[**disable_job**](JobServiceApi.md#disable_job) | **POST** /apis/v1beta1/jobs/{id}/disable | Stops a job and all its associated runs. The job is not deleted.
|
||||
[**enable_job**](JobServiceApi.md#enable_job) | **POST** /apis/v1beta1/jobs/{id}/enable | Restarts a job that was previously stopped. All runs associated with the job will continue.
|
||||
[**get_job**](JobServiceApi.md#get_job) | **GET** /apis/v1beta1/jobs/{id} | Finds a specific job by ID.
|
||||
[**list_jobs**](JobServiceApi.md#list_jobs) | **GET** /apis/v1beta1/jobs | Finds all jobs.
|
||||
|
||||
|
||||
# **create_job**
|
||||
> ApiJob create_job(body)
|
||||
|
||||
Creates a new job.
|
||||
|
||||
### Example
|
||||
|
||||
* Api Key Authentication (Bearer):
|
||||
```python
|
||||
from __future__ import print_function
|
||||
import time
|
||||
import kfp_server_api
|
||||
from kfp_server_api.rest import ApiException
|
||||
from pprint import pprint
|
||||
# Defining the host is optional and defaults to http://localhost
|
||||
# See configuration.py for a list of all supported configuration parameters.
|
||||
configuration = kfp_server_api.Configuration(
|
||||
host = "http://localhost"
|
||||
)
|
||||
|
||||
# The client must configure the authentication and authorization parameters
|
||||
# in accordance with the API server security policy.
|
||||
# Examples for each auth method are provided below, use the example that
|
||||
# satisfies your auth use case.
|
||||
|
||||
# Configure API key authorization: Bearer
|
||||
configuration = kfp_server_api.Configuration(
|
||||
host = "http://localhost",
|
||||
api_key = {
|
||||
'authorization': 'YOUR_API_KEY'
|
||||
}
|
||||
)
|
||||
# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
|
||||
# configuration.api_key_prefix['authorization'] = 'Bearer'
|
||||
|
||||
# Enter a context with an instance of the API client
|
||||
with kfp_server_api.ApiClient(configuration) as api_client:
|
||||
# Create an instance of the API class
|
||||
api_instance = kfp_server_api.JobServiceApi(api_client)
|
||||
body = kfp_server_api.ApiJob() # ApiJob | The job to be created
|
||||
|
||||
try:
|
||||
# Creates a new job.
|
||||
api_response = api_instance.create_job(body)
|
||||
pprint(api_response)
|
||||
except ApiException as e:
|
||||
print("Exception when calling JobServiceApi->create_job: %s\n" % e)
|
||||
```
|
||||
|
||||
### Parameters
|
||||
|
||||
Name | Type | Description | Notes
|
||||
------------- | ------------- | ------------- | -------------
|
||||
**body** | [**ApiJob**](ApiJob.md)| The job to be created |
|
||||
|
||||
### Return type
|
||||
|
||||
[**ApiJob**](ApiJob.md)
|
||||
|
||||
### Authorization
|
||||
|
||||
[Bearer](../README.md#Bearer)
|
||||
|
||||
### HTTP request headers
|
||||
|
||||
- **Content-Type**: application/json
|
||||
- **Accept**: application/json
|
||||
|
||||
### HTTP response details
|
||||
| Status code | Description | Response headers |
|
||||
|-------------|-------------|------------------|
|
||||
**200** | A successful response. | - |
|
||||
**0** | | - |
|
||||
|
||||
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
|
||||
|
||||
# **delete_job**
|
||||
> object delete_job(id)
|
||||
|
||||
Deletes a job.
|
||||
|
||||
### Example
|
||||
|
||||
* Api Key Authentication (Bearer):
|
||||
```python
|
||||
from __future__ import print_function
|
||||
import time
|
||||
import kfp_server_api
|
||||
from kfp_server_api.rest import ApiException
|
||||
from pprint import pprint
|
||||
# Defining the host is optional and defaults to http://localhost
|
||||
# See configuration.py for a list of all supported configuration parameters.
|
||||
configuration = kfp_server_api.Configuration(
|
||||
host = "http://localhost"
|
||||
)
|
||||
|
||||
# The client must configure the authentication and authorization parameters
|
||||
# in accordance with the API server security policy.
|
||||
# Examples for each auth method are provided below, use the example that
|
||||
# satisfies your auth use case.
|
||||
|
||||
# Configure API key authorization: Bearer
|
||||
configuration = kfp_server_api.Configuration(
|
||||
host = "http://localhost",
|
||||
api_key = {
|
||||
'authorization': 'YOUR_API_KEY'
|
||||
}
|
||||
)
|
||||
# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
|
||||
# configuration.api_key_prefix['authorization'] = 'Bearer'
|
||||
|
||||
# Enter a context with an instance of the API client
|
||||
with kfp_server_api.ApiClient(configuration) as api_client:
|
||||
# Create an instance of the API class
|
||||
api_instance = kfp_server_api.JobServiceApi(api_client)
|
||||
id = 'id_example' # str | The ID of the job to be deleted
|
||||
|
||||
try:
|
||||
# Deletes a job.
|
||||
api_response = api_instance.delete_job(id)
|
||||
pprint(api_response)
|
||||
except ApiException as e:
|
||||
print("Exception when calling JobServiceApi->delete_job: %s\n" % e)
|
||||
```
|
||||
|
||||
### Parameters
|
||||
|
||||
Name | Type | Description | Notes
|
||||
------------- | ------------- | ------------- | -------------
|
||||
**id** | **str**| The ID of the job to be deleted |
|
||||
|
||||
### Return type
|
||||
|
||||
**object**
|
||||
|
||||
### Authorization
|
||||
|
||||
[Bearer](../README.md#Bearer)
|
||||
|
||||
### HTTP request headers
|
||||
|
||||
- **Content-Type**: Not defined
|
||||
- **Accept**: application/json
|
||||
|
||||
### HTTP response details
|
||||
| Status code | Description | Response headers |
|
||||
|-------------|-------------|------------------|
|
||||
**200** | A successful response. | - |
|
||||
**0** | | - |
|
||||
|
||||
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
|
||||
|
||||
# **disable_job**
|
||||
> object disable_job(id)
|
||||
|
||||
Stops a job and all its associated runs. The job is not deleted.
|
||||
|
||||
### Example
|
||||
|
||||
* Api Key Authentication (Bearer):
|
||||
```python
|
||||
from __future__ import print_function
|
||||
import time
|
||||
import kfp_server_api
|
||||
from kfp_server_api.rest import ApiException
|
||||
from pprint import pprint
|
||||
# Defining the host is optional and defaults to http://localhost
|
||||
# See configuration.py for a list of all supported configuration parameters.
|
||||
configuration = kfp_server_api.Configuration(
|
||||
host = "http://localhost"
|
||||
)
|
||||
|
||||
# The client must configure the authentication and authorization parameters
|
||||
# in accordance with the API server security policy.
|
||||
# Examples for each auth method are provided below, use the example that
|
||||
# satisfies your auth use case.
|
||||
|
||||
# Configure API key authorization: Bearer
|
||||
configuration = kfp_server_api.Configuration(
|
||||
host = "http://localhost",
|
||||
api_key = {
|
||||
'authorization': 'YOUR_API_KEY'
|
||||
}
|
||||
)
|
||||
# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
|
||||
# configuration.api_key_prefix['authorization'] = 'Bearer'
|
||||
|
||||
# Enter a context with an instance of the API client
|
||||
with kfp_server_api.ApiClient(configuration) as api_client:
|
||||
# Create an instance of the API class
|
||||
api_instance = kfp_server_api.JobServiceApi(api_client)
|
||||
id = 'id_example' # str | The ID of the job to be disabled
|
||||
|
||||
try:
|
||||
# Stops a job and all its associated runs. The job is not deleted.
|
||||
api_response = api_instance.disable_job(id)
|
||||
pprint(api_response)
|
||||
except ApiException as e:
|
||||
print("Exception when calling JobServiceApi->disable_job: %s\n" % e)
|
||||
```
|
||||
|
||||
### Parameters
|
||||
|
||||
Name | Type | Description | Notes
|
||||
------------- | ------------- | ------------- | -------------
|
||||
**id** | **str**| The ID of the job to be disabled |
|
||||
|
||||
### Return type
|
||||
|
||||
**object**
|
||||
|
||||
### Authorization
|
||||
|
||||
[Bearer](../README.md#Bearer)
|
||||
|
||||
### HTTP request headers
|
||||
|
||||
- **Content-Type**: Not defined
|
||||
- **Accept**: application/json
|
||||
|
||||
### HTTP response details
|
||||
| Status code | Description | Response headers |
|
||||
|-------------|-------------|------------------|
|
||||
**200** | A successful response. | - |
|
||||
**0** | | - |
|
||||
|
||||
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
|
||||
|
||||
# **enable_job**
|
||||
> object enable_job(id)
|
||||
|
||||
Restarts a job that was previously stopped. All runs associated with the job will continue.
|
||||
|
||||
### Example
|
||||
|
||||
* Api Key Authentication (Bearer):
|
||||
```python
|
||||
from __future__ import print_function
|
||||
import time
|
||||
import kfp_server_api
|
||||
from kfp_server_api.rest import ApiException
|
||||
from pprint import pprint
|
||||
# Defining the host is optional and defaults to http://localhost
|
||||
# See configuration.py for a list of all supported configuration parameters.
|
||||
configuration = kfp_server_api.Configuration(
|
||||
host = "http://localhost"
|
||||
)
|
||||
|
||||
# The client must configure the authentication and authorization parameters
|
||||
# in accordance with the API server security policy.
|
||||
# Examples for each auth method are provided below, use the example that
|
||||
# satisfies your auth use case.
|
||||
|
||||
# Configure API key authorization: Bearer
|
||||
configuration = kfp_server_api.Configuration(
|
||||
host = "http://localhost",
|
||||
api_key = {
|
||||
'authorization': 'YOUR_API_KEY'
|
||||
}
|
||||
)
|
||||
# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
|
||||
# configuration.api_key_prefix['authorization'] = 'Bearer'
|
||||
|
||||
# Enter a context with an instance of the API client
|
||||
with kfp_server_api.ApiClient(configuration) as api_client:
|
||||
# Create an instance of the API class
|
||||
api_instance = kfp_server_api.JobServiceApi(api_client)
|
||||
id = 'id_example' # str | The ID of the job to be enabled
|
||||
|
||||
try:
|
||||
# Restarts a job that was previously stopped. All runs associated with the job will continue.
|
||||
api_response = api_instance.enable_job(id)
|
||||
pprint(api_response)
|
||||
except ApiException as e:
|
||||
print("Exception when calling JobServiceApi->enable_job: %s\n" % e)
|
||||
```
|
||||
|
||||
### Parameters
|
||||
|
||||
Name | Type | Description | Notes
|
||||
------------- | ------------- | ------------- | -------------
|
||||
**id** | **str**| The ID of the job to be enabled |
|
||||
|
||||
### Return type
|
||||
|
||||
**object**
|
||||
|
||||
### Authorization
|
||||
|
||||
[Bearer](../README.md#Bearer)
|
||||
|
||||
### HTTP request headers
|
||||
|
||||
- **Content-Type**: Not defined
|
||||
- **Accept**: application/json
|
||||
|
||||
### HTTP response details
|
||||
| Status code | Description | Response headers |
|
||||
|-------------|-------------|------------------|
|
||||
**200** | A successful response. | - |
|
||||
**0** | | - |
|
||||
|
||||
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
|
||||
|
||||
# **get_job**
|
||||
> ApiJob get_job(id)
|
||||
|
||||
Finds a specific job by ID.
|
||||
|
||||
### Example
|
||||
|
||||
* Api Key Authentication (Bearer):
|
||||
```python
|
||||
from __future__ import print_function
|
||||
import time
|
||||
import kfp_server_api
|
||||
from kfp_server_api.rest import ApiException
|
||||
from pprint import pprint
|
||||
# Defining the host is optional and defaults to http://localhost
|
||||
# See configuration.py for a list of all supported configuration parameters.
|
||||
configuration = kfp_server_api.Configuration(
|
||||
host = "http://localhost"
|
||||
)
|
||||
|
||||
# The client must configure the authentication and authorization parameters
|
||||
# in accordance with the API server security policy.
|
||||
# Examples for each auth method are provided below, use the example that
|
||||
# satisfies your auth use case.
|
||||
|
||||
# Configure API key authorization: Bearer
|
||||
configuration = kfp_server_api.Configuration(
|
||||
host = "http://localhost",
|
||||
api_key = {
|
||||
'authorization': 'YOUR_API_KEY'
|
||||
}
|
||||
)
|
||||
# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
|
||||
# configuration.api_key_prefix['authorization'] = 'Bearer'
|
||||
|
||||
# Enter a context with an instance of the API client
|
||||
with kfp_server_api.ApiClient(configuration) as api_client:
|
||||
# Create an instance of the API class
|
||||
api_instance = kfp_server_api.JobServiceApi(api_client)
|
||||
id = 'id_example' # str | The ID of the job to be retrieved
|
||||
|
||||
try:
|
||||
# Finds a specific job by ID.
|
||||
api_response = api_instance.get_job(id)
|
||||
pprint(api_response)
|
||||
except ApiException as e:
|
||||
print("Exception when calling JobServiceApi->get_job: %s\n" % e)
|
||||
```
|
||||
|
||||
### Parameters
|
||||
|
||||
Name | Type | Description | Notes
|
||||
------------- | ------------- | ------------- | -------------
|
||||
**id** | **str**| The ID of the job to be retrieved |
|
||||
|
||||
### Return type
|
||||
|
||||
[**ApiJob**](ApiJob.md)
|
||||
|
||||
### Authorization
|
||||
|
||||
[Bearer](../README.md#Bearer)
|
||||
|
||||
### HTTP request headers
|
||||
|
||||
- **Content-Type**: Not defined
|
||||
- **Accept**: application/json
|
||||
|
||||
### HTTP response details
|
||||
| Status code | Description | Response headers |
|
||||
|-------------|-------------|------------------|
|
||||
**200** | A successful response. | - |
|
||||
**0** | | - |
|
||||
|
||||
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
|
||||
|
||||
# **list_jobs**
|
||||
> ApiListJobsResponse list_jobs(page_token=page_token, page_size=page_size, sort_by=sort_by, resource_reference_key_type=resource_reference_key_type, resource_reference_key_id=resource_reference_key_id, filter=filter)
|
||||
|
||||
Finds all jobs.
|
||||
|
||||
### Example
|
||||
|
||||
* Api Key Authentication (Bearer):
|
||||
```python
|
||||
from __future__ import print_function
|
||||
import time
|
||||
import kfp_server_api
|
||||
from kfp_server_api.rest import ApiException
|
||||
from pprint import pprint
|
||||
# Defining the host is optional and defaults to http://localhost
|
||||
# See configuration.py for a list of all supported configuration parameters.
|
||||
configuration = kfp_server_api.Configuration(
|
||||
host = "http://localhost"
|
||||
)
|
||||
|
||||
# The client must configure the authentication and authorization parameters
|
||||
# in accordance with the API server security policy.
|
||||
# Examples for each auth method are provided below, use the example that
|
||||
# satisfies your auth use case.
|
||||
|
||||
# Configure API key authorization: Bearer
|
||||
configuration = kfp_server_api.Configuration(
|
||||
host = "http://localhost",
|
||||
api_key = {
|
||||
'authorization': 'YOUR_API_KEY'
|
||||
}
|
||||
)
|
||||
# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
|
||||
# configuration.api_key_prefix['authorization'] = 'Bearer'
|
||||
|
||||
# Enter a context with an instance of the API client
|
||||
with kfp_server_api.ApiClient(configuration) as api_client:
|
||||
# Create an instance of the API class
|
||||
api_instance = kfp_server_api.JobServiceApi(api_client)
|
||||
page_token = 'page_token_example' # str | A page token to request the next page of results. The token is acquried from the nextPageToken field of the response from the previous ListJobs call or can be omitted when fetching the first page. (optional)
|
||||
page_size = 56 # int | The number of jobs to be listed per page. If there are more jobs than this number, the response message will contain a nextPageToken field you can use to fetch the next page. (optional)
|
||||
sort_by = 'sort_by_example' # str | Can be format of \"field_name\", \"field_name asc\" or \"field_name desc\". Ascending by default. (optional)
|
||||
resource_reference_key_type = 'UNKNOWN_RESOURCE_TYPE' # str | The type of the resource that referred to. (optional) (default to 'UNKNOWN_RESOURCE_TYPE')
|
||||
resource_reference_key_id = 'resource_reference_key_id_example' # str | The ID of the resource that referred to. (optional)
|
||||
filter = 'filter_example' # str | A url-encoded, JSON-serialized Filter protocol buffer (see [filter.proto](https://github.com/kubeflow/pipelines/ blob/master/backend/api/filter.proto)). (optional)
|
||||
|
||||
try:
|
||||
# Finds all jobs.
|
||||
api_response = api_instance.list_jobs(page_token=page_token, page_size=page_size, sort_by=sort_by, resource_reference_key_type=resource_reference_key_type, resource_reference_key_id=resource_reference_key_id, filter=filter)
|
||||
pprint(api_response)
|
||||
except ApiException as e:
|
||||
print("Exception when calling JobServiceApi->list_jobs: %s\n" % e)
|
||||
```
|
||||
|
||||
### Parameters
|
||||
|
||||
Name | Type | Description | Notes
|
||||
------------- | ------------- | ------------- | -------------
|
||||
**page_token** | **str**| A page token to request the next page of results. The token is acquried from the nextPageToken field of the response from the previous ListJobs call or can be omitted when fetching the first page. | [optional]
|
||||
**page_size** | **int**| The number of jobs to be listed per page. If there are more jobs than this number, the response message will contain a nextPageToken field you can use to fetch the next page. | [optional]
|
||||
**sort_by** | **str**| Can be format of \"field_name\", \"field_name asc\" or \"field_name desc\". Ascending by default. | [optional]
|
||||
**resource_reference_key_type** | **str**| The type of the resource that referred to. | [optional] [default to 'UNKNOWN_RESOURCE_TYPE']
|
||||
**resource_reference_key_id** | **str**| The ID of the resource that referred to. | [optional]
|
||||
**filter** | **str**| A url-encoded, JSON-serialized Filter protocol buffer (see [filter.proto](https://github.com/kubeflow/pipelines/ blob/master/backend/api/filter.proto)). | [optional]
|
||||
|
||||
### Return type
|
||||
|
||||
[**ApiListJobsResponse**](ApiListJobsResponse.md)
|
||||
|
||||
### Authorization
|
||||
|
||||
[Bearer](../README.md#Bearer)
|
||||
|
||||
### HTTP request headers
|
||||
|
||||
- **Content-Type**: Not defined
|
||||
- **Accept**: application/json
|
||||
|
||||
### HTTP response details
|
||||
| Status code | Description | Response headers |
|
||||
|-------------|-------------|------------------|
|
||||
**200** | A successful response. | - |
|
||||
**0** | | - |
|
||||
|
||||
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
|
||||
|
||||
|
|
@ -0,0 +1,794 @@
|
|||
# kfp_server_api.PipelineServiceApi
|
||||
|
||||
All URIs are relative to *http://localhost*
|
||||
|
||||
Method | HTTP request | Description
|
||||
------------- | ------------- | -------------
|
||||
[**create_pipeline**](PipelineServiceApi.md#create_pipeline) | **POST** /apis/v1beta1/pipelines | Creates a pipeline.
|
||||
[**create_pipeline_version**](PipelineServiceApi.md#create_pipeline_version) | **POST** /apis/v1beta1/pipeline_versions | Adds a pipeline version to the specified pipeline.
|
||||
[**delete_pipeline**](PipelineServiceApi.md#delete_pipeline) | **DELETE** /apis/v1beta1/pipelines/{id} | Deletes a pipeline and its pipeline versions.
|
||||
[**delete_pipeline_version**](PipelineServiceApi.md#delete_pipeline_version) | **DELETE** /apis/v1beta1/pipeline_versions/{version_id} | Deletes a pipeline version by pipeline version ID. If the deleted pipeline version is the default pipeline version, the pipeline's default version changes to the pipeline's most recent pipeline version. If there are no remaining pipeline versions, the pipeline will have no default version. Examines the run_service_api.ipynb notebook to learn more about creating a run using a pipeline version (https://github.com/kubeflow/pipelines/blob/master/tools/benchmarks/run_service_api.ipynb).
|
||||
[**get_pipeline**](PipelineServiceApi.md#get_pipeline) | **GET** /apis/v1beta1/pipelines/{id} | Finds a specific pipeline by ID.
|
||||
[**get_pipeline_version**](PipelineServiceApi.md#get_pipeline_version) | **GET** /apis/v1beta1/pipeline_versions/{version_id} | Gets a pipeline version by pipeline version ID.
|
||||
[**get_pipeline_version_template**](PipelineServiceApi.md#get_pipeline_version_template) | **GET** /apis/v1beta1/pipeline_versions/{version_id}/templates | Returns a YAML template that contains the specified pipeline version's description, parameters and metadata.
|
||||
[**get_template**](PipelineServiceApi.md#get_template) | **GET** /apis/v1beta1/pipelines/{id}/templates | Returns a single YAML template that contains the description, parameters, and metadata associated with the pipeline provided.
|
||||
[**list_pipeline_versions**](PipelineServiceApi.md#list_pipeline_versions) | **GET** /apis/v1beta1/pipeline_versions | Lists all pipeline versions of a given pipeline.
|
||||
[**list_pipelines**](PipelineServiceApi.md#list_pipelines) | **GET** /apis/v1beta1/pipelines | Finds all pipelines.
|
||||
|
||||
|
||||
# **create_pipeline**
|
||||
> ApiPipeline create_pipeline(body)
|
||||
|
||||
Creates a pipeline.
|
||||
|
||||
### Example
|
||||
|
||||
* Api Key Authentication (Bearer):
|
||||
```python
|
||||
from __future__ import print_function
|
||||
import time
|
||||
import kfp_server_api
|
||||
from kfp_server_api.rest import ApiException
|
||||
from pprint import pprint
|
||||
# Defining the host is optional and defaults to http://localhost
|
||||
# See configuration.py for a list of all supported configuration parameters.
|
||||
configuration = kfp_server_api.Configuration(
|
||||
host = "http://localhost"
|
||||
)
|
||||
|
||||
# The client must configure the authentication and authorization parameters
|
||||
# in accordance with the API server security policy.
|
||||
# Examples for each auth method are provided below, use the example that
|
||||
# satisfies your auth use case.
|
||||
|
||||
# Configure API key authorization: Bearer
|
||||
configuration = kfp_server_api.Configuration(
|
||||
host = "http://localhost",
|
||||
api_key = {
|
||||
'authorization': 'YOUR_API_KEY'
|
||||
}
|
||||
)
|
||||
# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
|
||||
# configuration.api_key_prefix['authorization'] = 'Bearer'
|
||||
|
||||
# Enter a context with an instance of the API client
|
||||
with kfp_server_api.ApiClient(configuration) as api_client:
|
||||
# Create an instance of the API class
|
||||
api_instance = kfp_server_api.PipelineServiceApi(api_client)
|
||||
body = kfp_server_api.ApiPipeline() # ApiPipeline |
|
||||
|
||||
try:
|
||||
# Creates a pipeline.
|
||||
api_response = api_instance.create_pipeline(body)
|
||||
pprint(api_response)
|
||||
except ApiException as e:
|
||||
print("Exception when calling PipelineServiceApi->create_pipeline: %s\n" % e)
|
||||
```
|
||||
|
||||
### Parameters
|
||||
|
||||
Name | Type | Description | Notes
|
||||
------------- | ------------- | ------------- | -------------
|
||||
**body** | [**ApiPipeline**](ApiPipeline.md)| |
|
||||
|
||||
### Return type
|
||||
|
||||
[**ApiPipeline**](ApiPipeline.md)
|
||||
|
||||
### Authorization
|
||||
|
||||
[Bearer](../README.md#Bearer)
|
||||
|
||||
### HTTP request headers
|
||||
|
||||
- **Content-Type**: application/json
|
||||
- **Accept**: application/json
|
||||
|
||||
### HTTP response details
|
||||
| Status code | Description | Response headers |
|
||||
|-------------|-------------|------------------|
|
||||
**200** | A successful response. | - |
|
||||
**0** | | - |
|
||||
|
||||
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
|
||||
|
||||
# **create_pipeline_version**
|
||||
> ApiPipelineVersion create_pipeline_version(body)
|
||||
|
||||
Adds a pipeline version to the specified pipeline.
|
||||
|
||||
### Example
|
||||
|
||||
* Api Key Authentication (Bearer):
|
||||
```python
|
||||
from __future__ import print_function
|
||||
import time
|
||||
import kfp_server_api
|
||||
from kfp_server_api.rest import ApiException
|
||||
from pprint import pprint
|
||||
# Defining the host is optional and defaults to http://localhost
|
||||
# See configuration.py for a list of all supported configuration parameters.
|
||||
configuration = kfp_server_api.Configuration(
|
||||
host = "http://localhost"
|
||||
)
|
||||
|
||||
# The client must configure the authentication and authorization parameters
|
||||
# in accordance with the API server security policy.
|
||||
# Examples for each auth method are provided below, use the example that
|
||||
# satisfies your auth use case.
|
||||
|
||||
# Configure API key authorization: Bearer
|
||||
configuration = kfp_server_api.Configuration(
|
||||
host = "http://localhost",
|
||||
api_key = {
|
||||
'authorization': 'YOUR_API_KEY'
|
||||
}
|
||||
)
|
||||
# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
|
||||
# configuration.api_key_prefix['authorization'] = 'Bearer'
|
||||
|
||||
# Enter a context with an instance of the API client
|
||||
with kfp_server_api.ApiClient(configuration) as api_client:
|
||||
# Create an instance of the API class
|
||||
api_instance = kfp_server_api.PipelineServiceApi(api_client)
|
||||
body = kfp_server_api.ApiPipelineVersion() # ApiPipelineVersion | ResourceReference inside PipelineVersion specifies the pipeline that this version belongs to.
|
||||
|
||||
try:
|
||||
# Adds a pipeline version to the specified pipeline.
|
||||
api_response = api_instance.create_pipeline_version(body)
|
||||
pprint(api_response)
|
||||
except ApiException as e:
|
||||
print("Exception when calling PipelineServiceApi->create_pipeline_version: %s\n" % e)
|
||||
```
|
||||
|
||||
### Parameters
|
||||
|
||||
Name | Type | Description | Notes
|
||||
------------- | ------------- | ------------- | -------------
|
||||
**body** | [**ApiPipelineVersion**](ApiPipelineVersion.md)| ResourceReference inside PipelineVersion specifies the pipeline that this version belongs to. |
|
||||
|
||||
### Return type
|
||||
|
||||
[**ApiPipelineVersion**](ApiPipelineVersion.md)
|
||||
|
||||
### Authorization
|
||||
|
||||
[Bearer](../README.md#Bearer)
|
||||
|
||||
### HTTP request headers
|
||||
|
||||
- **Content-Type**: application/json
|
||||
- **Accept**: application/json
|
||||
|
||||
### HTTP response details
|
||||
| Status code | Description | Response headers |
|
||||
|-------------|-------------|------------------|
|
||||
**200** | A successful response. | - |
|
||||
**0** | | - |
|
||||
|
||||
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
|
||||
|
||||
# **delete_pipeline**
|
||||
> object delete_pipeline(id)
|
||||
|
||||
Deletes a pipeline and its pipeline versions.
|
||||
|
||||
### Example
|
||||
|
||||
* Api Key Authentication (Bearer):
|
||||
```python
|
||||
from __future__ import print_function
|
||||
import time
|
||||
import kfp_server_api
|
||||
from kfp_server_api.rest import ApiException
|
||||
from pprint import pprint
|
||||
# Defining the host is optional and defaults to http://localhost
|
||||
# See configuration.py for a list of all supported configuration parameters.
|
||||
configuration = kfp_server_api.Configuration(
|
||||
host = "http://localhost"
|
||||
)
|
||||
|
||||
# The client must configure the authentication and authorization parameters
|
||||
# in accordance with the API server security policy.
|
||||
# Examples for each auth method are provided below, use the example that
|
||||
# satisfies your auth use case.
|
||||
|
||||
# Configure API key authorization: Bearer
|
||||
configuration = kfp_server_api.Configuration(
|
||||
host = "http://localhost",
|
||||
api_key = {
|
||||
'authorization': 'YOUR_API_KEY'
|
||||
}
|
||||
)
|
||||
# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
|
||||
# configuration.api_key_prefix['authorization'] = 'Bearer'
|
||||
|
||||
# Enter a context with an instance of the API client
|
||||
with kfp_server_api.ApiClient(configuration) as api_client:
|
||||
# Create an instance of the API class
|
||||
api_instance = kfp_server_api.PipelineServiceApi(api_client)
|
||||
id = 'id_example' # str | The ID of the pipeline to be deleted.
|
||||
|
||||
try:
|
||||
# Deletes a pipeline and its pipeline versions.
|
||||
api_response = api_instance.delete_pipeline(id)
|
||||
pprint(api_response)
|
||||
except ApiException as e:
|
||||
print("Exception when calling PipelineServiceApi->delete_pipeline: %s\n" % e)
|
||||
```
|
||||
|
||||
### Parameters
|
||||
|
||||
Name | Type | Description | Notes
|
||||
------------- | ------------- | ------------- | -------------
|
||||
**id** | **str**| The ID of the pipeline to be deleted. |
|
||||
|
||||
### Return type
|
||||
|
||||
**object**
|
||||
|
||||
### Authorization
|
||||
|
||||
[Bearer](../README.md#Bearer)
|
||||
|
||||
### HTTP request headers
|
||||
|
||||
- **Content-Type**: Not defined
|
||||
- **Accept**: application/json
|
||||
|
||||
### HTTP response details
|
||||
| Status code | Description | Response headers |
|
||||
|-------------|-------------|------------------|
|
||||
**200** | A successful response. | - |
|
||||
**0** | | - |
|
||||
|
||||
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
|
||||
|
||||
# **delete_pipeline_version**
|
||||
> object delete_pipeline_version(version_id)
|
||||
|
||||
Deletes a pipeline version by pipeline version ID. If the deleted pipeline version is the default pipeline version, the pipeline's default version changes to the pipeline's most recent pipeline version. If there are no remaining pipeline versions, the pipeline will have no default version. Examines the run_service_api.ipynb notebook to learn more about creating a run using a pipeline version (https://github.com/kubeflow/pipelines/blob/master/tools/benchmarks/run_service_api.ipynb).
|
||||
|
||||
### Example
|
||||
|
||||
* Api Key Authentication (Bearer):
|
||||
```python
|
||||
from __future__ import print_function
|
||||
import time
|
||||
import kfp_server_api
|
||||
from kfp_server_api.rest import ApiException
|
||||
from pprint import pprint
|
||||
# Defining the host is optional and defaults to http://localhost
|
||||
# See configuration.py for a list of all supported configuration parameters.
|
||||
configuration = kfp_server_api.Configuration(
|
||||
host = "http://localhost"
|
||||
)
|
||||
|
||||
# The client must configure the authentication and authorization parameters
|
||||
# in accordance with the API server security policy.
|
||||
# Examples for each auth method are provided below, use the example that
|
||||
# satisfies your auth use case.
|
||||
|
||||
# Configure API key authorization: Bearer
|
||||
configuration = kfp_server_api.Configuration(
|
||||
host = "http://localhost",
|
||||
api_key = {
|
||||
'authorization': 'YOUR_API_KEY'
|
||||
}
|
||||
)
|
||||
# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
|
||||
# configuration.api_key_prefix['authorization'] = 'Bearer'
|
||||
|
||||
# Enter a context with an instance of the API client
|
||||
with kfp_server_api.ApiClient(configuration) as api_client:
|
||||
# Create an instance of the API class
|
||||
api_instance = kfp_server_api.PipelineServiceApi(api_client)
|
||||
version_id = 'version_id_example' # str | The ID of the pipeline version to be deleted.
|
||||
|
||||
try:
|
||||
# Deletes a pipeline version by pipeline version ID. If the deleted pipeline version is the default pipeline version, the pipeline's default version changes to the pipeline's most recent pipeline version. If there are no remaining pipeline versions, the pipeline will have no default version. Examines the run_service_api.ipynb notebook to learn more about creating a run using a pipeline version (https://github.com/kubeflow/pipelines/blob/master/tools/benchmarks/run_service_api.ipynb).
|
||||
api_response = api_instance.delete_pipeline_version(version_id)
|
||||
pprint(api_response)
|
||||
except ApiException as e:
|
||||
print("Exception when calling PipelineServiceApi->delete_pipeline_version: %s\n" % e)
|
||||
```
|
||||
|
||||
### Parameters
|
||||
|
||||
Name | Type | Description | Notes
|
||||
------------- | ------------- | ------------- | -------------
|
||||
**version_id** | **str**| The ID of the pipeline version to be deleted. |
|
||||
|
||||
### Return type
|
||||
|
||||
**object**
|
||||
|
||||
### Authorization
|
||||
|
||||
[Bearer](../README.md#Bearer)
|
||||
|
||||
### HTTP request headers
|
||||
|
||||
- **Content-Type**: Not defined
|
||||
- **Accept**: application/json
|
||||
|
||||
### HTTP response details
|
||||
| Status code | Description | Response headers |
|
||||
|-------------|-------------|------------------|
|
||||
**200** | A successful response. | - |
|
||||
**0** | | - |
|
||||
|
||||
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
|
||||
|
||||
# **get_pipeline**
|
||||
> ApiPipeline get_pipeline(id)
|
||||
|
||||
Finds a specific pipeline by ID.
|
||||
|
||||
### Example
|
||||
|
||||
* Api Key Authentication (Bearer):
|
||||
```python
|
||||
from __future__ import print_function
|
||||
import time
|
||||
import kfp_server_api
|
||||
from kfp_server_api.rest import ApiException
|
||||
from pprint import pprint
|
||||
# Defining the host is optional and defaults to http://localhost
|
||||
# See configuration.py for a list of all supported configuration parameters.
|
||||
configuration = kfp_server_api.Configuration(
|
||||
host = "http://localhost"
|
||||
)
|
||||
|
||||
# The client must configure the authentication and authorization parameters
|
||||
# in accordance with the API server security policy.
|
||||
# Examples for each auth method are provided below, use the example that
|
||||
# satisfies your auth use case.
|
||||
|
||||
# Configure API key authorization: Bearer
|
||||
configuration = kfp_server_api.Configuration(
|
||||
host = "http://localhost",
|
||||
api_key = {
|
||||
'authorization': 'YOUR_API_KEY'
|
||||
}
|
||||
)
|
||||
# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
|
||||
# configuration.api_key_prefix['authorization'] = 'Bearer'
|
||||
|
||||
# Enter a context with an instance of the API client
|
||||
with kfp_server_api.ApiClient(configuration) as api_client:
|
||||
# Create an instance of the API class
|
||||
api_instance = kfp_server_api.PipelineServiceApi(api_client)
|
||||
id = 'id_example' # str | The ID of the pipeline to be retrieved.
|
||||
|
||||
try:
|
||||
# Finds a specific pipeline by ID.
|
||||
api_response = api_instance.get_pipeline(id)
|
||||
pprint(api_response)
|
||||
except ApiException as e:
|
||||
print("Exception when calling PipelineServiceApi->get_pipeline: %s\n" % e)
|
||||
```
|
||||
|
||||
### Parameters
|
||||
|
||||
Name | Type | Description | Notes
|
||||
------------- | ------------- | ------------- | -------------
|
||||
**id** | **str**| The ID of the pipeline to be retrieved. |
|
||||
|
||||
### Return type
|
||||
|
||||
[**ApiPipeline**](ApiPipeline.md)
|
||||
|
||||
### Authorization
|
||||
|
||||
[Bearer](../README.md#Bearer)
|
||||
|
||||
### HTTP request headers
|
||||
|
||||
- **Content-Type**: Not defined
|
||||
- **Accept**: application/json
|
||||
|
||||
### HTTP response details
|
||||
| Status code | Description | Response headers |
|
||||
|-------------|-------------|------------------|
|
||||
**200** | A successful response. | - |
|
||||
**0** | | - |
|
||||
|
||||
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
|
||||
|
||||
# **get_pipeline_version**
|
||||
> ApiPipelineVersion get_pipeline_version(version_id)
|
||||
|
||||
Gets a pipeline version by pipeline version ID.
|
||||
|
||||
### Example
|
||||
|
||||
* Api Key Authentication (Bearer):
|
||||
```python
|
||||
from __future__ import print_function
|
||||
import time
|
||||
import kfp_server_api
|
||||
from kfp_server_api.rest import ApiException
|
||||
from pprint import pprint
|
||||
# Defining the host is optional and defaults to http://localhost
|
||||
# See configuration.py for a list of all supported configuration parameters.
|
||||
configuration = kfp_server_api.Configuration(
|
||||
host = "http://localhost"
|
||||
)
|
||||
|
||||
# The client must configure the authentication and authorization parameters
|
||||
# in accordance with the API server security policy.
|
||||
# Examples for each auth method are provided below, use the example that
|
||||
# satisfies your auth use case.
|
||||
|
||||
# Configure API key authorization: Bearer
|
||||
configuration = kfp_server_api.Configuration(
|
||||
host = "http://localhost",
|
||||
api_key = {
|
||||
'authorization': 'YOUR_API_KEY'
|
||||
}
|
||||
)
|
||||
# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
|
||||
# configuration.api_key_prefix['authorization'] = 'Bearer'
|
||||
|
||||
# Enter a context with an instance of the API client
|
||||
with kfp_server_api.ApiClient(configuration) as api_client:
|
||||
# Create an instance of the API class
|
||||
api_instance = kfp_server_api.PipelineServiceApi(api_client)
|
||||
version_id = 'version_id_example' # str | The ID of the pipeline version to be retrieved.
|
||||
|
||||
try:
|
||||
# Gets a pipeline version by pipeline version ID.
|
||||
api_response = api_instance.get_pipeline_version(version_id)
|
||||
pprint(api_response)
|
||||
except ApiException as e:
|
||||
print("Exception when calling PipelineServiceApi->get_pipeline_version: %s\n" % e)
|
||||
```
|
||||
|
||||
### Parameters
|
||||
|
||||
Name | Type | Description | Notes
|
||||
------------- | ------------- | ------------- | -------------
|
||||
**version_id** | **str**| The ID of the pipeline version to be retrieved. |
|
||||
|
||||
### Return type
|
||||
|
||||
[**ApiPipelineVersion**](ApiPipelineVersion.md)
|
||||
|
||||
### Authorization
|
||||
|
||||
[Bearer](../README.md#Bearer)
|
||||
|
||||
### HTTP request headers
|
||||
|
||||
- **Content-Type**: Not defined
|
||||
- **Accept**: application/json
|
||||
|
||||
### HTTP response details
|
||||
| Status code | Description | Response headers |
|
||||
|-------------|-------------|------------------|
|
||||
**200** | A successful response. | - |
|
||||
**0** | | - |
|
||||
|
||||
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
|
||||
|
||||
# **get_pipeline_version_template**
|
||||
> ApiGetTemplateResponse get_pipeline_version_template(version_id)
|
||||
|
||||
Returns a YAML template that contains the specified pipeline version's description, parameters and metadata.
|
||||
|
||||
### Example
|
||||
|
||||
* Api Key Authentication (Bearer):
|
||||
```python
|
||||
from __future__ import print_function
|
||||
import time
|
||||
import kfp_server_api
|
||||
from kfp_server_api.rest import ApiException
|
||||
from pprint import pprint
|
||||
# Defining the host is optional and defaults to http://localhost
|
||||
# See configuration.py for a list of all supported configuration parameters.
|
||||
configuration = kfp_server_api.Configuration(
|
||||
host = "http://localhost"
|
||||
)
|
||||
|
||||
# The client must configure the authentication and authorization parameters
|
||||
# in accordance with the API server security policy.
|
||||
# Examples for each auth method are provided below, use the example that
|
||||
# satisfies your auth use case.
|
||||
|
||||
# Configure API key authorization: Bearer
|
||||
configuration = kfp_server_api.Configuration(
|
||||
host = "http://localhost",
|
||||
api_key = {
|
||||
'authorization': 'YOUR_API_KEY'
|
||||
}
|
||||
)
|
||||
# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
|
||||
# configuration.api_key_prefix['authorization'] = 'Bearer'
|
||||
|
||||
# Enter a context with an instance of the API client
|
||||
with kfp_server_api.ApiClient(configuration) as api_client:
|
||||
# Create an instance of the API class
|
||||
api_instance = kfp_server_api.PipelineServiceApi(api_client)
|
||||
version_id = 'version_id_example' # str | The ID of the pipeline version whose template is to be retrieved.
|
||||
|
||||
try:
|
||||
# Returns a YAML template that contains the specified pipeline version's description, parameters and metadata.
|
||||
api_response = api_instance.get_pipeline_version_template(version_id)
|
||||
pprint(api_response)
|
||||
except ApiException as e:
|
||||
print("Exception when calling PipelineServiceApi->get_pipeline_version_template: %s\n" % e)
|
||||
```
|
||||
|
||||
### Parameters
|
||||
|
||||
Name | Type | Description | Notes
|
||||
------------- | ------------- | ------------- | -------------
|
||||
**version_id** | **str**| The ID of the pipeline version whose template is to be retrieved. |
|
||||
|
||||
### Return type
|
||||
|
||||
[**ApiGetTemplateResponse**](ApiGetTemplateResponse.md)
|
||||
|
||||
### Authorization
|
||||
|
||||
[Bearer](../README.md#Bearer)
|
||||
|
||||
### HTTP request headers
|
||||
|
||||
- **Content-Type**: Not defined
|
||||
- **Accept**: application/json
|
||||
|
||||
### HTTP response details
|
||||
| Status code | Description | Response headers |
|
||||
|-------------|-------------|------------------|
|
||||
**200** | A successful response. | - |
|
||||
**0** | | - |
|
||||
|
||||
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
|
||||
|
||||
# **get_template**
|
||||
> ApiGetTemplateResponse get_template(id)
|
||||
|
||||
Returns a single YAML template that contains the description, parameters, and metadata associated with the pipeline provided.
|
||||
|
||||
### Example
|
||||
|
||||
* Api Key Authentication (Bearer):
|
||||
```python
|
||||
from __future__ import print_function
|
||||
import time
|
||||
import kfp_server_api
|
||||
from kfp_server_api.rest import ApiException
|
||||
from pprint import pprint
|
||||
# Defining the host is optional and defaults to http://localhost
|
||||
# See configuration.py for a list of all supported configuration parameters.
|
||||
configuration = kfp_server_api.Configuration(
|
||||
host = "http://localhost"
|
||||
)
|
||||
|
||||
# The client must configure the authentication and authorization parameters
|
||||
# in accordance with the API server security policy.
|
||||
# Examples for each auth method are provided below, use the example that
|
||||
# satisfies your auth use case.
|
||||
|
||||
# Configure API key authorization: Bearer
|
||||
configuration = kfp_server_api.Configuration(
|
||||
host = "http://localhost",
|
||||
api_key = {
|
||||
'authorization': 'YOUR_API_KEY'
|
||||
}
|
||||
)
|
||||
# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
|
||||
# configuration.api_key_prefix['authorization'] = 'Bearer'
|
||||
|
||||
# Enter a context with an instance of the API client
|
||||
with kfp_server_api.ApiClient(configuration) as api_client:
|
||||
# Create an instance of the API class
|
||||
api_instance = kfp_server_api.PipelineServiceApi(api_client)
|
||||
id = 'id_example' # str | The ID of the pipeline whose template is to be retrieved.
|
||||
|
||||
try:
|
||||
# Returns a single YAML template that contains the description, parameters, and metadata associated with the pipeline provided.
|
||||
api_response = api_instance.get_template(id)
|
||||
pprint(api_response)
|
||||
except ApiException as e:
|
||||
print("Exception when calling PipelineServiceApi->get_template: %s\n" % e)
|
||||
```
|
||||
|
||||
### Parameters
|
||||
|
||||
Name | Type | Description | Notes
|
||||
------------- | ------------- | ------------- | -------------
|
||||
**id** | **str**| The ID of the pipeline whose template is to be retrieved. |
|
||||
|
||||
### Return type
|
||||
|
||||
[**ApiGetTemplateResponse**](ApiGetTemplateResponse.md)
|
||||
|
||||
### Authorization
|
||||
|
||||
[Bearer](../README.md#Bearer)
|
||||
|
||||
### HTTP request headers
|
||||
|
||||
- **Content-Type**: Not defined
|
||||
- **Accept**: application/json
|
||||
|
||||
### HTTP response details
|
||||
| Status code | Description | Response headers |
|
||||
|-------------|-------------|------------------|
|
||||
**200** | A successful response. | - |
|
||||
**0** | | - |
|
||||
|
||||
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
|
||||
|
||||
# **list_pipeline_versions**
|
||||
> ApiListPipelineVersionsResponse list_pipeline_versions(resource_key_type=resource_key_type, resource_key_id=resource_key_id, page_size=page_size, page_token=page_token, sort_by=sort_by, filter=filter)
|
||||
|
||||
Lists all pipeline versions of a given pipeline.
|
||||
|
||||
### Example
|
||||
|
||||
* Api Key Authentication (Bearer):
|
||||
```python
|
||||
from __future__ import print_function
|
||||
import time
|
||||
import kfp_server_api
|
||||
from kfp_server_api.rest import ApiException
|
||||
from pprint import pprint
|
||||
# Defining the host is optional and defaults to http://localhost
|
||||
# See configuration.py for a list of all supported configuration parameters.
|
||||
configuration = kfp_server_api.Configuration(
|
||||
host = "http://localhost"
|
||||
)
|
||||
|
||||
# The client must configure the authentication and authorization parameters
|
||||
# in accordance with the API server security policy.
|
||||
# Examples for each auth method are provided below, use the example that
|
||||
# satisfies your auth use case.
|
||||
|
||||
# Configure API key authorization: Bearer
|
||||
configuration = kfp_server_api.Configuration(
|
||||
host = "http://localhost",
|
||||
api_key = {
|
||||
'authorization': 'YOUR_API_KEY'
|
||||
}
|
||||
)
|
||||
# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
|
||||
# configuration.api_key_prefix['authorization'] = 'Bearer'
|
||||
|
||||
# Enter a context with an instance of the API client
|
||||
with kfp_server_api.ApiClient(configuration) as api_client:
|
||||
# Create an instance of the API class
|
||||
api_instance = kfp_server_api.PipelineServiceApi(api_client)
|
||||
resource_key_type = 'UNKNOWN_RESOURCE_TYPE' # str | The type of the resource that referred to. (optional) (default to 'UNKNOWN_RESOURCE_TYPE')
|
||||
resource_key_id = 'resource_key_id_example' # str | The ID of the resource that referred to. (optional)
|
||||
page_size = 56 # int | The number of pipeline versions to be listed per page. If there are more pipeline versions than this number, the response message will contain a nextPageToken field you can use to fetch the next page. (optional)
|
||||
page_token = 'page_token_example' # str | A page token to request the next page of results. The token is acquried from the nextPageToken field of the response from the previous ListPipelineVersions call or can be omitted when fetching the first page. (optional)
|
||||
sort_by = 'sort_by_example' # str | Can be format of \"field_name\", \"field_name asc\" or \"field_name desc\" Ascending by default. (optional)
|
||||
filter = 'filter_example' # str | A base-64 encoded, JSON-serialized Filter protocol buffer (see filter.proto). (optional)
|
||||
|
||||
try:
|
||||
# Lists all pipeline versions of a given pipeline.
|
||||
api_response = api_instance.list_pipeline_versions(resource_key_type=resource_key_type, resource_key_id=resource_key_id, page_size=page_size, page_token=page_token, sort_by=sort_by, filter=filter)
|
||||
pprint(api_response)
|
||||
except ApiException as e:
|
||||
print("Exception when calling PipelineServiceApi->list_pipeline_versions: %s\n" % e)
|
||||
```
|
||||
|
||||
### Parameters
|
||||
|
||||
Name | Type | Description | Notes
|
||||
------------- | ------------- | ------------- | -------------
|
||||
**resource_key_type** | **str**| The type of the resource that referred to. | [optional] [default to 'UNKNOWN_RESOURCE_TYPE']
|
||||
**resource_key_id** | **str**| The ID of the resource that referred to. | [optional]
|
||||
**page_size** | **int**| The number of pipeline versions to be listed per page. If there are more pipeline versions than this number, the response message will contain a nextPageToken field you can use to fetch the next page. | [optional]
|
||||
**page_token** | **str**| A page token to request the next page of results. The token is acquried from the nextPageToken field of the response from the previous ListPipelineVersions call or can be omitted when fetching the first page. | [optional]
|
||||
**sort_by** | **str**| Can be format of \"field_name\", \"field_name asc\" or \"field_name desc\" Ascending by default. | [optional]
|
||||
**filter** | **str**| A base-64 encoded, JSON-serialized Filter protocol buffer (see filter.proto). | [optional]
|
||||
|
||||
### Return type
|
||||
|
||||
[**ApiListPipelineVersionsResponse**](ApiListPipelineVersionsResponse.md)
|
||||
|
||||
### Authorization
|
||||
|
||||
[Bearer](../README.md#Bearer)
|
||||
|
||||
### HTTP request headers
|
||||
|
||||
- **Content-Type**: Not defined
|
||||
- **Accept**: application/json
|
||||
|
||||
### HTTP response details
|
||||
| Status code | Description | Response headers |
|
||||
|-------------|-------------|------------------|
|
||||
**200** | A successful response. | - |
|
||||
**0** | | - |
|
||||
|
||||
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
|
||||
|
||||
# **list_pipelines**
|
||||
> ApiListPipelinesResponse list_pipelines(page_token=page_token, page_size=page_size, sort_by=sort_by, filter=filter)
|
||||
|
||||
Finds all pipelines.
|
||||
|
||||
### Example
|
||||
|
||||
* Api Key Authentication (Bearer):
|
||||
```python
|
||||
from __future__ import print_function
|
||||
import time
|
||||
import kfp_server_api
|
||||
from kfp_server_api.rest import ApiException
|
||||
from pprint import pprint
|
||||
# Defining the host is optional and defaults to http://localhost
|
||||
# See configuration.py for a list of all supported configuration parameters.
|
||||
configuration = kfp_server_api.Configuration(
|
||||
host = "http://localhost"
|
||||
)
|
||||
|
||||
# The client must configure the authentication and authorization parameters
|
||||
# in accordance with the API server security policy.
|
||||
# Examples for each auth method are provided below, use the example that
|
||||
# satisfies your auth use case.
|
||||
|
||||
# Configure API key authorization: Bearer
|
||||
configuration = kfp_server_api.Configuration(
|
||||
host = "http://localhost",
|
||||
api_key = {
|
||||
'authorization': 'YOUR_API_KEY'
|
||||
}
|
||||
)
|
||||
# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
|
||||
# configuration.api_key_prefix['authorization'] = 'Bearer'
|
||||
|
||||
# Enter a context with an instance of the API client
|
||||
with kfp_server_api.ApiClient(configuration) as api_client:
|
||||
# Create an instance of the API class
|
||||
api_instance = kfp_server_api.PipelineServiceApi(api_client)
|
||||
page_token = 'page_token_example' # str | A page token to request the next page of results. The token is acquried from the nextPageToken field of the response from the previous ListPipelines call. (optional)
|
||||
page_size = 56 # int | The number of pipelines to be listed per page. If there are more pipelines than this number, the response message will contain a valid value in the nextPageToken field. (optional)
|
||||
sort_by = 'sort_by_example' # str | Can be format of \"field_name\", \"field_name asc\" or \"field_name desc\" Ascending by default. (optional)
|
||||
filter = 'filter_example' # str | A url-encoded, JSON-serialized Filter protocol buffer (see [filter.proto](https://github.com/kubeflow/pipelines/ blob/master/backend/api/filter.proto)). (optional)
|
||||
|
||||
try:
|
||||
# Finds all pipelines.
|
||||
api_response = api_instance.list_pipelines(page_token=page_token, page_size=page_size, sort_by=sort_by, filter=filter)
|
||||
pprint(api_response)
|
||||
except ApiException as e:
|
||||
print("Exception when calling PipelineServiceApi->list_pipelines: %s\n" % e)
|
||||
```
|
||||
|
||||
### Parameters
|
||||
|
||||
Name | Type | Description | Notes
|
||||
------------- | ------------- | ------------- | -------------
|
||||
**page_token** | **str**| A page token to request the next page of results. The token is acquried from the nextPageToken field of the response from the previous ListPipelines call. | [optional]
|
||||
**page_size** | **int**| The number of pipelines to be listed per page. If there are more pipelines than this number, the response message will contain a valid value in the nextPageToken field. | [optional]
|
||||
**sort_by** | **str**| Can be format of \"field_name\", \"field_name asc\" or \"field_name desc\" Ascending by default. | [optional]
|
||||
**filter** | **str**| A url-encoded, JSON-serialized Filter protocol buffer (see [filter.proto](https://github.com/kubeflow/pipelines/ blob/master/backend/api/filter.proto)). | [optional]
|
||||
|
||||
### Return type
|
||||
|
||||
[**ApiListPipelinesResponse**](ApiListPipelinesResponse.md)
|
||||
|
||||
### Authorization
|
||||
|
||||
[Bearer](../README.md#Bearer)
|
||||
|
||||
### HTTP request headers
|
||||
|
||||
- **Content-Type**: Not defined
|
||||
- **Accept**: application/json
|
||||
|
||||
### HTTP response details
|
||||
| Status code | Description | Response headers |
|
||||
|-------------|-------------|------------------|
|
||||
**200** | A successful response. | - |
|
||||
**0** | | - |
|
||||
|
||||
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
|
||||
|
||||
|
|
@ -0,0 +1,168 @@
|
|||
# kfp_server_api.PipelineUploadServiceApi
|
||||
|
||||
All URIs are relative to *http://localhost*
|
||||
|
||||
Method | HTTP request | Description
|
||||
------------- | ------------- | -------------
|
||||
[**upload_pipeline**](PipelineUploadServiceApi.md#upload_pipeline) | **POST** /apis/v1beta1/pipelines/upload |
|
||||
[**upload_pipeline_version**](PipelineUploadServiceApi.md#upload_pipeline_version) | **POST** /apis/v1beta1/pipelines/upload_version |
|
||||
|
||||
|
||||
# **upload_pipeline**
|
||||
> ApiPipeline upload_pipeline(uploadfile, name=name, description=description)
|
||||
|
||||
|
||||
|
||||
### Example
|
||||
|
||||
* Api Key Authentication (Bearer):
|
||||
```python
|
||||
from __future__ import print_function
|
||||
import time
|
||||
import kfp_server_api
|
||||
from kfp_server_api.rest import ApiException
|
||||
from pprint import pprint
|
||||
# Defining the host is optional and defaults to http://localhost
|
||||
# See configuration.py for a list of all supported configuration parameters.
|
||||
configuration = kfp_server_api.Configuration(
|
||||
host = "http://localhost"
|
||||
)
|
||||
|
||||
# The client must configure the authentication and authorization parameters
|
||||
# in accordance with the API server security policy.
|
||||
# Examples for each auth method are provided below, use the example that
|
||||
# satisfies your auth use case.
|
||||
|
||||
# Configure API key authorization: Bearer
|
||||
configuration = kfp_server_api.Configuration(
|
||||
host = "http://localhost",
|
||||
api_key = {
|
||||
'authorization': 'YOUR_API_KEY'
|
||||
}
|
||||
)
|
||||
# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
|
||||
# configuration.api_key_prefix['authorization'] = 'Bearer'
|
||||
|
||||
# Enter a context with an instance of the API client
|
||||
with kfp_server_api.ApiClient(configuration) as api_client:
|
||||
# Create an instance of the API class
|
||||
api_instance = kfp_server_api.PipelineUploadServiceApi(api_client)
|
||||
uploadfile = '/path/to/file' # file | The pipeline to upload. Maximum size of 32MB is supported.
|
||||
name = 'name_example' # str | (optional)
|
||||
description = 'description_example' # str | (optional)
|
||||
|
||||
try:
|
||||
api_response = api_instance.upload_pipeline(uploadfile, name=name, description=description)
|
||||
pprint(api_response)
|
||||
except ApiException as e:
|
||||
print("Exception when calling PipelineUploadServiceApi->upload_pipeline: %s\n" % e)
|
||||
```
|
||||
|
||||
### Parameters
|
||||
|
||||
Name | Type | Description | Notes
|
||||
------------- | ------------- | ------------- | -------------
|
||||
**uploadfile** | **file**| The pipeline to upload. Maximum size of 32MB is supported. |
|
||||
**name** | **str**| | [optional]
|
||||
**description** | **str**| | [optional]
|
||||
|
||||
### Return type
|
||||
|
||||
[**ApiPipeline**](ApiPipeline.md)
|
||||
|
||||
### Authorization
|
||||
|
||||
[Bearer](../README.md#Bearer)
|
||||
|
||||
### HTTP request headers
|
||||
|
||||
- **Content-Type**: multipart/form-data
|
||||
- **Accept**: application/json
|
||||
|
||||
### HTTP response details
|
||||
| Status code | Description | Response headers |
|
||||
|-------------|-------------|------------------|
|
||||
**200** | | - |
|
||||
**0** | | - |
|
||||
|
||||
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
|
||||
|
||||
# **upload_pipeline_version**
|
||||
> ApiPipelineVersion upload_pipeline_version(uploadfile, name=name, pipelineid=pipelineid)
|
||||
|
||||
|
||||
|
||||
### Example
|
||||
|
||||
* Api Key Authentication (Bearer):
|
||||
```python
|
||||
from __future__ import print_function
|
||||
import time
|
||||
import kfp_server_api
|
||||
from kfp_server_api.rest import ApiException
|
||||
from pprint import pprint
|
||||
# Defining the host is optional and defaults to http://localhost
|
||||
# See configuration.py for a list of all supported configuration parameters.
|
||||
configuration = kfp_server_api.Configuration(
|
||||
host = "http://localhost"
|
||||
)
|
||||
|
||||
# The client must configure the authentication and authorization parameters
|
||||
# in accordance with the API server security policy.
|
||||
# Examples for each auth method are provided below, use the example that
|
||||
# satisfies your auth use case.
|
||||
|
||||
# Configure API key authorization: Bearer
|
||||
configuration = kfp_server_api.Configuration(
|
||||
host = "http://localhost",
|
||||
api_key = {
|
||||
'authorization': 'YOUR_API_KEY'
|
||||
}
|
||||
)
|
||||
# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
|
||||
# configuration.api_key_prefix['authorization'] = 'Bearer'
|
||||
|
||||
# Enter a context with an instance of the API client
|
||||
with kfp_server_api.ApiClient(configuration) as api_client:
|
||||
# Create an instance of the API class
|
||||
api_instance = kfp_server_api.PipelineUploadServiceApi(api_client)
|
||||
uploadfile = '/path/to/file' # file | The pipeline to upload. Maximum size of 32MB is supported.
|
||||
name = 'name_example' # str | (optional)
|
||||
pipelineid = 'pipelineid_example' # str | (optional)
|
||||
|
||||
try:
|
||||
api_response = api_instance.upload_pipeline_version(uploadfile, name=name, pipelineid=pipelineid)
|
||||
pprint(api_response)
|
||||
except ApiException as e:
|
||||
print("Exception when calling PipelineUploadServiceApi->upload_pipeline_version: %s\n" % e)
|
||||
```
|
||||
|
||||
### Parameters
|
||||
|
||||
Name | Type | Description | Notes
|
||||
------------- | ------------- | ------------- | -------------
|
||||
**uploadfile** | **file**| The pipeline to upload. Maximum size of 32MB is supported. |
|
||||
**name** | **str**| | [optional]
|
||||
**pipelineid** | **str**| | [optional]
|
||||
|
||||
### Return type
|
||||
|
||||
[**ApiPipelineVersion**](ApiPipelineVersion.md)
|
||||
|
||||
### Authorization
|
||||
|
||||
[Bearer](../README.md#Bearer)
|
||||
|
||||
### HTTP request headers
|
||||
|
||||
- **Content-Type**: multipart/form-data
|
||||
- **Accept**: application/json
|
||||
|
||||
### HTTP response details
|
||||
| Status code | Description | Response headers |
|
||||
|-------------|-------------|------------------|
|
||||
**200** | | - |
|
||||
**0** | | - |
|
||||
|
||||
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
|
||||
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
# ProtobufAny
|
||||
|
||||
`Any` contains an arbitrary serialized protocol buffer message along with a URL that describes the type of the serialized message. Protobuf library provides support to pack/unpack Any values in the form of utility functions or additional generated methods of the Any type. Example 1: Pack and unpack a message in C++. Foo foo = ...; Any any; any.PackFrom(foo); ... if (any.UnpackTo(&foo)) { ... } Example 2: Pack and unpack a message in Java. Foo foo = ...; Any any = Any.pack(foo); ... if (any.is(Foo.class)) { foo = any.unpack(Foo.class); } Example 3: Pack and unpack a message in Python. foo = Foo(...) any = Any() any.Pack(foo) ... if any.Is(Foo.DESCRIPTOR): any.Unpack(foo) ... Example 4: Pack and unpack a message in Go foo := &pb.Foo{...} any, err := ptypes.MarshalAny(foo) ... foo := &pb.Foo{} if err := ptypes.UnmarshalAny(any, foo); err != nil { ... } The pack methods provided by protobuf library will by default use 'type.googleapis.com/full.type.name' as the type URL and the unpack methods only use the fully qualified type name after the last '/' in the type URL, for example \"foo.bar.com/x/y.z\" will yield type name \"y.z\". JSON ==== The JSON representation of an `Any` value uses the regular representation of the deserialized, embedded message, with an additional field `@type` which contains the type URL. Example: package google.profile; message Person { string first_name = 1; string last_name = 2; } { \"@type\": \"type.googleapis.com/google.profile.Person\", \"firstName\": <string>, \"lastName\": <string> } If the embedded message type is well-known and has a custom JSON representation, that representation will be embedded adding a field `value` which holds the custom JSON in addition to the `@type` field. Example (for message [google.protobuf.Duration][]): { \"@type\": \"type.googleapis.com/google.protobuf.Duration\", \"value\": \"1.212s\" }
|
||||
## Properties
|
||||
Name | Type | Description | Notes
|
||||
------------ | ------------- | ------------- | -------------
|
||||
**type_url** | **str** | A URL/resource name that uniquely identifies the type of the serialized protocol buffer message. The last segment of the URL's path must represent the fully qualified name of the type (as in `path/google.protobuf.Duration`). The name should be in a canonical form (e.g., leading \".\" is not accepted). In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme `http`, `https`, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows: * If no scheme is provided, `https` is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.) Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com. Schemes other than `http`, `https` (or the empty scheme) might be used with implementation specific semantics. | [optional]
|
||||
**value** | **str** | Must be a valid serialized protocol buffer of the above specified 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)
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,13 @@
|
|||
# ReportRunMetricsResponseReportRunMetricResult
|
||||
|
||||
## Properties
|
||||
Name | Type | Description | Notes
|
||||
------------ | ------------- | ------------- | -------------
|
||||
**metric_name** | **str** | Output. The name of the metric. | [optional]
|
||||
**metric_node_id** | **str** | Output. The ID of the node which reports the metric. | [optional]
|
||||
**status** | [**ReportRunMetricsResponseReportRunMetricResultStatus**](ReportRunMetricsResponseReportRunMetricResultStatus.md) | | [optional]
|
||||
**message** | **str** | Output. The detailed message of the error of the reporting. | [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)
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,10 @@
|
|||
# ReportRunMetricsResponseReportRunMetricResultStatus
|
||||
|
||||
- UNSPECIFIED: Default value if not present. - OK: Indicates successful reporting. - INVALID_ARGUMENT: Indicates that the payload of the metric is invalid. - DUPLICATE_REPORTING: Indicates that the metric has been reported before. - INTERNAL_ERROR: Indicates that something went wrong in the server.
|
||||
## Properties
|
||||
Name | Type | Description | Notes
|
||||
------------ | ------------- | ------------- | -------------
|
||||
|
||||
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,10 @@
|
|||
# RunMetricFormat
|
||||
|
||||
- UNSPECIFIED: Default value if not present. - RAW: Display value as its raw format. - PERCENTAGE: Display value in percentage format.
|
||||
## Properties
|
||||
Name | Type | Description | Notes
|
||||
------------ | ------------- | ------------- | -------------
|
||||
|
||||
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,794 @@
|
|||
# kfp_server_api.RunServiceApi
|
||||
|
||||
All URIs are relative to *http://localhost*
|
||||
|
||||
Method | HTTP request | Description
|
||||
------------- | ------------- | -------------
|
||||
[**archive_run**](RunServiceApi.md#archive_run) | **POST** /apis/v1beta1/runs/{id}:archive | Archives a run.
|
||||
[**create_run**](RunServiceApi.md#create_run) | **POST** /apis/v1beta1/runs | Creates a new run.
|
||||
[**delete_run**](RunServiceApi.md#delete_run) | **DELETE** /apis/v1beta1/runs/{id} | Deletes a run.
|
||||
[**get_run**](RunServiceApi.md#get_run) | **GET** /apis/v1beta1/runs/{run_id} | Finds a specific run by ID.
|
||||
[**list_runs**](RunServiceApi.md#list_runs) | **GET** /apis/v1beta1/runs | Finds all runs.
|
||||
[**read_artifact**](RunServiceApi.md#read_artifact) | **GET** /apis/v1beta1/runs/{run_id}/nodes/{node_id}/artifacts/{artifact_name}:read | Finds a run's artifact data.
|
||||
[**report_run_metrics**](RunServiceApi.md#report_run_metrics) | **POST** /apis/v1beta1/runs/{run_id}:reportMetrics | ReportRunMetrics reports metrics of a run. Each metric is reported in its own transaction, so this API accepts partial failures. Metric can be uniquely identified by (run_id, node_id, name). Duplicate reporting will be ignored by the API. First reporting wins.
|
||||
[**retry_run**](RunServiceApi.md#retry_run) | **POST** /apis/v1beta1/runs/{run_id}/retry | Re-initiates a failed or terminated run.
|
||||
[**terminate_run**](RunServiceApi.md#terminate_run) | **POST** /apis/v1beta1/runs/{run_id}/terminate | Terminates an active run.
|
||||
[**unarchive_run**](RunServiceApi.md#unarchive_run) | **POST** /apis/v1beta1/runs/{id}:unarchive | Restores an archived run.
|
||||
|
||||
|
||||
# **archive_run**
|
||||
> object archive_run(id)
|
||||
|
||||
Archives a run.
|
||||
|
||||
### Example
|
||||
|
||||
* Api Key Authentication (Bearer):
|
||||
```python
|
||||
from __future__ import print_function
|
||||
import time
|
||||
import kfp_server_api
|
||||
from kfp_server_api.rest import ApiException
|
||||
from pprint import pprint
|
||||
# Defining the host is optional and defaults to http://localhost
|
||||
# See configuration.py for a list of all supported configuration parameters.
|
||||
configuration = kfp_server_api.Configuration(
|
||||
host = "http://localhost"
|
||||
)
|
||||
|
||||
# The client must configure the authentication and authorization parameters
|
||||
# in accordance with the API server security policy.
|
||||
# Examples for each auth method are provided below, use the example that
|
||||
# satisfies your auth use case.
|
||||
|
||||
# Configure API key authorization: Bearer
|
||||
configuration = kfp_server_api.Configuration(
|
||||
host = "http://localhost",
|
||||
api_key = {
|
||||
'authorization': 'YOUR_API_KEY'
|
||||
}
|
||||
)
|
||||
# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
|
||||
# configuration.api_key_prefix['authorization'] = 'Bearer'
|
||||
|
||||
# Enter a context with an instance of the API client
|
||||
with kfp_server_api.ApiClient(configuration) as api_client:
|
||||
# Create an instance of the API class
|
||||
api_instance = kfp_server_api.RunServiceApi(api_client)
|
||||
id = 'id_example' # str | The ID of the run to be archived.
|
||||
|
||||
try:
|
||||
# Archives a run.
|
||||
api_response = api_instance.archive_run(id)
|
||||
pprint(api_response)
|
||||
except ApiException as e:
|
||||
print("Exception when calling RunServiceApi->archive_run: %s\n" % e)
|
||||
```
|
||||
|
||||
### Parameters
|
||||
|
||||
Name | Type | Description | Notes
|
||||
------------- | ------------- | ------------- | -------------
|
||||
**id** | **str**| The ID of the run to be archived. |
|
||||
|
||||
### Return type
|
||||
|
||||
**object**
|
||||
|
||||
### Authorization
|
||||
|
||||
[Bearer](../README.md#Bearer)
|
||||
|
||||
### HTTP request headers
|
||||
|
||||
- **Content-Type**: Not defined
|
||||
- **Accept**: application/json
|
||||
|
||||
### HTTP response details
|
||||
| Status code | Description | Response headers |
|
||||
|-------------|-------------|------------------|
|
||||
**200** | A successful response. | - |
|
||||
**0** | | - |
|
||||
|
||||
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
|
||||
|
||||
# **create_run**
|
||||
> ApiRunDetail create_run(body)
|
||||
|
||||
Creates a new run.
|
||||
|
||||
### Example
|
||||
|
||||
* Api Key Authentication (Bearer):
|
||||
```python
|
||||
from __future__ import print_function
|
||||
import time
|
||||
import kfp_server_api
|
||||
from kfp_server_api.rest import ApiException
|
||||
from pprint import pprint
|
||||
# Defining the host is optional and defaults to http://localhost
|
||||
# See configuration.py for a list of all supported configuration parameters.
|
||||
configuration = kfp_server_api.Configuration(
|
||||
host = "http://localhost"
|
||||
)
|
||||
|
||||
# The client must configure the authentication and authorization parameters
|
||||
# in accordance with the API server security policy.
|
||||
# Examples for each auth method are provided below, use the example that
|
||||
# satisfies your auth use case.
|
||||
|
||||
# Configure API key authorization: Bearer
|
||||
configuration = kfp_server_api.Configuration(
|
||||
host = "http://localhost",
|
||||
api_key = {
|
||||
'authorization': 'YOUR_API_KEY'
|
||||
}
|
||||
)
|
||||
# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
|
||||
# configuration.api_key_prefix['authorization'] = 'Bearer'
|
||||
|
||||
# Enter a context with an instance of the API client
|
||||
with kfp_server_api.ApiClient(configuration) as api_client:
|
||||
# Create an instance of the API class
|
||||
api_instance = kfp_server_api.RunServiceApi(api_client)
|
||||
body = kfp_server_api.ApiRun() # ApiRun |
|
||||
|
||||
try:
|
||||
# Creates a new run.
|
||||
api_response = api_instance.create_run(body)
|
||||
pprint(api_response)
|
||||
except ApiException as e:
|
||||
print("Exception when calling RunServiceApi->create_run: %s\n" % e)
|
||||
```
|
||||
|
||||
### Parameters
|
||||
|
||||
Name | Type | Description | Notes
|
||||
------------- | ------------- | ------------- | -------------
|
||||
**body** | [**ApiRun**](ApiRun.md)| |
|
||||
|
||||
### Return type
|
||||
|
||||
[**ApiRunDetail**](ApiRunDetail.md)
|
||||
|
||||
### Authorization
|
||||
|
||||
[Bearer](../README.md#Bearer)
|
||||
|
||||
### HTTP request headers
|
||||
|
||||
- **Content-Type**: application/json
|
||||
- **Accept**: application/json
|
||||
|
||||
### HTTP response details
|
||||
| Status code | Description | Response headers |
|
||||
|-------------|-------------|------------------|
|
||||
**200** | A successful response. | - |
|
||||
**0** | | - |
|
||||
|
||||
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
|
||||
|
||||
# **delete_run**
|
||||
> object delete_run(id)
|
||||
|
||||
Deletes a run.
|
||||
|
||||
### Example
|
||||
|
||||
* Api Key Authentication (Bearer):
|
||||
```python
|
||||
from __future__ import print_function
|
||||
import time
|
||||
import kfp_server_api
|
||||
from kfp_server_api.rest import ApiException
|
||||
from pprint import pprint
|
||||
# Defining the host is optional and defaults to http://localhost
|
||||
# See configuration.py for a list of all supported configuration parameters.
|
||||
configuration = kfp_server_api.Configuration(
|
||||
host = "http://localhost"
|
||||
)
|
||||
|
||||
# The client must configure the authentication and authorization parameters
|
||||
# in accordance with the API server security policy.
|
||||
# Examples for each auth method are provided below, use the example that
|
||||
# satisfies your auth use case.
|
||||
|
||||
# Configure API key authorization: Bearer
|
||||
configuration = kfp_server_api.Configuration(
|
||||
host = "http://localhost",
|
||||
api_key = {
|
||||
'authorization': 'YOUR_API_KEY'
|
||||
}
|
||||
)
|
||||
# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
|
||||
# configuration.api_key_prefix['authorization'] = 'Bearer'
|
||||
|
||||
# Enter a context with an instance of the API client
|
||||
with kfp_server_api.ApiClient(configuration) as api_client:
|
||||
# Create an instance of the API class
|
||||
api_instance = kfp_server_api.RunServiceApi(api_client)
|
||||
id = 'id_example' # str | The ID of the run to be deleted.
|
||||
|
||||
try:
|
||||
# Deletes a run.
|
||||
api_response = api_instance.delete_run(id)
|
||||
pprint(api_response)
|
||||
except ApiException as e:
|
||||
print("Exception when calling RunServiceApi->delete_run: %s\n" % e)
|
||||
```
|
||||
|
||||
### Parameters
|
||||
|
||||
Name | Type | Description | Notes
|
||||
------------- | ------------- | ------------- | -------------
|
||||
**id** | **str**| The ID of the run to be deleted. |
|
||||
|
||||
### Return type
|
||||
|
||||
**object**
|
||||
|
||||
### Authorization
|
||||
|
||||
[Bearer](../README.md#Bearer)
|
||||
|
||||
### HTTP request headers
|
||||
|
||||
- **Content-Type**: Not defined
|
||||
- **Accept**: application/json
|
||||
|
||||
### HTTP response details
|
||||
| Status code | Description | Response headers |
|
||||
|-------------|-------------|------------------|
|
||||
**200** | A successful response. | - |
|
||||
**0** | | - |
|
||||
|
||||
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
|
||||
|
||||
# **get_run**
|
||||
> ApiRunDetail get_run(run_id)
|
||||
|
||||
Finds a specific run by ID.
|
||||
|
||||
### Example
|
||||
|
||||
* Api Key Authentication (Bearer):
|
||||
```python
|
||||
from __future__ import print_function
|
||||
import time
|
||||
import kfp_server_api
|
||||
from kfp_server_api.rest import ApiException
|
||||
from pprint import pprint
|
||||
# Defining the host is optional and defaults to http://localhost
|
||||
# See configuration.py for a list of all supported configuration parameters.
|
||||
configuration = kfp_server_api.Configuration(
|
||||
host = "http://localhost"
|
||||
)
|
||||
|
||||
# The client must configure the authentication and authorization parameters
|
||||
# in accordance with the API server security policy.
|
||||
# Examples for each auth method are provided below, use the example that
|
||||
# satisfies your auth use case.
|
||||
|
||||
# Configure API key authorization: Bearer
|
||||
configuration = kfp_server_api.Configuration(
|
||||
host = "http://localhost",
|
||||
api_key = {
|
||||
'authorization': 'YOUR_API_KEY'
|
||||
}
|
||||
)
|
||||
# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
|
||||
# configuration.api_key_prefix['authorization'] = 'Bearer'
|
||||
|
||||
# Enter a context with an instance of the API client
|
||||
with kfp_server_api.ApiClient(configuration) as api_client:
|
||||
# Create an instance of the API class
|
||||
api_instance = kfp_server_api.RunServiceApi(api_client)
|
||||
run_id = 'run_id_example' # str | The ID of the run to be retrieved.
|
||||
|
||||
try:
|
||||
# Finds a specific run by ID.
|
||||
api_response = api_instance.get_run(run_id)
|
||||
pprint(api_response)
|
||||
except ApiException as e:
|
||||
print("Exception when calling RunServiceApi->get_run: %s\n" % e)
|
||||
```
|
||||
|
||||
### Parameters
|
||||
|
||||
Name | Type | Description | Notes
|
||||
------------- | ------------- | ------------- | -------------
|
||||
**run_id** | **str**| The ID of the run to be retrieved. |
|
||||
|
||||
### Return type
|
||||
|
||||
[**ApiRunDetail**](ApiRunDetail.md)
|
||||
|
||||
### Authorization
|
||||
|
||||
[Bearer](../README.md#Bearer)
|
||||
|
||||
### HTTP request headers
|
||||
|
||||
- **Content-Type**: Not defined
|
||||
- **Accept**: application/json
|
||||
|
||||
### HTTP response details
|
||||
| Status code | Description | Response headers |
|
||||
|-------------|-------------|------------------|
|
||||
**200** | A successful response. | - |
|
||||
**0** | | - |
|
||||
|
||||
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
|
||||
|
||||
# **list_runs**
|
||||
> ApiListRunsResponse list_runs(page_token=page_token, page_size=page_size, sort_by=sort_by, resource_reference_key_type=resource_reference_key_type, resource_reference_key_id=resource_reference_key_id, filter=filter)
|
||||
|
||||
Finds all runs.
|
||||
|
||||
### Example
|
||||
|
||||
* Api Key Authentication (Bearer):
|
||||
```python
|
||||
from __future__ import print_function
|
||||
import time
|
||||
import kfp_server_api
|
||||
from kfp_server_api.rest import ApiException
|
||||
from pprint import pprint
|
||||
# Defining the host is optional and defaults to http://localhost
|
||||
# See configuration.py for a list of all supported configuration parameters.
|
||||
configuration = kfp_server_api.Configuration(
|
||||
host = "http://localhost"
|
||||
)
|
||||
|
||||
# The client must configure the authentication and authorization parameters
|
||||
# in accordance with the API server security policy.
|
||||
# Examples for each auth method are provided below, use the example that
|
||||
# satisfies your auth use case.
|
||||
|
||||
# Configure API key authorization: Bearer
|
||||
configuration = kfp_server_api.Configuration(
|
||||
host = "http://localhost",
|
||||
api_key = {
|
||||
'authorization': 'YOUR_API_KEY'
|
||||
}
|
||||
)
|
||||
# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
|
||||
# configuration.api_key_prefix['authorization'] = 'Bearer'
|
||||
|
||||
# Enter a context with an instance of the API client
|
||||
with kfp_server_api.ApiClient(configuration) as api_client:
|
||||
# Create an instance of the API class
|
||||
api_instance = kfp_server_api.RunServiceApi(api_client)
|
||||
page_token = 'page_token_example' # str | A page token to request the next page of results. The token is acquried from the nextPageToken field of the response from the previous ListRuns call or can be omitted when fetching the first page. (optional)
|
||||
page_size = 56 # int | The number of runs to be listed per page. If there are more runs than this number, the response message will contain a nextPageToken field you can use to fetch the next page. (optional)
|
||||
sort_by = 'sort_by_example' # str | Can be format of \"field_name\", \"field_name asc\" or \"field_name desc\" (Example, \"name asc\" or \"id desc\"). Ascending by default. (optional)
|
||||
resource_reference_key_type = 'UNKNOWN_RESOURCE_TYPE' # str | The type of the resource that referred to. (optional) (default to 'UNKNOWN_RESOURCE_TYPE')
|
||||
resource_reference_key_id = 'resource_reference_key_id_example' # str | The ID of the resource that referred to. (optional)
|
||||
filter = 'filter_example' # str | A url-encoded, JSON-serialized Filter protocol buffer (see [filter.proto](https://github.com/kubeflow/pipelines/ blob/master/backend/api/filter.proto)). (optional)
|
||||
|
||||
try:
|
||||
# Finds all runs.
|
||||
api_response = api_instance.list_runs(page_token=page_token, page_size=page_size, sort_by=sort_by, resource_reference_key_type=resource_reference_key_type, resource_reference_key_id=resource_reference_key_id, filter=filter)
|
||||
pprint(api_response)
|
||||
except ApiException as e:
|
||||
print("Exception when calling RunServiceApi->list_runs: %s\n" % e)
|
||||
```
|
||||
|
||||
### Parameters
|
||||
|
||||
Name | Type | Description | Notes
|
||||
------------- | ------------- | ------------- | -------------
|
||||
**page_token** | **str**| A page token to request the next page of results. The token is acquried from the nextPageToken field of the response from the previous ListRuns call or can be omitted when fetching the first page. | [optional]
|
||||
**page_size** | **int**| The number of runs to be listed per page. If there are more runs than this number, the response message will contain a nextPageToken field you can use to fetch the next page. | [optional]
|
||||
**sort_by** | **str**| Can be format of \"field_name\", \"field_name asc\" or \"field_name desc\" (Example, \"name asc\" or \"id desc\"). Ascending by default. | [optional]
|
||||
**resource_reference_key_type** | **str**| The type of the resource that referred to. | [optional] [default to 'UNKNOWN_RESOURCE_TYPE']
|
||||
**resource_reference_key_id** | **str**| The ID of the resource that referred to. | [optional]
|
||||
**filter** | **str**| A url-encoded, JSON-serialized Filter protocol buffer (see [filter.proto](https://github.com/kubeflow/pipelines/ blob/master/backend/api/filter.proto)). | [optional]
|
||||
|
||||
### Return type
|
||||
|
||||
[**ApiListRunsResponse**](ApiListRunsResponse.md)
|
||||
|
||||
### Authorization
|
||||
|
||||
[Bearer](../README.md#Bearer)
|
||||
|
||||
### HTTP request headers
|
||||
|
||||
- **Content-Type**: Not defined
|
||||
- **Accept**: application/json
|
||||
|
||||
### HTTP response details
|
||||
| Status code | Description | Response headers |
|
||||
|-------------|-------------|------------------|
|
||||
**200** | A successful response. | - |
|
||||
**0** | | - |
|
||||
|
||||
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
|
||||
|
||||
# **read_artifact**
|
||||
> ApiReadArtifactResponse read_artifact(run_id, node_id, artifact_name)
|
||||
|
||||
Finds a run's artifact data.
|
||||
|
||||
### Example
|
||||
|
||||
* Api Key Authentication (Bearer):
|
||||
```python
|
||||
from __future__ import print_function
|
||||
import time
|
||||
import kfp_server_api
|
||||
from kfp_server_api.rest import ApiException
|
||||
from pprint import pprint
|
||||
# Defining the host is optional and defaults to http://localhost
|
||||
# See configuration.py for a list of all supported configuration parameters.
|
||||
configuration = kfp_server_api.Configuration(
|
||||
host = "http://localhost"
|
||||
)
|
||||
|
||||
# The client must configure the authentication and authorization parameters
|
||||
# in accordance with the API server security policy.
|
||||
# Examples for each auth method are provided below, use the example that
|
||||
# satisfies your auth use case.
|
||||
|
||||
# Configure API key authorization: Bearer
|
||||
configuration = kfp_server_api.Configuration(
|
||||
host = "http://localhost",
|
||||
api_key = {
|
||||
'authorization': 'YOUR_API_KEY'
|
||||
}
|
||||
)
|
||||
# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
|
||||
# configuration.api_key_prefix['authorization'] = 'Bearer'
|
||||
|
||||
# Enter a context with an instance of the API client
|
||||
with kfp_server_api.ApiClient(configuration) as api_client:
|
||||
# Create an instance of the API class
|
||||
api_instance = kfp_server_api.RunServiceApi(api_client)
|
||||
run_id = 'run_id_example' # str | The ID of the run.
|
||||
node_id = 'node_id_example' # str | The ID of the running node.
|
||||
artifact_name = 'artifact_name_example' # str | The name of the artifact.
|
||||
|
||||
try:
|
||||
# Finds a run's artifact data.
|
||||
api_response = api_instance.read_artifact(run_id, node_id, artifact_name)
|
||||
pprint(api_response)
|
||||
except ApiException as e:
|
||||
print("Exception when calling RunServiceApi->read_artifact: %s\n" % e)
|
||||
```
|
||||
|
||||
### Parameters
|
||||
|
||||
Name | Type | Description | Notes
|
||||
------------- | ------------- | ------------- | -------------
|
||||
**run_id** | **str**| The ID of the run. |
|
||||
**node_id** | **str**| The ID of the running node. |
|
||||
**artifact_name** | **str**| The name of the artifact. |
|
||||
|
||||
### Return type
|
||||
|
||||
[**ApiReadArtifactResponse**](ApiReadArtifactResponse.md)
|
||||
|
||||
### Authorization
|
||||
|
||||
[Bearer](../README.md#Bearer)
|
||||
|
||||
### HTTP request headers
|
||||
|
||||
- **Content-Type**: Not defined
|
||||
- **Accept**: application/json
|
||||
|
||||
### HTTP response details
|
||||
| Status code | Description | Response headers |
|
||||
|-------------|-------------|------------------|
|
||||
**200** | A successful response. | - |
|
||||
**0** | | - |
|
||||
|
||||
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
|
||||
|
||||
# **report_run_metrics**
|
||||
> ApiReportRunMetricsResponse report_run_metrics(run_id, body)
|
||||
|
||||
ReportRunMetrics reports metrics of a run. Each metric is reported in its own transaction, so this API accepts partial failures. Metric can be uniquely identified by (run_id, node_id, name). Duplicate reporting will be ignored by the API. First reporting wins.
|
||||
|
||||
### Example
|
||||
|
||||
* Api Key Authentication (Bearer):
|
||||
```python
|
||||
from __future__ import print_function
|
||||
import time
|
||||
import kfp_server_api
|
||||
from kfp_server_api.rest import ApiException
|
||||
from pprint import pprint
|
||||
# Defining the host is optional and defaults to http://localhost
|
||||
# See configuration.py for a list of all supported configuration parameters.
|
||||
configuration = kfp_server_api.Configuration(
|
||||
host = "http://localhost"
|
||||
)
|
||||
|
||||
# The client must configure the authentication and authorization parameters
|
||||
# in accordance with the API server security policy.
|
||||
# Examples for each auth method are provided below, use the example that
|
||||
# satisfies your auth use case.
|
||||
|
||||
# Configure API key authorization: Bearer
|
||||
configuration = kfp_server_api.Configuration(
|
||||
host = "http://localhost",
|
||||
api_key = {
|
||||
'authorization': 'YOUR_API_KEY'
|
||||
}
|
||||
)
|
||||
# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
|
||||
# configuration.api_key_prefix['authorization'] = 'Bearer'
|
||||
|
||||
# Enter a context with an instance of the API client
|
||||
with kfp_server_api.ApiClient(configuration) as api_client:
|
||||
# Create an instance of the API class
|
||||
api_instance = kfp_server_api.RunServiceApi(api_client)
|
||||
run_id = 'run_id_example' # str | Required. The parent run ID of the metric.
|
||||
body = kfp_server_api.ApiReportRunMetricsRequest() # ApiReportRunMetricsRequest |
|
||||
|
||||
try:
|
||||
# ReportRunMetrics reports metrics of a run. Each metric is reported in its own transaction, so this API accepts partial failures. Metric can be uniquely identified by (run_id, node_id, name). Duplicate reporting will be ignored by the API. First reporting wins.
|
||||
api_response = api_instance.report_run_metrics(run_id, body)
|
||||
pprint(api_response)
|
||||
except ApiException as e:
|
||||
print("Exception when calling RunServiceApi->report_run_metrics: %s\n" % e)
|
||||
```
|
||||
|
||||
### Parameters
|
||||
|
||||
Name | Type | Description | Notes
|
||||
------------- | ------------- | ------------- | -------------
|
||||
**run_id** | **str**| Required. The parent run ID of the metric. |
|
||||
**body** | [**ApiReportRunMetricsRequest**](ApiReportRunMetricsRequest.md)| |
|
||||
|
||||
### Return type
|
||||
|
||||
[**ApiReportRunMetricsResponse**](ApiReportRunMetricsResponse.md)
|
||||
|
||||
### Authorization
|
||||
|
||||
[Bearer](../README.md#Bearer)
|
||||
|
||||
### HTTP request headers
|
||||
|
||||
- **Content-Type**: application/json
|
||||
- **Accept**: application/json
|
||||
|
||||
### HTTP response details
|
||||
| Status code | Description | Response headers |
|
||||
|-------------|-------------|------------------|
|
||||
**200** | A successful response. | - |
|
||||
**0** | | - |
|
||||
|
||||
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
|
||||
|
||||
# **retry_run**
|
||||
> object retry_run(run_id)
|
||||
|
||||
Re-initiates a failed or terminated run.
|
||||
|
||||
### Example
|
||||
|
||||
* Api Key Authentication (Bearer):
|
||||
```python
|
||||
from __future__ import print_function
|
||||
import time
|
||||
import kfp_server_api
|
||||
from kfp_server_api.rest import ApiException
|
||||
from pprint import pprint
|
||||
# Defining the host is optional and defaults to http://localhost
|
||||
# See configuration.py for a list of all supported configuration parameters.
|
||||
configuration = kfp_server_api.Configuration(
|
||||
host = "http://localhost"
|
||||
)
|
||||
|
||||
# The client must configure the authentication and authorization parameters
|
||||
# in accordance with the API server security policy.
|
||||
# Examples for each auth method are provided below, use the example that
|
||||
# satisfies your auth use case.
|
||||
|
||||
# Configure API key authorization: Bearer
|
||||
configuration = kfp_server_api.Configuration(
|
||||
host = "http://localhost",
|
||||
api_key = {
|
||||
'authorization': 'YOUR_API_KEY'
|
||||
}
|
||||
)
|
||||
# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
|
||||
# configuration.api_key_prefix['authorization'] = 'Bearer'
|
||||
|
||||
# Enter a context with an instance of the API client
|
||||
with kfp_server_api.ApiClient(configuration) as api_client:
|
||||
# Create an instance of the API class
|
||||
api_instance = kfp_server_api.RunServiceApi(api_client)
|
||||
run_id = 'run_id_example' # str | The ID of the run to be retried.
|
||||
|
||||
try:
|
||||
# Re-initiates a failed or terminated run.
|
||||
api_response = api_instance.retry_run(run_id)
|
||||
pprint(api_response)
|
||||
except ApiException as e:
|
||||
print("Exception when calling RunServiceApi->retry_run: %s\n" % e)
|
||||
```
|
||||
|
||||
### Parameters
|
||||
|
||||
Name | Type | Description | Notes
|
||||
------------- | ------------- | ------------- | -------------
|
||||
**run_id** | **str**| The ID of the run to be retried. |
|
||||
|
||||
### Return type
|
||||
|
||||
**object**
|
||||
|
||||
### Authorization
|
||||
|
||||
[Bearer](../README.md#Bearer)
|
||||
|
||||
### HTTP request headers
|
||||
|
||||
- **Content-Type**: Not defined
|
||||
- **Accept**: application/json
|
||||
|
||||
### HTTP response details
|
||||
| Status code | Description | Response headers |
|
||||
|-------------|-------------|------------------|
|
||||
**200** | A successful response. | - |
|
||||
**0** | | - |
|
||||
|
||||
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
|
||||
|
||||
# **terminate_run**
|
||||
> object terminate_run(run_id)
|
||||
|
||||
Terminates an active run.
|
||||
|
||||
### Example
|
||||
|
||||
* Api Key Authentication (Bearer):
|
||||
```python
|
||||
from __future__ import print_function
|
||||
import time
|
||||
import kfp_server_api
|
||||
from kfp_server_api.rest import ApiException
|
||||
from pprint import pprint
|
||||
# Defining the host is optional and defaults to http://localhost
|
||||
# See configuration.py for a list of all supported configuration parameters.
|
||||
configuration = kfp_server_api.Configuration(
|
||||
host = "http://localhost"
|
||||
)
|
||||
|
||||
# The client must configure the authentication and authorization parameters
|
||||
# in accordance with the API server security policy.
|
||||
# Examples for each auth method are provided below, use the example that
|
||||
# satisfies your auth use case.
|
||||
|
||||
# Configure API key authorization: Bearer
|
||||
configuration = kfp_server_api.Configuration(
|
||||
host = "http://localhost",
|
||||
api_key = {
|
||||
'authorization': 'YOUR_API_KEY'
|
||||
}
|
||||
)
|
||||
# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
|
||||
# configuration.api_key_prefix['authorization'] = 'Bearer'
|
||||
|
||||
# Enter a context with an instance of the API client
|
||||
with kfp_server_api.ApiClient(configuration) as api_client:
|
||||
# Create an instance of the API class
|
||||
api_instance = kfp_server_api.RunServiceApi(api_client)
|
||||
run_id = 'run_id_example' # str | The ID of the run to be terminated.
|
||||
|
||||
try:
|
||||
# Terminates an active run.
|
||||
api_response = api_instance.terminate_run(run_id)
|
||||
pprint(api_response)
|
||||
except ApiException as e:
|
||||
print("Exception when calling RunServiceApi->terminate_run: %s\n" % e)
|
||||
```
|
||||
|
||||
### Parameters
|
||||
|
||||
Name | Type | Description | Notes
|
||||
------------- | ------------- | ------------- | -------------
|
||||
**run_id** | **str**| The ID of the run to be terminated. |
|
||||
|
||||
### Return type
|
||||
|
||||
**object**
|
||||
|
||||
### Authorization
|
||||
|
||||
[Bearer](../README.md#Bearer)
|
||||
|
||||
### HTTP request headers
|
||||
|
||||
- **Content-Type**: Not defined
|
||||
- **Accept**: application/json
|
||||
|
||||
### HTTP response details
|
||||
| Status code | Description | Response headers |
|
||||
|-------------|-------------|------------------|
|
||||
**200** | A successful response. | - |
|
||||
**0** | | - |
|
||||
|
||||
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
|
||||
|
||||
# **unarchive_run**
|
||||
> object unarchive_run(id)
|
||||
|
||||
Restores an archived run.
|
||||
|
||||
### Example
|
||||
|
||||
* Api Key Authentication (Bearer):
|
||||
```python
|
||||
from __future__ import print_function
|
||||
import time
|
||||
import kfp_server_api
|
||||
from kfp_server_api.rest import ApiException
|
||||
from pprint import pprint
|
||||
# Defining the host is optional and defaults to http://localhost
|
||||
# See configuration.py for a list of all supported configuration parameters.
|
||||
configuration = kfp_server_api.Configuration(
|
||||
host = "http://localhost"
|
||||
)
|
||||
|
||||
# The client must configure the authentication and authorization parameters
|
||||
# in accordance with the API server security policy.
|
||||
# Examples for each auth method are provided below, use the example that
|
||||
# satisfies your auth use case.
|
||||
|
||||
# Configure API key authorization: Bearer
|
||||
configuration = kfp_server_api.Configuration(
|
||||
host = "http://localhost",
|
||||
api_key = {
|
||||
'authorization': 'YOUR_API_KEY'
|
||||
}
|
||||
)
|
||||
# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
|
||||
# configuration.api_key_prefix['authorization'] = 'Bearer'
|
||||
|
||||
# Enter a context with an instance of the API client
|
||||
with kfp_server_api.ApiClient(configuration) as api_client:
|
||||
# Create an instance of the API class
|
||||
api_instance = kfp_server_api.RunServiceApi(api_client)
|
||||
id = 'id_example' # str | The ID of the run to be restored.
|
||||
|
||||
try:
|
||||
# Restores an archived run.
|
||||
api_response = api_instance.unarchive_run(id)
|
||||
pprint(api_response)
|
||||
except ApiException as e:
|
||||
print("Exception when calling RunServiceApi->unarchive_run: %s\n" % e)
|
||||
```
|
||||
|
||||
### Parameters
|
||||
|
||||
Name | Type | Description | Notes
|
||||
------------- | ------------- | ------------- | -------------
|
||||
**id** | **str**| The ID of the run to be restored. |
|
||||
|
||||
### Return type
|
||||
|
||||
**object**
|
||||
|
||||
### Authorization
|
||||
|
||||
[Bearer](../README.md#Bearer)
|
||||
|
||||
### HTTP request headers
|
||||
|
||||
- **Content-Type**: Not defined
|
||||
- **Accept**: application/json
|
||||
|
||||
### HTTP response details
|
||||
| Status code | Description | Response headers |
|
||||
|-------------|-------------|------------------|
|
||||
**200** | A successful response. | - |
|
||||
**0** | | - |
|
||||
|
||||
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
|
||||
|
||||
|
|
@ -0,0 +1,9 @@
|
|||
# RunStorageState
|
||||
|
||||
## Properties
|
||||
Name | Type | Description | Notes
|
||||
------------ | ------------- | ------------- | -------------
|
||||
|
||||
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,72 @@
|
|||
#!/bin/sh
|
||||
# Copyright 2020 Google LLC
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
# ref: https://help.github.com/articles/adding-an-existing-project-to-github-using-the-command-line/
|
||||
#
|
||||
# Usage example: /bin/sh ./git_push.sh wing328 openapi-pestore-perl "minor update" "gitlab.com"
|
||||
|
||||
git_user_id=$1
|
||||
git_repo_id=$2
|
||||
release_note=$3
|
||||
git_host=$4
|
||||
|
||||
if [ "$git_host" = "" ]; then
|
||||
git_host="github.com"
|
||||
echo "[INFO] No command line input provided. Set \$git_host to $git_host"
|
||||
fi
|
||||
|
||||
if [ "$git_user_id" = "" ]; then
|
||||
git_user_id="GIT_USER_ID"
|
||||
echo "[INFO] No command line input provided. Set \$git_user_id to $git_user_id"
|
||||
fi
|
||||
|
||||
if [ "$git_repo_id" = "" ]; then
|
||||
git_repo_id="GIT_REPO_ID"
|
||||
echo "[INFO] No command line input provided. Set \$git_repo_id to $git_repo_id"
|
||||
fi
|
||||
|
||||
if [ "$release_note" = "" ]; then
|
||||
release_note="Minor update"
|
||||
echo "[INFO] No command line input provided. Set \$release_note to $release_note"
|
||||
fi
|
||||
|
||||
# Initialize the local directory as a Git repository
|
||||
git init
|
||||
|
||||
# Adds the files in the local repository and stages them for commit.
|
||||
git add .
|
||||
|
||||
# Commits the tracked changes and prepares them to be pushed to a remote repository.
|
||||
git commit -m "$release_note"
|
||||
|
||||
# Sets the new remote
|
||||
git_remote=`git remote`
|
||||
if [ "$git_remote" = "" ]; then # git remote not defined
|
||||
|
||||
if [ "$GIT_TOKEN" = "" ]; then
|
||||
echo "[INFO] \$GIT_TOKEN (environment variable) is not set. Using the git credential in your environment."
|
||||
git remote add origin https://${git_host}/${git_user_id}/${git_repo_id}.git
|
||||
else
|
||||
git remote add origin https://${git_user_id}:${GIT_TOKEN}@${git_host}/${git_user_id}/${git_repo_id}.git
|
||||
fi
|
||||
|
||||
fi
|
||||
|
||||
git pull origin master
|
||||
|
||||
# Pushes (Forces) the changes in the local repository up to the remote repository
|
||||
echo "Git pushing to https://${git_host}/${git_user_id}/${git_repo_id}.git"
|
||||
git push origin master 2>&1 | grep -v 'To https'
|
||||
|
||||
|
|
@ -0,0 +1,84 @@
|
|||
# Copyright 2020 Google LLC
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
# coding: utf-8
|
||||
|
||||
# flake8: noqa
|
||||
|
||||
"""
|
||||
Kubeflow Pipelines API
|
||||
|
||||
This file contains REST API specification for Kubeflow Pipelines. The file is autogenerated from the swagger definition.
|
||||
|
||||
Contact: kubeflow-pipelines@google.com
|
||||
Generated by: https://openapi-generator.tech
|
||||
"""
|
||||
|
||||
|
||||
from __future__ import absolute_import
|
||||
|
||||
__version__ = "1.0.0"
|
||||
|
||||
# import apis into sdk package
|
||||
from kfp_server_api.api.experiment_service_api import ExperimentServiceApi
|
||||
from kfp_server_api.api.job_service_api import JobServiceApi
|
||||
from kfp_server_api.api.pipeline_service_api import PipelineServiceApi
|
||||
from kfp_server_api.api.pipeline_upload_service_api import PipelineUploadServiceApi
|
||||
from kfp_server_api.api.run_service_api import RunServiceApi
|
||||
|
||||
# import ApiClient
|
||||
from kfp_server_api.api_client import ApiClient
|
||||
from kfp_server_api.configuration import Configuration
|
||||
from kfp_server_api.exceptions import OpenApiException
|
||||
from kfp_server_api.exceptions import ApiTypeError
|
||||
from kfp_server_api.exceptions import ApiValueError
|
||||
from kfp_server_api.exceptions import ApiKeyError
|
||||
from kfp_server_api.exceptions import ApiException
|
||||
# import models into sdk package
|
||||
from kfp_server_api.models.api_cron_schedule import ApiCronSchedule
|
||||
from kfp_server_api.models.api_experiment import ApiExperiment
|
||||
from kfp_server_api.models.api_get_template_response import ApiGetTemplateResponse
|
||||
from kfp_server_api.models.api_job import ApiJob
|
||||
from kfp_server_api.models.api_list_experiments_response import ApiListExperimentsResponse
|
||||
from kfp_server_api.models.api_list_jobs_response import ApiListJobsResponse
|
||||
from kfp_server_api.models.api_list_pipeline_versions_response import ApiListPipelineVersionsResponse
|
||||
from kfp_server_api.models.api_list_pipelines_response import ApiListPipelinesResponse
|
||||
from kfp_server_api.models.api_list_runs_response import ApiListRunsResponse
|
||||
from kfp_server_api.models.api_parameter import ApiParameter
|
||||
from kfp_server_api.models.api_periodic_schedule import ApiPeriodicSchedule
|
||||
from kfp_server_api.models.api_pipeline import ApiPipeline
|
||||
from kfp_server_api.models.api_pipeline_runtime import ApiPipelineRuntime
|
||||
from kfp_server_api.models.api_pipeline_spec import ApiPipelineSpec
|
||||
from kfp_server_api.models.api_pipeline_version import ApiPipelineVersion
|
||||
from kfp_server_api.models.api_read_artifact_response import ApiReadArtifactResponse
|
||||
from kfp_server_api.models.api_relationship import ApiRelationship
|
||||
from kfp_server_api.models.api_report_run_metrics_request import ApiReportRunMetricsRequest
|
||||
from kfp_server_api.models.api_report_run_metrics_response import ApiReportRunMetricsResponse
|
||||
from kfp_server_api.models.api_resource_key import ApiResourceKey
|
||||
from kfp_server_api.models.api_resource_reference import ApiResourceReference
|
||||
from kfp_server_api.models.api_resource_type import ApiResourceType
|
||||
from kfp_server_api.models.api_run import ApiRun
|
||||
from kfp_server_api.models.api_run_detail import ApiRunDetail
|
||||
from kfp_server_api.models.api_run_metric import ApiRunMetric
|
||||
from kfp_server_api.models.api_status import ApiStatus
|
||||
from kfp_server_api.models.api_trigger import ApiTrigger
|
||||
from kfp_server_api.models.api_url import ApiUrl
|
||||
from kfp_server_api.models.experiment_storage_state import ExperimentStorageState
|
||||
from kfp_server_api.models.job_mode import JobMode
|
||||
from kfp_server_api.models.protobuf_any import ProtobufAny
|
||||
from kfp_server_api.models.report_run_metrics_response_report_run_metric_result import ReportRunMetricsResponseReportRunMetricResult
|
||||
from kfp_server_api.models.report_run_metrics_response_report_run_metric_result_status import ReportRunMetricsResponseReportRunMetricResultStatus
|
||||
from kfp_server_api.models.run_metric_format import RunMetricFormat
|
||||
from kfp_server_api.models.run_storage_state import RunStorageState
|
||||
|
||||
|
|
@ -0,0 +1,24 @@
|
|||
# Copyright 2020 Google LLC
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
from __future__ import absolute_import
|
||||
|
||||
# flake8: noqa
|
||||
|
||||
# import apis into api package
|
||||
from kfp_server_api.api.experiment_service_api import ExperimentServiceApi
|
||||
from kfp_server_api.api.job_service_api import JobServiceApi
|
||||
from kfp_server_api.api.pipeline_service_api import PipelineServiceApi
|
||||
from kfp_server_api.api.pipeline_upload_service_api import PipelineUploadServiceApi
|
||||
from kfp_server_api.api.run_service_api import RunServiceApi
|
||||
|
|
@ -0,0 +1,818 @@
|
|||
# Copyright 2020 Google LLC
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
# coding: utf-8
|
||||
|
||||
"""
|
||||
Kubeflow Pipelines API
|
||||
|
||||
This file contains REST API specification for Kubeflow Pipelines. The file is autogenerated from the swagger definition.
|
||||
|
||||
Contact: kubeflow-pipelines@google.com
|
||||
Generated by: https://openapi-generator.tech
|
||||
"""
|
||||
|
||||
|
||||
from __future__ import absolute_import
|
||||
|
||||
import re # noqa: F401
|
||||
|
||||
# python 2 and python 3 compatibility library
|
||||
import six
|
||||
|
||||
from kfp_server_api.api_client import ApiClient
|
||||
from kfp_server_api.exceptions import ( # noqa: F401
|
||||
ApiTypeError,
|
||||
ApiValueError
|
||||
)
|
||||
|
||||
|
||||
class ExperimentServiceApi(object):
|
||||
"""NOTE: This class is auto generated by OpenAPI Generator
|
||||
Ref: https://openapi-generator.tech
|
||||
|
||||
Do not edit the class manually.
|
||||
"""
|
||||
|
||||
def __init__(self, api_client=None):
|
||||
if api_client is None:
|
||||
api_client = ApiClient()
|
||||
self.api_client = api_client
|
||||
|
||||
def archive_experiment(self, id, **kwargs): # noqa: E501
|
||||
"""Archives an experiment and the experiment's runs and jobs. # noqa: E501
|
||||
|
||||
This method makes a synchronous HTTP request by default. To make an
|
||||
asynchronous HTTP request, please pass async_req=True
|
||||
|
||||
>>> thread = api.archive_experiment(id, async_req=True)
|
||||
>>> result = thread.get()
|
||||
|
||||
:param id: The ID of the experiment to be archived. (required)
|
||||
:type id: str
|
||||
:param async_req: Whether to execute the request asynchronously.
|
||||
:type async_req: bool, optional
|
||||
:param _preload_content: if False, the urllib3.HTTPResponse object will
|
||||
be returned without reading/decoding response
|
||||
data. Default is True.
|
||||
:param _request_timeout: timeout setting for this request. If one
|
||||
number provided, it will be total request
|
||||
timeout. It can also be a pair (tuple) of
|
||||
(connection, read) timeouts.
|
||||
:return: Returns the result object.
|
||||
If the method is called asynchronously,
|
||||
returns the request thread.
|
||||
:rtype: object
|
||||
"""
|
||||
kwargs['_return_http_data_only'] = True
|
||||
return self.archive_experiment_with_http_info(id, **kwargs) # noqa: E501
|
||||
|
||||
def archive_experiment_with_http_info(self, id, **kwargs): # noqa: E501
|
||||
"""Archives an experiment and the experiment's runs and jobs. # noqa: E501
|
||||
|
||||
This method makes a synchronous HTTP request by default. To make an
|
||||
asynchronous HTTP request, please pass async_req=True
|
||||
|
||||
>>> thread = api.archive_experiment_with_http_info(id, async_req=True)
|
||||
>>> result = thread.get()
|
||||
|
||||
:param id: The ID of the experiment to be archived. (required)
|
||||
:type id: str
|
||||
:param async_req: Whether to execute the request asynchronously.
|
||||
:type async_req: bool, optional
|
||||
:param _return_http_data_only: response data without head status code
|
||||
and headers
|
||||
:type _return_http_data_only: bool, optional
|
||||
:param _preload_content: if False, the urllib3.HTTPResponse object will
|
||||
be returned without reading/decoding response
|
||||
data. Default is True.
|
||||
:type _preload_content: bool, optional
|
||||
:param _request_timeout: timeout setting for this request. If one
|
||||
number provided, it will be total request
|
||||
timeout. It can also be a pair (tuple) of
|
||||
(connection, read) timeouts.
|
||||
:return: Returns the result object.
|
||||
If the method is called asynchronously,
|
||||
returns the request thread.
|
||||
:rtype: tuple(object, status_code(int), headers(HTTPHeaderDict))
|
||||
"""
|
||||
|
||||
local_var_params = locals()
|
||||
|
||||
all_params = [
|
||||
'id'
|
||||
]
|
||||
all_params.extend(
|
||||
[
|
||||
'async_req',
|
||||
'_return_http_data_only',
|
||||
'_preload_content',
|
||||
'_request_timeout'
|
||||
]
|
||||
)
|
||||
|
||||
for key, val in six.iteritems(local_var_params['kwargs']):
|
||||
if key not in all_params:
|
||||
raise ApiTypeError(
|
||||
"Got an unexpected keyword argument '%s'"
|
||||
" to method archive_experiment" % key
|
||||
)
|
||||
local_var_params[key] = val
|
||||
del local_var_params['kwargs']
|
||||
# verify the required parameter 'id' is set
|
||||
if self.api_client.client_side_validation and ('id' not in local_var_params or # noqa: E501
|
||||
local_var_params['id'] is None): # noqa: E501
|
||||
raise ApiValueError("Missing the required parameter `id` when calling `archive_experiment`") # noqa: E501
|
||||
|
||||
collection_formats = {}
|
||||
|
||||
path_params = {}
|
||||
if 'id' in local_var_params:
|
||||
path_params['id'] = local_var_params['id'] # noqa: E501
|
||||
|
||||
query_params = []
|
||||
|
||||
header_params = {}
|
||||
|
||||
form_params = []
|
||||
local_var_files = {}
|
||||
|
||||
body_params = None
|
||||
# HTTP header `Accept`
|
||||
header_params['Accept'] = self.api_client.select_header_accept(
|
||||
['application/json']) # noqa: E501
|
||||
|
||||
# Authentication setting
|
||||
auth_settings = ['Bearer'] # noqa: E501
|
||||
|
||||
return self.api_client.call_api(
|
||||
'/apis/v1beta1/experiments/{id}:archive', 'POST',
|
||||
path_params,
|
||||
query_params,
|
||||
header_params,
|
||||
body=body_params,
|
||||
post_params=form_params,
|
||||
files=local_var_files,
|
||||
response_type='object', # noqa: E501
|
||||
auth_settings=auth_settings,
|
||||
async_req=local_var_params.get('async_req'),
|
||||
_return_http_data_only=local_var_params.get('_return_http_data_only'), # noqa: E501
|
||||
_preload_content=local_var_params.get('_preload_content', True),
|
||||
_request_timeout=local_var_params.get('_request_timeout'),
|
||||
collection_formats=collection_formats)
|
||||
|
||||
def create_experiment(self, body, **kwargs): # noqa: E501
|
||||
"""Creates a new experiment. # noqa: E501
|
||||
|
||||
This method makes a synchronous HTTP request by default. To make an
|
||||
asynchronous HTTP request, please pass async_req=True
|
||||
|
||||
>>> thread = api.create_experiment(body, async_req=True)
|
||||
>>> result = thread.get()
|
||||
|
||||
:param body: The experiment to be created. (required)
|
||||
:type body: ApiExperiment
|
||||
:param async_req: Whether to execute the request asynchronously.
|
||||
:type async_req: bool, optional
|
||||
:param _preload_content: if False, the urllib3.HTTPResponse object will
|
||||
be returned without reading/decoding response
|
||||
data. Default is True.
|
||||
:param _request_timeout: timeout setting for this request. If one
|
||||
number provided, it will be total request
|
||||
timeout. It can also be a pair (tuple) of
|
||||
(connection, read) timeouts.
|
||||
:return: Returns the result object.
|
||||
If the method is called asynchronously,
|
||||
returns the request thread.
|
||||
:rtype: ApiExperiment
|
||||
"""
|
||||
kwargs['_return_http_data_only'] = True
|
||||
return self.create_experiment_with_http_info(body, **kwargs) # noqa: E501
|
||||
|
||||
def create_experiment_with_http_info(self, body, **kwargs): # noqa: E501
|
||||
"""Creates a new experiment. # noqa: E501
|
||||
|
||||
This method makes a synchronous HTTP request by default. To make an
|
||||
asynchronous HTTP request, please pass async_req=True
|
||||
|
||||
>>> thread = api.create_experiment_with_http_info(body, async_req=True)
|
||||
>>> result = thread.get()
|
||||
|
||||
:param body: The experiment to be created. (required)
|
||||
:type body: ApiExperiment
|
||||
:param async_req: Whether to execute the request asynchronously.
|
||||
:type async_req: bool, optional
|
||||
:param _return_http_data_only: response data without head status code
|
||||
and headers
|
||||
:type _return_http_data_only: bool, optional
|
||||
:param _preload_content: if False, the urllib3.HTTPResponse object will
|
||||
be returned without reading/decoding response
|
||||
data. Default is True.
|
||||
:type _preload_content: bool, optional
|
||||
:param _request_timeout: timeout setting for this request. If one
|
||||
number provided, it will be total request
|
||||
timeout. It can also be a pair (tuple) of
|
||||
(connection, read) timeouts.
|
||||
:return: Returns the result object.
|
||||
If the method is called asynchronously,
|
||||
returns the request thread.
|
||||
:rtype: tuple(ApiExperiment, status_code(int), headers(HTTPHeaderDict))
|
||||
"""
|
||||
|
||||
local_var_params = locals()
|
||||
|
||||
all_params = [
|
||||
'body'
|
||||
]
|
||||
all_params.extend(
|
||||
[
|
||||
'async_req',
|
||||
'_return_http_data_only',
|
||||
'_preload_content',
|
||||
'_request_timeout'
|
||||
]
|
||||
)
|
||||
|
||||
for key, val in six.iteritems(local_var_params['kwargs']):
|
||||
if key not in all_params:
|
||||
raise ApiTypeError(
|
||||
"Got an unexpected keyword argument '%s'"
|
||||
" to method create_experiment" % key
|
||||
)
|
||||
local_var_params[key] = val
|
||||
del local_var_params['kwargs']
|
||||
# verify the required parameter 'body' is set
|
||||
if self.api_client.client_side_validation and ('body' not in local_var_params or # noqa: E501
|
||||
local_var_params['body'] is None): # noqa: E501
|
||||
raise ApiValueError("Missing the required parameter `body` when calling `create_experiment`") # noqa: E501
|
||||
|
||||
collection_formats = {}
|
||||
|
||||
path_params = {}
|
||||
|
||||
query_params = []
|
||||
|
||||
header_params = {}
|
||||
|
||||
form_params = []
|
||||
local_var_files = {}
|
||||
|
||||
body_params = None
|
||||
if 'body' in local_var_params:
|
||||
body_params = local_var_params['body']
|
||||
# HTTP header `Accept`
|
||||
header_params['Accept'] = self.api_client.select_header_accept(
|
||||
['application/json']) # noqa: E501
|
||||
|
||||
# HTTP header `Content-Type`
|
||||
header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501
|
||||
['application/json']) # noqa: E501
|
||||
|
||||
# Authentication setting
|
||||
auth_settings = ['Bearer'] # noqa: E501
|
||||
|
||||
return self.api_client.call_api(
|
||||
'/apis/v1beta1/experiments', 'POST',
|
||||
path_params,
|
||||
query_params,
|
||||
header_params,
|
||||
body=body_params,
|
||||
post_params=form_params,
|
||||
files=local_var_files,
|
||||
response_type='ApiExperiment', # noqa: E501
|
||||
auth_settings=auth_settings,
|
||||
async_req=local_var_params.get('async_req'),
|
||||
_return_http_data_only=local_var_params.get('_return_http_data_only'), # noqa: E501
|
||||
_preload_content=local_var_params.get('_preload_content', True),
|
||||
_request_timeout=local_var_params.get('_request_timeout'),
|
||||
collection_formats=collection_formats)
|
||||
|
||||
def delete_experiment(self, id, **kwargs): # noqa: E501
|
||||
"""Deletes an experiment without deleting the experiment's runs and jobs. To avoid unexpected behaviors, delete an experiment's runs and jobs before deleting the experiment. # noqa: E501
|
||||
|
||||
This method makes a synchronous HTTP request by default. To make an
|
||||
asynchronous HTTP request, please pass async_req=True
|
||||
|
||||
>>> thread = api.delete_experiment(id, async_req=True)
|
||||
>>> result = thread.get()
|
||||
|
||||
:param id: The ID of the experiment to be deleted. (required)
|
||||
:type id: str
|
||||
:param async_req: Whether to execute the request asynchronously.
|
||||
:type async_req: bool, optional
|
||||
:param _preload_content: if False, the urllib3.HTTPResponse object will
|
||||
be returned without reading/decoding response
|
||||
data. Default is True.
|
||||
:param _request_timeout: timeout setting for this request. If one
|
||||
number provided, it will be total request
|
||||
timeout. It can also be a pair (tuple) of
|
||||
(connection, read) timeouts.
|
||||
:return: Returns the result object.
|
||||
If the method is called asynchronously,
|
||||
returns the request thread.
|
||||
:rtype: object
|
||||
"""
|
||||
kwargs['_return_http_data_only'] = True
|
||||
return self.delete_experiment_with_http_info(id, **kwargs) # noqa: E501
|
||||
|
||||
def delete_experiment_with_http_info(self, id, **kwargs): # noqa: E501
|
||||
"""Deletes an experiment without deleting the experiment's runs and jobs. To avoid unexpected behaviors, delete an experiment's runs and jobs before deleting the experiment. # noqa: E501
|
||||
|
||||
This method makes a synchronous HTTP request by default. To make an
|
||||
asynchronous HTTP request, please pass async_req=True
|
||||
|
||||
>>> thread = api.delete_experiment_with_http_info(id, async_req=True)
|
||||
>>> result = thread.get()
|
||||
|
||||
:param id: The ID of the experiment to be deleted. (required)
|
||||
:type id: str
|
||||
:param async_req: Whether to execute the request asynchronously.
|
||||
:type async_req: bool, optional
|
||||
:param _return_http_data_only: response data without head status code
|
||||
and headers
|
||||
:type _return_http_data_only: bool, optional
|
||||
:param _preload_content: if False, the urllib3.HTTPResponse object will
|
||||
be returned without reading/decoding response
|
||||
data. Default is True.
|
||||
:type _preload_content: bool, optional
|
||||
:param _request_timeout: timeout setting for this request. If one
|
||||
number provided, it will be total request
|
||||
timeout. It can also be a pair (tuple) of
|
||||
(connection, read) timeouts.
|
||||
:return: Returns the result object.
|
||||
If the method is called asynchronously,
|
||||
returns the request thread.
|
||||
:rtype: tuple(object, status_code(int), headers(HTTPHeaderDict))
|
||||
"""
|
||||
|
||||
local_var_params = locals()
|
||||
|
||||
all_params = [
|
||||
'id'
|
||||
]
|
||||
all_params.extend(
|
||||
[
|
||||
'async_req',
|
||||
'_return_http_data_only',
|
||||
'_preload_content',
|
||||
'_request_timeout'
|
||||
]
|
||||
)
|
||||
|
||||
for key, val in six.iteritems(local_var_params['kwargs']):
|
||||
if key not in all_params:
|
||||
raise ApiTypeError(
|
||||
"Got an unexpected keyword argument '%s'"
|
||||
" to method delete_experiment" % key
|
||||
)
|
||||
local_var_params[key] = val
|
||||
del local_var_params['kwargs']
|
||||
# verify the required parameter 'id' is set
|
||||
if self.api_client.client_side_validation and ('id' not in local_var_params or # noqa: E501
|
||||
local_var_params['id'] is None): # noqa: E501
|
||||
raise ApiValueError("Missing the required parameter `id` when calling `delete_experiment`") # noqa: E501
|
||||
|
||||
collection_formats = {}
|
||||
|
||||
path_params = {}
|
||||
if 'id' in local_var_params:
|
||||
path_params['id'] = local_var_params['id'] # noqa: E501
|
||||
|
||||
query_params = []
|
||||
|
||||
header_params = {}
|
||||
|
||||
form_params = []
|
||||
local_var_files = {}
|
||||
|
||||
body_params = None
|
||||
# HTTP header `Accept`
|
||||
header_params['Accept'] = self.api_client.select_header_accept(
|
||||
['application/json']) # noqa: E501
|
||||
|
||||
# Authentication setting
|
||||
auth_settings = ['Bearer'] # noqa: E501
|
||||
|
||||
return self.api_client.call_api(
|
||||
'/apis/v1beta1/experiments/{id}', 'DELETE',
|
||||
path_params,
|
||||
query_params,
|
||||
header_params,
|
||||
body=body_params,
|
||||
post_params=form_params,
|
||||
files=local_var_files,
|
||||
response_type='object', # noqa: E501
|
||||
auth_settings=auth_settings,
|
||||
async_req=local_var_params.get('async_req'),
|
||||
_return_http_data_only=local_var_params.get('_return_http_data_only'), # noqa: E501
|
||||
_preload_content=local_var_params.get('_preload_content', True),
|
||||
_request_timeout=local_var_params.get('_request_timeout'),
|
||||
collection_formats=collection_formats)
|
||||
|
||||
def get_experiment(self, id, **kwargs): # noqa: E501
|
||||
"""Finds a specific experiment by ID. # noqa: E501
|
||||
|
||||
This method makes a synchronous HTTP request by default. To make an
|
||||
asynchronous HTTP request, please pass async_req=True
|
||||
|
||||
>>> thread = api.get_experiment(id, async_req=True)
|
||||
>>> result = thread.get()
|
||||
|
||||
:param id: The ID of the experiment to be retrieved. (required)
|
||||
:type id: str
|
||||
:param async_req: Whether to execute the request asynchronously.
|
||||
:type async_req: bool, optional
|
||||
:param _preload_content: if False, the urllib3.HTTPResponse object will
|
||||
be returned without reading/decoding response
|
||||
data. Default is True.
|
||||
:param _request_timeout: timeout setting for this request. If one
|
||||
number provided, it will be total request
|
||||
timeout. It can also be a pair (tuple) of
|
||||
(connection, read) timeouts.
|
||||
:return: Returns the result object.
|
||||
If the method is called asynchronously,
|
||||
returns the request thread.
|
||||
:rtype: ApiExperiment
|
||||
"""
|
||||
kwargs['_return_http_data_only'] = True
|
||||
return self.get_experiment_with_http_info(id, **kwargs) # noqa: E501
|
||||
|
||||
def get_experiment_with_http_info(self, id, **kwargs): # noqa: E501
|
||||
"""Finds a specific experiment by ID. # noqa: E501
|
||||
|
||||
This method makes a synchronous HTTP request by default. To make an
|
||||
asynchronous HTTP request, please pass async_req=True
|
||||
|
||||
>>> thread = api.get_experiment_with_http_info(id, async_req=True)
|
||||
>>> result = thread.get()
|
||||
|
||||
:param id: The ID of the experiment to be retrieved. (required)
|
||||
:type id: str
|
||||
:param async_req: Whether to execute the request asynchronously.
|
||||
:type async_req: bool, optional
|
||||
:param _return_http_data_only: response data without head status code
|
||||
and headers
|
||||
:type _return_http_data_only: bool, optional
|
||||
:param _preload_content: if False, the urllib3.HTTPResponse object will
|
||||
be returned without reading/decoding response
|
||||
data. Default is True.
|
||||
:type _preload_content: bool, optional
|
||||
:param _request_timeout: timeout setting for this request. If one
|
||||
number provided, it will be total request
|
||||
timeout. It can also be a pair (tuple) of
|
||||
(connection, read) timeouts.
|
||||
:return: Returns the result object.
|
||||
If the method is called asynchronously,
|
||||
returns the request thread.
|
||||
:rtype: tuple(ApiExperiment, status_code(int), headers(HTTPHeaderDict))
|
||||
"""
|
||||
|
||||
local_var_params = locals()
|
||||
|
||||
all_params = [
|
||||
'id'
|
||||
]
|
||||
all_params.extend(
|
||||
[
|
||||
'async_req',
|
||||
'_return_http_data_only',
|
||||
'_preload_content',
|
||||
'_request_timeout'
|
||||
]
|
||||
)
|
||||
|
||||
for key, val in six.iteritems(local_var_params['kwargs']):
|
||||
if key not in all_params:
|
||||
raise ApiTypeError(
|
||||
"Got an unexpected keyword argument '%s'"
|
||||
" to method get_experiment" % key
|
||||
)
|
||||
local_var_params[key] = val
|
||||
del local_var_params['kwargs']
|
||||
# verify the required parameter 'id' is set
|
||||
if self.api_client.client_side_validation and ('id' not in local_var_params or # noqa: E501
|
||||
local_var_params['id'] is None): # noqa: E501
|
||||
raise ApiValueError("Missing the required parameter `id` when calling `get_experiment`") # noqa: E501
|
||||
|
||||
collection_formats = {}
|
||||
|
||||
path_params = {}
|
||||
if 'id' in local_var_params:
|
||||
path_params['id'] = local_var_params['id'] # noqa: E501
|
||||
|
||||
query_params = []
|
||||
|
||||
header_params = {}
|
||||
|
||||
form_params = []
|
||||
local_var_files = {}
|
||||
|
||||
body_params = None
|
||||
# HTTP header `Accept`
|
||||
header_params['Accept'] = self.api_client.select_header_accept(
|
||||
['application/json']) # noqa: E501
|
||||
|
||||
# Authentication setting
|
||||
auth_settings = ['Bearer'] # noqa: E501
|
||||
|
||||
return self.api_client.call_api(
|
||||
'/apis/v1beta1/experiments/{id}', 'GET',
|
||||
path_params,
|
||||
query_params,
|
||||
header_params,
|
||||
body=body_params,
|
||||
post_params=form_params,
|
||||
files=local_var_files,
|
||||
response_type='ApiExperiment', # noqa: E501
|
||||
auth_settings=auth_settings,
|
||||
async_req=local_var_params.get('async_req'),
|
||||
_return_http_data_only=local_var_params.get('_return_http_data_only'), # noqa: E501
|
||||
_preload_content=local_var_params.get('_preload_content', True),
|
||||
_request_timeout=local_var_params.get('_request_timeout'),
|
||||
collection_formats=collection_formats)
|
||||
|
||||
def list_experiment(self, **kwargs): # noqa: E501
|
||||
"""Finds all experiments. Supports pagination, and sorting on certain fields. # noqa: E501
|
||||
|
||||
This method makes a synchronous HTTP request by default. To make an
|
||||
asynchronous HTTP request, please pass async_req=True
|
||||
|
||||
>>> thread = api.list_experiment(async_req=True)
|
||||
>>> result = thread.get()
|
||||
|
||||
:param page_token: A page token to request the next page of results. The token is acquried from the nextPageToken field of the response from the previous ListExperiment call or can be omitted when fetching the first page.
|
||||
:type page_token: str
|
||||
:param page_size: The number of experiments to be listed per page. If there are more experiments than this number, the response message will contain a nextPageToken field you can use to fetch the next page.
|
||||
:type page_size: int
|
||||
:param sort_by: Can be format of \"field_name\", \"field_name asc\" or \"field_name desc\" Ascending by default.
|
||||
:type sort_by: str
|
||||
:param filter: A url-encoded, JSON-serialized Filter protocol buffer (see [filter.proto](https://github.com/kubeflow/pipelines/ blob/master/backend/api/filter.proto)).
|
||||
:type filter: str
|
||||
:param resource_reference_key_type: The type of the resource that referred to.
|
||||
:type resource_reference_key_type: str
|
||||
:param resource_reference_key_id: The ID of the resource that referred to.
|
||||
:type resource_reference_key_id: str
|
||||
:param async_req: Whether to execute the request asynchronously.
|
||||
:type async_req: bool, optional
|
||||
:param _preload_content: if False, the urllib3.HTTPResponse object will
|
||||
be returned without reading/decoding response
|
||||
data. Default is True.
|
||||
:param _request_timeout: timeout setting for this request. If one
|
||||
number provided, it will be total request
|
||||
timeout. It can also be a pair (tuple) of
|
||||
(connection, read) timeouts.
|
||||
:return: Returns the result object.
|
||||
If the method is called asynchronously,
|
||||
returns the request thread.
|
||||
:rtype: ApiListExperimentsResponse
|
||||
"""
|
||||
kwargs['_return_http_data_only'] = True
|
||||
return self.list_experiment_with_http_info(**kwargs) # noqa: E501
|
||||
|
||||
def list_experiment_with_http_info(self, **kwargs): # noqa: E501
|
||||
"""Finds all experiments. Supports pagination, and sorting on certain fields. # noqa: E501
|
||||
|
||||
This method makes a synchronous HTTP request by default. To make an
|
||||
asynchronous HTTP request, please pass async_req=True
|
||||
|
||||
>>> thread = api.list_experiment_with_http_info(async_req=True)
|
||||
>>> result = thread.get()
|
||||
|
||||
:param page_token: A page token to request the next page of results. The token is acquried from the nextPageToken field of the response from the previous ListExperiment call or can be omitted when fetching the first page.
|
||||
:type page_token: str
|
||||
:param page_size: The number of experiments to be listed per page. If there are more experiments than this number, the response message will contain a nextPageToken field you can use to fetch the next page.
|
||||
:type page_size: int
|
||||
:param sort_by: Can be format of \"field_name\", \"field_name asc\" or \"field_name desc\" Ascending by default.
|
||||
:type sort_by: str
|
||||
:param filter: A url-encoded, JSON-serialized Filter protocol buffer (see [filter.proto](https://github.com/kubeflow/pipelines/ blob/master/backend/api/filter.proto)).
|
||||
:type filter: str
|
||||
:param resource_reference_key_type: The type of the resource that referred to.
|
||||
:type resource_reference_key_type: str
|
||||
:param resource_reference_key_id: The ID of the resource that referred to.
|
||||
:type resource_reference_key_id: str
|
||||
:param async_req: Whether to execute the request asynchronously.
|
||||
:type async_req: bool, optional
|
||||
:param _return_http_data_only: response data without head status code
|
||||
and headers
|
||||
:type _return_http_data_only: bool, optional
|
||||
:param _preload_content: if False, the urllib3.HTTPResponse object will
|
||||
be returned without reading/decoding response
|
||||
data. Default is True.
|
||||
:type _preload_content: bool, optional
|
||||
:param _request_timeout: timeout setting for this request. If one
|
||||
number provided, it will be total request
|
||||
timeout. It can also be a pair (tuple) of
|
||||
(connection, read) timeouts.
|
||||
:return: Returns the result object.
|
||||
If the method is called asynchronously,
|
||||
returns the request thread.
|
||||
:rtype: tuple(ApiListExperimentsResponse, status_code(int), headers(HTTPHeaderDict))
|
||||
"""
|
||||
|
||||
local_var_params = locals()
|
||||
|
||||
all_params = [
|
||||
'page_token',
|
||||
'page_size',
|
||||
'sort_by',
|
||||
'filter',
|
||||
'resource_reference_key_type',
|
||||
'resource_reference_key_id'
|
||||
]
|
||||
all_params.extend(
|
||||
[
|
||||
'async_req',
|
||||
'_return_http_data_only',
|
||||
'_preload_content',
|
||||
'_request_timeout'
|
||||
]
|
||||
)
|
||||
|
||||
for key, val in six.iteritems(local_var_params['kwargs']):
|
||||
if key not in all_params:
|
||||
raise ApiTypeError(
|
||||
"Got an unexpected keyword argument '%s'"
|
||||
" to method list_experiment" % key
|
||||
)
|
||||
local_var_params[key] = val
|
||||
del local_var_params['kwargs']
|
||||
|
||||
collection_formats = {}
|
||||
|
||||
path_params = {}
|
||||
|
||||
query_params = []
|
||||
if 'page_token' in local_var_params and local_var_params['page_token'] is not None: # noqa: E501
|
||||
query_params.append(('page_token', local_var_params['page_token'])) # noqa: E501
|
||||
if 'page_size' in local_var_params and local_var_params['page_size'] is not None: # noqa: E501
|
||||
query_params.append(('page_size', local_var_params['page_size'])) # noqa: E501
|
||||
if 'sort_by' in local_var_params and local_var_params['sort_by'] is not None: # noqa: E501
|
||||
query_params.append(('sort_by', local_var_params['sort_by'])) # noqa: E501
|
||||
if 'filter' in local_var_params and local_var_params['filter'] is not None: # noqa: E501
|
||||
query_params.append(('filter', local_var_params['filter'])) # noqa: E501
|
||||
if 'resource_reference_key_type' in local_var_params and local_var_params['resource_reference_key_type'] is not None: # noqa: E501
|
||||
query_params.append(('resource_reference_key.type', local_var_params['resource_reference_key_type'])) # noqa: E501
|
||||
if 'resource_reference_key_id' in local_var_params and local_var_params['resource_reference_key_id'] is not None: # noqa: E501
|
||||
query_params.append(('resource_reference_key.id', local_var_params['resource_reference_key_id'])) # noqa: E501
|
||||
|
||||
header_params = {}
|
||||
|
||||
form_params = []
|
||||
local_var_files = {}
|
||||
|
||||
body_params = None
|
||||
# HTTP header `Accept`
|
||||
header_params['Accept'] = self.api_client.select_header_accept(
|
||||
['application/json']) # noqa: E501
|
||||
|
||||
# Authentication setting
|
||||
auth_settings = ['Bearer'] # noqa: E501
|
||||
|
||||
return self.api_client.call_api(
|
||||
'/apis/v1beta1/experiments', 'GET',
|
||||
path_params,
|
||||
query_params,
|
||||
header_params,
|
||||
body=body_params,
|
||||
post_params=form_params,
|
||||
files=local_var_files,
|
||||
response_type='ApiListExperimentsResponse', # noqa: E501
|
||||
auth_settings=auth_settings,
|
||||
async_req=local_var_params.get('async_req'),
|
||||
_return_http_data_only=local_var_params.get('_return_http_data_only'), # noqa: E501
|
||||
_preload_content=local_var_params.get('_preload_content', True),
|
||||
_request_timeout=local_var_params.get('_request_timeout'),
|
||||
collection_formats=collection_formats)
|
||||
|
||||
def unarchive_experiment(self, id, **kwargs): # noqa: E501
|
||||
"""Restores an archived experiment. The experiment's archived runs and jobs will stay archived. # noqa: E501
|
||||
|
||||
This method makes a synchronous HTTP request by default. To make an
|
||||
asynchronous HTTP request, please pass async_req=True
|
||||
|
||||
>>> thread = api.unarchive_experiment(id, async_req=True)
|
||||
>>> result = thread.get()
|
||||
|
||||
:param id: The ID of the experiment to be restored. (required)
|
||||
:type id: str
|
||||
:param async_req: Whether to execute the request asynchronously.
|
||||
:type async_req: bool, optional
|
||||
:param _preload_content: if False, the urllib3.HTTPResponse object will
|
||||
be returned without reading/decoding response
|
||||
data. Default is True.
|
||||
:param _request_timeout: timeout setting for this request. If one
|
||||
number provided, it will be total request
|
||||
timeout. It can also be a pair (tuple) of
|
||||
(connection, read) timeouts.
|
||||
:return: Returns the result object.
|
||||
If the method is called asynchronously,
|
||||
returns the request thread.
|
||||
:rtype: object
|
||||
"""
|
||||
kwargs['_return_http_data_only'] = True
|
||||
return self.unarchive_experiment_with_http_info(id, **kwargs) # noqa: E501
|
||||
|
||||
def unarchive_experiment_with_http_info(self, id, **kwargs): # noqa: E501
|
||||
"""Restores an archived experiment. The experiment's archived runs and jobs will stay archived. # noqa: E501
|
||||
|
||||
This method makes a synchronous HTTP request by default. To make an
|
||||
asynchronous HTTP request, please pass async_req=True
|
||||
|
||||
>>> thread = api.unarchive_experiment_with_http_info(id, async_req=True)
|
||||
>>> result = thread.get()
|
||||
|
||||
:param id: The ID of the experiment to be restored. (required)
|
||||
:type id: str
|
||||
:param async_req: Whether to execute the request asynchronously.
|
||||
:type async_req: bool, optional
|
||||
:param _return_http_data_only: response data without head status code
|
||||
and headers
|
||||
:type _return_http_data_only: bool, optional
|
||||
:param _preload_content: if False, the urllib3.HTTPResponse object will
|
||||
be returned without reading/decoding response
|
||||
data. Default is True.
|
||||
:type _preload_content: bool, optional
|
||||
:param _request_timeout: timeout setting for this request. If one
|
||||
number provided, it will be total request
|
||||
timeout. It can also be a pair (tuple) of
|
||||
(connection, read) timeouts.
|
||||
:return: Returns the result object.
|
||||
If the method is called asynchronously,
|
||||
returns the request thread.
|
||||
:rtype: tuple(object, status_code(int), headers(HTTPHeaderDict))
|
||||
"""
|
||||
|
||||
local_var_params = locals()
|
||||
|
||||
all_params = [
|
||||
'id'
|
||||
]
|
||||
all_params.extend(
|
||||
[
|
||||
'async_req',
|
||||
'_return_http_data_only',
|
||||
'_preload_content',
|
||||
'_request_timeout'
|
||||
]
|
||||
)
|
||||
|
||||
for key, val in six.iteritems(local_var_params['kwargs']):
|
||||
if key not in all_params:
|
||||
raise ApiTypeError(
|
||||
"Got an unexpected keyword argument '%s'"
|
||||
" to method unarchive_experiment" % key
|
||||
)
|
||||
local_var_params[key] = val
|
||||
del local_var_params['kwargs']
|
||||
# verify the required parameter 'id' is set
|
||||
if self.api_client.client_side_validation and ('id' not in local_var_params or # noqa: E501
|
||||
local_var_params['id'] is None): # noqa: E501
|
||||
raise ApiValueError("Missing the required parameter `id` when calling `unarchive_experiment`") # noqa: E501
|
||||
|
||||
collection_formats = {}
|
||||
|
||||
path_params = {}
|
||||
if 'id' in local_var_params:
|
||||
path_params['id'] = local_var_params['id'] # noqa: E501
|
||||
|
||||
query_params = []
|
||||
|
||||
header_params = {}
|
||||
|
||||
form_params = []
|
||||
local_var_files = {}
|
||||
|
||||
body_params = None
|
||||
# HTTP header `Accept`
|
||||
header_params['Accept'] = self.api_client.select_header_accept(
|
||||
['application/json']) # noqa: E501
|
||||
|
||||
# Authentication setting
|
||||
auth_settings = ['Bearer'] # noqa: E501
|
||||
|
||||
return self.api_client.call_api(
|
||||
'/apis/v1beta1/experiments/{id}:unarchive', 'POST',
|
||||
path_params,
|
||||
query_params,
|
||||
header_params,
|
||||
body=body_params,
|
||||
post_params=form_params,
|
||||
files=local_var_files,
|
||||
response_type='object', # noqa: E501
|
||||
auth_settings=auth_settings,
|
||||
async_req=local_var_params.get('async_req'),
|
||||
_return_http_data_only=local_var_params.get('_return_http_data_only'), # noqa: E501
|
||||
_preload_content=local_var_params.get('_preload_content', True),
|
||||
_request_timeout=local_var_params.get('_request_timeout'),
|
||||
collection_formats=collection_formats)
|
||||
|
|
@ -0,0 +1,818 @@
|
|||
# Copyright 2020 Google LLC
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
# coding: utf-8
|
||||
|
||||
"""
|
||||
Kubeflow Pipelines API
|
||||
|
||||
This file contains REST API specification for Kubeflow Pipelines. The file is autogenerated from the swagger definition.
|
||||
|
||||
Contact: kubeflow-pipelines@google.com
|
||||
Generated by: https://openapi-generator.tech
|
||||
"""
|
||||
|
||||
|
||||
from __future__ import absolute_import
|
||||
|
||||
import re # noqa: F401
|
||||
|
||||
# python 2 and python 3 compatibility library
|
||||
import six
|
||||
|
||||
from kfp_server_api.api_client import ApiClient
|
||||
from kfp_server_api.exceptions import ( # noqa: F401
|
||||
ApiTypeError,
|
||||
ApiValueError
|
||||
)
|
||||
|
||||
|
||||
class JobServiceApi(object):
|
||||
"""NOTE: This class is auto generated by OpenAPI Generator
|
||||
Ref: https://openapi-generator.tech
|
||||
|
||||
Do not edit the class manually.
|
||||
"""
|
||||
|
||||
def __init__(self, api_client=None):
|
||||
if api_client is None:
|
||||
api_client = ApiClient()
|
||||
self.api_client = api_client
|
||||
|
||||
def create_job(self, body, **kwargs): # noqa: E501
|
||||
"""Creates a new job. # noqa: E501
|
||||
|
||||
This method makes a synchronous HTTP request by default. To make an
|
||||
asynchronous HTTP request, please pass async_req=True
|
||||
|
||||
>>> thread = api.create_job(body, async_req=True)
|
||||
>>> result = thread.get()
|
||||
|
||||
:param body: The job to be created (required)
|
||||
:type body: ApiJob
|
||||
:param async_req: Whether to execute the request asynchronously.
|
||||
:type async_req: bool, optional
|
||||
:param _preload_content: if False, the urllib3.HTTPResponse object will
|
||||
be returned without reading/decoding response
|
||||
data. Default is True.
|
||||
:param _request_timeout: timeout setting for this request. If one
|
||||
number provided, it will be total request
|
||||
timeout. It can also be a pair (tuple) of
|
||||
(connection, read) timeouts.
|
||||
:return: Returns the result object.
|
||||
If the method is called asynchronously,
|
||||
returns the request thread.
|
||||
:rtype: ApiJob
|
||||
"""
|
||||
kwargs['_return_http_data_only'] = True
|
||||
return self.create_job_with_http_info(body, **kwargs) # noqa: E501
|
||||
|
||||
def create_job_with_http_info(self, body, **kwargs): # noqa: E501
|
||||
"""Creates a new job. # noqa: E501
|
||||
|
||||
This method makes a synchronous HTTP request by default. To make an
|
||||
asynchronous HTTP request, please pass async_req=True
|
||||
|
||||
>>> thread = api.create_job_with_http_info(body, async_req=True)
|
||||
>>> result = thread.get()
|
||||
|
||||
:param body: The job to be created (required)
|
||||
:type body: ApiJob
|
||||
:param async_req: Whether to execute the request asynchronously.
|
||||
:type async_req: bool, optional
|
||||
:param _return_http_data_only: response data without head status code
|
||||
and headers
|
||||
:type _return_http_data_only: bool, optional
|
||||
:param _preload_content: if False, the urllib3.HTTPResponse object will
|
||||
be returned without reading/decoding response
|
||||
data. Default is True.
|
||||
:type _preload_content: bool, optional
|
||||
:param _request_timeout: timeout setting for this request. If one
|
||||
number provided, it will be total request
|
||||
timeout. It can also be a pair (tuple) of
|
||||
(connection, read) timeouts.
|
||||
:return: Returns the result object.
|
||||
If the method is called asynchronously,
|
||||
returns the request thread.
|
||||
:rtype: tuple(ApiJob, status_code(int), headers(HTTPHeaderDict))
|
||||
"""
|
||||
|
||||
local_var_params = locals()
|
||||
|
||||
all_params = [
|
||||
'body'
|
||||
]
|
||||
all_params.extend(
|
||||
[
|
||||
'async_req',
|
||||
'_return_http_data_only',
|
||||
'_preload_content',
|
||||
'_request_timeout'
|
||||
]
|
||||
)
|
||||
|
||||
for key, val in six.iteritems(local_var_params['kwargs']):
|
||||
if key not in all_params:
|
||||
raise ApiTypeError(
|
||||
"Got an unexpected keyword argument '%s'"
|
||||
" to method create_job" % key
|
||||
)
|
||||
local_var_params[key] = val
|
||||
del local_var_params['kwargs']
|
||||
# verify the required parameter 'body' is set
|
||||
if self.api_client.client_side_validation and ('body' not in local_var_params or # noqa: E501
|
||||
local_var_params['body'] is None): # noqa: E501
|
||||
raise ApiValueError("Missing the required parameter `body` when calling `create_job`") # noqa: E501
|
||||
|
||||
collection_formats = {}
|
||||
|
||||
path_params = {}
|
||||
|
||||
query_params = []
|
||||
|
||||
header_params = {}
|
||||
|
||||
form_params = []
|
||||
local_var_files = {}
|
||||
|
||||
body_params = None
|
||||
if 'body' in local_var_params:
|
||||
body_params = local_var_params['body']
|
||||
# HTTP header `Accept`
|
||||
header_params['Accept'] = self.api_client.select_header_accept(
|
||||
['application/json']) # noqa: E501
|
||||
|
||||
# HTTP header `Content-Type`
|
||||
header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501
|
||||
['application/json']) # noqa: E501
|
||||
|
||||
# Authentication setting
|
||||
auth_settings = ['Bearer'] # noqa: E501
|
||||
|
||||
return self.api_client.call_api(
|
||||
'/apis/v1beta1/jobs', 'POST',
|
||||
path_params,
|
||||
query_params,
|
||||
header_params,
|
||||
body=body_params,
|
||||
post_params=form_params,
|
||||
files=local_var_files,
|
||||
response_type='ApiJob', # noqa: E501
|
||||
auth_settings=auth_settings,
|
||||
async_req=local_var_params.get('async_req'),
|
||||
_return_http_data_only=local_var_params.get('_return_http_data_only'), # noqa: E501
|
||||
_preload_content=local_var_params.get('_preload_content', True),
|
||||
_request_timeout=local_var_params.get('_request_timeout'),
|
||||
collection_formats=collection_formats)
|
||||
|
||||
def delete_job(self, id, **kwargs): # noqa: E501
|
||||
"""Deletes a job. # noqa: E501
|
||||
|
||||
This method makes a synchronous HTTP request by default. To make an
|
||||
asynchronous HTTP request, please pass async_req=True
|
||||
|
||||
>>> thread = api.delete_job(id, async_req=True)
|
||||
>>> result = thread.get()
|
||||
|
||||
:param id: The ID of the job to be deleted (required)
|
||||
:type id: str
|
||||
:param async_req: Whether to execute the request asynchronously.
|
||||
:type async_req: bool, optional
|
||||
:param _preload_content: if False, the urllib3.HTTPResponse object will
|
||||
be returned without reading/decoding response
|
||||
data. Default is True.
|
||||
:param _request_timeout: timeout setting for this request. If one
|
||||
number provided, it will be total request
|
||||
timeout. It can also be a pair (tuple) of
|
||||
(connection, read) timeouts.
|
||||
:return: Returns the result object.
|
||||
If the method is called asynchronously,
|
||||
returns the request thread.
|
||||
:rtype: object
|
||||
"""
|
||||
kwargs['_return_http_data_only'] = True
|
||||
return self.delete_job_with_http_info(id, **kwargs) # noqa: E501
|
||||
|
||||
def delete_job_with_http_info(self, id, **kwargs): # noqa: E501
|
||||
"""Deletes a job. # noqa: E501
|
||||
|
||||
This method makes a synchronous HTTP request by default. To make an
|
||||
asynchronous HTTP request, please pass async_req=True
|
||||
|
||||
>>> thread = api.delete_job_with_http_info(id, async_req=True)
|
||||
>>> result = thread.get()
|
||||
|
||||
:param id: The ID of the job to be deleted (required)
|
||||
:type id: str
|
||||
:param async_req: Whether to execute the request asynchronously.
|
||||
:type async_req: bool, optional
|
||||
:param _return_http_data_only: response data without head status code
|
||||
and headers
|
||||
:type _return_http_data_only: bool, optional
|
||||
:param _preload_content: if False, the urllib3.HTTPResponse object will
|
||||
be returned without reading/decoding response
|
||||
data. Default is True.
|
||||
:type _preload_content: bool, optional
|
||||
:param _request_timeout: timeout setting for this request. If one
|
||||
number provided, it will be total request
|
||||
timeout. It can also be a pair (tuple) of
|
||||
(connection, read) timeouts.
|
||||
:return: Returns the result object.
|
||||
If the method is called asynchronously,
|
||||
returns the request thread.
|
||||
:rtype: tuple(object, status_code(int), headers(HTTPHeaderDict))
|
||||
"""
|
||||
|
||||
local_var_params = locals()
|
||||
|
||||
all_params = [
|
||||
'id'
|
||||
]
|
||||
all_params.extend(
|
||||
[
|
||||
'async_req',
|
||||
'_return_http_data_only',
|
||||
'_preload_content',
|
||||
'_request_timeout'
|
||||
]
|
||||
)
|
||||
|
||||
for key, val in six.iteritems(local_var_params['kwargs']):
|
||||
if key not in all_params:
|
||||
raise ApiTypeError(
|
||||
"Got an unexpected keyword argument '%s'"
|
||||
" to method delete_job" % key
|
||||
)
|
||||
local_var_params[key] = val
|
||||
del local_var_params['kwargs']
|
||||
# verify the required parameter 'id' is set
|
||||
if self.api_client.client_side_validation and ('id' not in local_var_params or # noqa: E501
|
||||
local_var_params['id'] is None): # noqa: E501
|
||||
raise ApiValueError("Missing the required parameter `id` when calling `delete_job`") # noqa: E501
|
||||
|
||||
collection_formats = {}
|
||||
|
||||
path_params = {}
|
||||
if 'id' in local_var_params:
|
||||
path_params['id'] = local_var_params['id'] # noqa: E501
|
||||
|
||||
query_params = []
|
||||
|
||||
header_params = {}
|
||||
|
||||
form_params = []
|
||||
local_var_files = {}
|
||||
|
||||
body_params = None
|
||||
# HTTP header `Accept`
|
||||
header_params['Accept'] = self.api_client.select_header_accept(
|
||||
['application/json']) # noqa: E501
|
||||
|
||||
# Authentication setting
|
||||
auth_settings = ['Bearer'] # noqa: E501
|
||||
|
||||
return self.api_client.call_api(
|
||||
'/apis/v1beta1/jobs/{id}', 'DELETE',
|
||||
path_params,
|
||||
query_params,
|
||||
header_params,
|
||||
body=body_params,
|
||||
post_params=form_params,
|
||||
files=local_var_files,
|
||||
response_type='object', # noqa: E501
|
||||
auth_settings=auth_settings,
|
||||
async_req=local_var_params.get('async_req'),
|
||||
_return_http_data_only=local_var_params.get('_return_http_data_only'), # noqa: E501
|
||||
_preload_content=local_var_params.get('_preload_content', True),
|
||||
_request_timeout=local_var_params.get('_request_timeout'),
|
||||
collection_formats=collection_formats)
|
||||
|
||||
def disable_job(self, id, **kwargs): # noqa: E501
|
||||
"""Stops a job and all its associated runs. The job is not deleted. # noqa: E501
|
||||
|
||||
This method makes a synchronous HTTP request by default. To make an
|
||||
asynchronous HTTP request, please pass async_req=True
|
||||
|
||||
>>> thread = api.disable_job(id, async_req=True)
|
||||
>>> result = thread.get()
|
||||
|
||||
:param id: The ID of the job to be disabled (required)
|
||||
:type id: str
|
||||
:param async_req: Whether to execute the request asynchronously.
|
||||
:type async_req: bool, optional
|
||||
:param _preload_content: if False, the urllib3.HTTPResponse object will
|
||||
be returned without reading/decoding response
|
||||
data. Default is True.
|
||||
:param _request_timeout: timeout setting for this request. If one
|
||||
number provided, it will be total request
|
||||
timeout. It can also be a pair (tuple) of
|
||||
(connection, read) timeouts.
|
||||
:return: Returns the result object.
|
||||
If the method is called asynchronously,
|
||||
returns the request thread.
|
||||
:rtype: object
|
||||
"""
|
||||
kwargs['_return_http_data_only'] = True
|
||||
return self.disable_job_with_http_info(id, **kwargs) # noqa: E501
|
||||
|
||||
def disable_job_with_http_info(self, id, **kwargs): # noqa: E501
|
||||
"""Stops a job and all its associated runs. The job is not deleted. # noqa: E501
|
||||
|
||||
This method makes a synchronous HTTP request by default. To make an
|
||||
asynchronous HTTP request, please pass async_req=True
|
||||
|
||||
>>> thread = api.disable_job_with_http_info(id, async_req=True)
|
||||
>>> result = thread.get()
|
||||
|
||||
:param id: The ID of the job to be disabled (required)
|
||||
:type id: str
|
||||
:param async_req: Whether to execute the request asynchronously.
|
||||
:type async_req: bool, optional
|
||||
:param _return_http_data_only: response data without head status code
|
||||
and headers
|
||||
:type _return_http_data_only: bool, optional
|
||||
:param _preload_content: if False, the urllib3.HTTPResponse object will
|
||||
be returned without reading/decoding response
|
||||
data. Default is True.
|
||||
:type _preload_content: bool, optional
|
||||
:param _request_timeout: timeout setting for this request. If one
|
||||
number provided, it will be total request
|
||||
timeout. It can also be a pair (tuple) of
|
||||
(connection, read) timeouts.
|
||||
:return: Returns the result object.
|
||||
If the method is called asynchronously,
|
||||
returns the request thread.
|
||||
:rtype: tuple(object, status_code(int), headers(HTTPHeaderDict))
|
||||
"""
|
||||
|
||||
local_var_params = locals()
|
||||
|
||||
all_params = [
|
||||
'id'
|
||||
]
|
||||
all_params.extend(
|
||||
[
|
||||
'async_req',
|
||||
'_return_http_data_only',
|
||||
'_preload_content',
|
||||
'_request_timeout'
|
||||
]
|
||||
)
|
||||
|
||||
for key, val in six.iteritems(local_var_params['kwargs']):
|
||||
if key not in all_params:
|
||||
raise ApiTypeError(
|
||||
"Got an unexpected keyword argument '%s'"
|
||||
" to method disable_job" % key
|
||||
)
|
||||
local_var_params[key] = val
|
||||
del local_var_params['kwargs']
|
||||
# verify the required parameter 'id' is set
|
||||
if self.api_client.client_side_validation and ('id' not in local_var_params or # noqa: E501
|
||||
local_var_params['id'] is None): # noqa: E501
|
||||
raise ApiValueError("Missing the required parameter `id` when calling `disable_job`") # noqa: E501
|
||||
|
||||
collection_formats = {}
|
||||
|
||||
path_params = {}
|
||||
if 'id' in local_var_params:
|
||||
path_params['id'] = local_var_params['id'] # noqa: E501
|
||||
|
||||
query_params = []
|
||||
|
||||
header_params = {}
|
||||
|
||||
form_params = []
|
||||
local_var_files = {}
|
||||
|
||||
body_params = None
|
||||
# HTTP header `Accept`
|
||||
header_params['Accept'] = self.api_client.select_header_accept(
|
||||
['application/json']) # noqa: E501
|
||||
|
||||
# Authentication setting
|
||||
auth_settings = ['Bearer'] # noqa: E501
|
||||
|
||||
return self.api_client.call_api(
|
||||
'/apis/v1beta1/jobs/{id}/disable', 'POST',
|
||||
path_params,
|
||||
query_params,
|
||||
header_params,
|
||||
body=body_params,
|
||||
post_params=form_params,
|
||||
files=local_var_files,
|
||||
response_type='object', # noqa: E501
|
||||
auth_settings=auth_settings,
|
||||
async_req=local_var_params.get('async_req'),
|
||||
_return_http_data_only=local_var_params.get('_return_http_data_only'), # noqa: E501
|
||||
_preload_content=local_var_params.get('_preload_content', True),
|
||||
_request_timeout=local_var_params.get('_request_timeout'),
|
||||
collection_formats=collection_formats)
|
||||
|
||||
def enable_job(self, id, **kwargs): # noqa: E501
|
||||
"""Restarts a job that was previously stopped. All runs associated with the job will continue. # noqa: E501
|
||||
|
||||
This method makes a synchronous HTTP request by default. To make an
|
||||
asynchronous HTTP request, please pass async_req=True
|
||||
|
||||
>>> thread = api.enable_job(id, async_req=True)
|
||||
>>> result = thread.get()
|
||||
|
||||
:param id: The ID of the job to be enabled (required)
|
||||
:type id: str
|
||||
:param async_req: Whether to execute the request asynchronously.
|
||||
:type async_req: bool, optional
|
||||
:param _preload_content: if False, the urllib3.HTTPResponse object will
|
||||
be returned without reading/decoding response
|
||||
data. Default is True.
|
||||
:param _request_timeout: timeout setting for this request. If one
|
||||
number provided, it will be total request
|
||||
timeout. It can also be a pair (tuple) of
|
||||
(connection, read) timeouts.
|
||||
:return: Returns the result object.
|
||||
If the method is called asynchronously,
|
||||
returns the request thread.
|
||||
:rtype: object
|
||||
"""
|
||||
kwargs['_return_http_data_only'] = True
|
||||
return self.enable_job_with_http_info(id, **kwargs) # noqa: E501
|
||||
|
||||
def enable_job_with_http_info(self, id, **kwargs): # noqa: E501
|
||||
"""Restarts a job that was previously stopped. All runs associated with the job will continue. # noqa: E501
|
||||
|
||||
This method makes a synchronous HTTP request by default. To make an
|
||||
asynchronous HTTP request, please pass async_req=True
|
||||
|
||||
>>> thread = api.enable_job_with_http_info(id, async_req=True)
|
||||
>>> result = thread.get()
|
||||
|
||||
:param id: The ID of the job to be enabled (required)
|
||||
:type id: str
|
||||
:param async_req: Whether to execute the request asynchronously.
|
||||
:type async_req: bool, optional
|
||||
:param _return_http_data_only: response data without head status code
|
||||
and headers
|
||||
:type _return_http_data_only: bool, optional
|
||||
:param _preload_content: if False, the urllib3.HTTPResponse object will
|
||||
be returned without reading/decoding response
|
||||
data. Default is True.
|
||||
:type _preload_content: bool, optional
|
||||
:param _request_timeout: timeout setting for this request. If one
|
||||
number provided, it will be total request
|
||||
timeout. It can also be a pair (tuple) of
|
||||
(connection, read) timeouts.
|
||||
:return: Returns the result object.
|
||||
If the method is called asynchronously,
|
||||
returns the request thread.
|
||||
:rtype: tuple(object, status_code(int), headers(HTTPHeaderDict))
|
||||
"""
|
||||
|
||||
local_var_params = locals()
|
||||
|
||||
all_params = [
|
||||
'id'
|
||||
]
|
||||
all_params.extend(
|
||||
[
|
||||
'async_req',
|
||||
'_return_http_data_only',
|
||||
'_preload_content',
|
||||
'_request_timeout'
|
||||
]
|
||||
)
|
||||
|
||||
for key, val in six.iteritems(local_var_params['kwargs']):
|
||||
if key not in all_params:
|
||||
raise ApiTypeError(
|
||||
"Got an unexpected keyword argument '%s'"
|
||||
" to method enable_job" % key
|
||||
)
|
||||
local_var_params[key] = val
|
||||
del local_var_params['kwargs']
|
||||
# verify the required parameter 'id' is set
|
||||
if self.api_client.client_side_validation and ('id' not in local_var_params or # noqa: E501
|
||||
local_var_params['id'] is None): # noqa: E501
|
||||
raise ApiValueError("Missing the required parameter `id` when calling `enable_job`") # noqa: E501
|
||||
|
||||
collection_formats = {}
|
||||
|
||||
path_params = {}
|
||||
if 'id' in local_var_params:
|
||||
path_params['id'] = local_var_params['id'] # noqa: E501
|
||||
|
||||
query_params = []
|
||||
|
||||
header_params = {}
|
||||
|
||||
form_params = []
|
||||
local_var_files = {}
|
||||
|
||||
body_params = None
|
||||
# HTTP header `Accept`
|
||||
header_params['Accept'] = self.api_client.select_header_accept(
|
||||
['application/json']) # noqa: E501
|
||||
|
||||
# Authentication setting
|
||||
auth_settings = ['Bearer'] # noqa: E501
|
||||
|
||||
return self.api_client.call_api(
|
||||
'/apis/v1beta1/jobs/{id}/enable', 'POST',
|
||||
path_params,
|
||||
query_params,
|
||||
header_params,
|
||||
body=body_params,
|
||||
post_params=form_params,
|
||||
files=local_var_files,
|
||||
response_type='object', # noqa: E501
|
||||
auth_settings=auth_settings,
|
||||
async_req=local_var_params.get('async_req'),
|
||||
_return_http_data_only=local_var_params.get('_return_http_data_only'), # noqa: E501
|
||||
_preload_content=local_var_params.get('_preload_content', True),
|
||||
_request_timeout=local_var_params.get('_request_timeout'),
|
||||
collection_formats=collection_formats)
|
||||
|
||||
def get_job(self, id, **kwargs): # noqa: E501
|
||||
"""Finds a specific job by ID. # noqa: E501
|
||||
|
||||
This method makes a synchronous HTTP request by default. To make an
|
||||
asynchronous HTTP request, please pass async_req=True
|
||||
|
||||
>>> thread = api.get_job(id, async_req=True)
|
||||
>>> result = thread.get()
|
||||
|
||||
:param id: The ID of the job to be retrieved (required)
|
||||
:type id: str
|
||||
:param async_req: Whether to execute the request asynchronously.
|
||||
:type async_req: bool, optional
|
||||
:param _preload_content: if False, the urllib3.HTTPResponse object will
|
||||
be returned without reading/decoding response
|
||||
data. Default is True.
|
||||
:param _request_timeout: timeout setting for this request. If one
|
||||
number provided, it will be total request
|
||||
timeout. It can also be a pair (tuple) of
|
||||
(connection, read) timeouts.
|
||||
:return: Returns the result object.
|
||||
If the method is called asynchronously,
|
||||
returns the request thread.
|
||||
:rtype: ApiJob
|
||||
"""
|
||||
kwargs['_return_http_data_only'] = True
|
||||
return self.get_job_with_http_info(id, **kwargs) # noqa: E501
|
||||
|
||||
def get_job_with_http_info(self, id, **kwargs): # noqa: E501
|
||||
"""Finds a specific job by ID. # noqa: E501
|
||||
|
||||
This method makes a synchronous HTTP request by default. To make an
|
||||
asynchronous HTTP request, please pass async_req=True
|
||||
|
||||
>>> thread = api.get_job_with_http_info(id, async_req=True)
|
||||
>>> result = thread.get()
|
||||
|
||||
:param id: The ID of the job to be retrieved (required)
|
||||
:type id: str
|
||||
:param async_req: Whether to execute the request asynchronously.
|
||||
:type async_req: bool, optional
|
||||
:param _return_http_data_only: response data without head status code
|
||||
and headers
|
||||
:type _return_http_data_only: bool, optional
|
||||
:param _preload_content: if False, the urllib3.HTTPResponse object will
|
||||
be returned without reading/decoding response
|
||||
data. Default is True.
|
||||
:type _preload_content: bool, optional
|
||||
:param _request_timeout: timeout setting for this request. If one
|
||||
number provided, it will be total request
|
||||
timeout. It can also be a pair (tuple) of
|
||||
(connection, read) timeouts.
|
||||
:return: Returns the result object.
|
||||
If the method is called asynchronously,
|
||||
returns the request thread.
|
||||
:rtype: tuple(ApiJob, status_code(int), headers(HTTPHeaderDict))
|
||||
"""
|
||||
|
||||
local_var_params = locals()
|
||||
|
||||
all_params = [
|
||||
'id'
|
||||
]
|
||||
all_params.extend(
|
||||
[
|
||||
'async_req',
|
||||
'_return_http_data_only',
|
||||
'_preload_content',
|
||||
'_request_timeout'
|
||||
]
|
||||
)
|
||||
|
||||
for key, val in six.iteritems(local_var_params['kwargs']):
|
||||
if key not in all_params:
|
||||
raise ApiTypeError(
|
||||
"Got an unexpected keyword argument '%s'"
|
||||
" to method get_job" % key
|
||||
)
|
||||
local_var_params[key] = val
|
||||
del local_var_params['kwargs']
|
||||
# verify the required parameter 'id' is set
|
||||
if self.api_client.client_side_validation and ('id' not in local_var_params or # noqa: E501
|
||||
local_var_params['id'] is None): # noqa: E501
|
||||
raise ApiValueError("Missing the required parameter `id` when calling `get_job`") # noqa: E501
|
||||
|
||||
collection_formats = {}
|
||||
|
||||
path_params = {}
|
||||
if 'id' in local_var_params:
|
||||
path_params['id'] = local_var_params['id'] # noqa: E501
|
||||
|
||||
query_params = []
|
||||
|
||||
header_params = {}
|
||||
|
||||
form_params = []
|
||||
local_var_files = {}
|
||||
|
||||
body_params = None
|
||||
# HTTP header `Accept`
|
||||
header_params['Accept'] = self.api_client.select_header_accept(
|
||||
['application/json']) # noqa: E501
|
||||
|
||||
# Authentication setting
|
||||
auth_settings = ['Bearer'] # noqa: E501
|
||||
|
||||
return self.api_client.call_api(
|
||||
'/apis/v1beta1/jobs/{id}', 'GET',
|
||||
path_params,
|
||||
query_params,
|
||||
header_params,
|
||||
body=body_params,
|
||||
post_params=form_params,
|
||||
files=local_var_files,
|
||||
response_type='ApiJob', # noqa: E501
|
||||
auth_settings=auth_settings,
|
||||
async_req=local_var_params.get('async_req'),
|
||||
_return_http_data_only=local_var_params.get('_return_http_data_only'), # noqa: E501
|
||||
_preload_content=local_var_params.get('_preload_content', True),
|
||||
_request_timeout=local_var_params.get('_request_timeout'),
|
||||
collection_formats=collection_formats)
|
||||
|
||||
def list_jobs(self, **kwargs): # noqa: E501
|
||||
"""Finds all jobs. # noqa: E501
|
||||
|
||||
This method makes a synchronous HTTP request by default. To make an
|
||||
asynchronous HTTP request, please pass async_req=True
|
||||
|
||||
>>> thread = api.list_jobs(async_req=True)
|
||||
>>> result = thread.get()
|
||||
|
||||
:param page_token: A page token to request the next page of results. The token is acquried from the nextPageToken field of the response from the previous ListJobs call or can be omitted when fetching the first page.
|
||||
:type page_token: str
|
||||
:param page_size: The number of jobs to be listed per page. If there are more jobs than this number, the response message will contain a nextPageToken field you can use to fetch the next page.
|
||||
:type page_size: int
|
||||
:param sort_by: Can be format of \"field_name\", \"field_name asc\" or \"field_name desc\". Ascending by default.
|
||||
:type sort_by: str
|
||||
:param resource_reference_key_type: The type of the resource that referred to.
|
||||
:type resource_reference_key_type: str
|
||||
:param resource_reference_key_id: The ID of the resource that referred to.
|
||||
:type resource_reference_key_id: str
|
||||
:param filter: A url-encoded, JSON-serialized Filter protocol buffer (see [filter.proto](https://github.com/kubeflow/pipelines/ blob/master/backend/api/filter.proto)).
|
||||
:type filter: str
|
||||
:param async_req: Whether to execute the request asynchronously.
|
||||
:type async_req: bool, optional
|
||||
:param _preload_content: if False, the urllib3.HTTPResponse object will
|
||||
be returned without reading/decoding response
|
||||
data. Default is True.
|
||||
:param _request_timeout: timeout setting for this request. If one
|
||||
number provided, it will be total request
|
||||
timeout. It can also be a pair (tuple) of
|
||||
(connection, read) timeouts.
|
||||
:return: Returns the result object.
|
||||
If the method is called asynchronously,
|
||||
returns the request thread.
|
||||
:rtype: ApiListJobsResponse
|
||||
"""
|
||||
kwargs['_return_http_data_only'] = True
|
||||
return self.list_jobs_with_http_info(**kwargs) # noqa: E501
|
||||
|
||||
def list_jobs_with_http_info(self, **kwargs): # noqa: E501
|
||||
"""Finds all jobs. # noqa: E501
|
||||
|
||||
This method makes a synchronous HTTP request by default. To make an
|
||||
asynchronous HTTP request, please pass async_req=True
|
||||
|
||||
>>> thread = api.list_jobs_with_http_info(async_req=True)
|
||||
>>> result = thread.get()
|
||||
|
||||
:param page_token: A page token to request the next page of results. The token is acquried from the nextPageToken field of the response from the previous ListJobs call or can be omitted when fetching the first page.
|
||||
:type page_token: str
|
||||
:param page_size: The number of jobs to be listed per page. If there are more jobs than this number, the response message will contain a nextPageToken field you can use to fetch the next page.
|
||||
:type page_size: int
|
||||
:param sort_by: Can be format of \"field_name\", \"field_name asc\" or \"field_name desc\". Ascending by default.
|
||||
:type sort_by: str
|
||||
:param resource_reference_key_type: The type of the resource that referred to.
|
||||
:type resource_reference_key_type: str
|
||||
:param resource_reference_key_id: The ID of the resource that referred to.
|
||||
:type resource_reference_key_id: str
|
||||
:param filter: A url-encoded, JSON-serialized Filter protocol buffer (see [filter.proto](https://github.com/kubeflow/pipelines/ blob/master/backend/api/filter.proto)).
|
||||
:type filter: str
|
||||
:param async_req: Whether to execute the request asynchronously.
|
||||
:type async_req: bool, optional
|
||||
:param _return_http_data_only: response data without head status code
|
||||
and headers
|
||||
:type _return_http_data_only: bool, optional
|
||||
:param _preload_content: if False, the urllib3.HTTPResponse object will
|
||||
be returned without reading/decoding response
|
||||
data. Default is True.
|
||||
:type _preload_content: bool, optional
|
||||
:param _request_timeout: timeout setting for this request. If one
|
||||
number provided, it will be total request
|
||||
timeout. It can also be a pair (tuple) of
|
||||
(connection, read) timeouts.
|
||||
:return: Returns the result object.
|
||||
If the method is called asynchronously,
|
||||
returns the request thread.
|
||||
:rtype: tuple(ApiListJobsResponse, status_code(int), headers(HTTPHeaderDict))
|
||||
"""
|
||||
|
||||
local_var_params = locals()
|
||||
|
||||
all_params = [
|
||||
'page_token',
|
||||
'page_size',
|
||||
'sort_by',
|
||||
'resource_reference_key_type',
|
||||
'resource_reference_key_id',
|
||||
'filter'
|
||||
]
|
||||
all_params.extend(
|
||||
[
|
||||
'async_req',
|
||||
'_return_http_data_only',
|
||||
'_preload_content',
|
||||
'_request_timeout'
|
||||
]
|
||||
)
|
||||
|
||||
for key, val in six.iteritems(local_var_params['kwargs']):
|
||||
if key not in all_params:
|
||||
raise ApiTypeError(
|
||||
"Got an unexpected keyword argument '%s'"
|
||||
" to method list_jobs" % key
|
||||
)
|
||||
local_var_params[key] = val
|
||||
del local_var_params['kwargs']
|
||||
|
||||
collection_formats = {}
|
||||
|
||||
path_params = {}
|
||||
|
||||
query_params = []
|
||||
if 'page_token' in local_var_params and local_var_params['page_token'] is not None: # noqa: E501
|
||||
query_params.append(('page_token', local_var_params['page_token'])) # noqa: E501
|
||||
if 'page_size' in local_var_params and local_var_params['page_size'] is not None: # noqa: E501
|
||||
query_params.append(('page_size', local_var_params['page_size'])) # noqa: E501
|
||||
if 'sort_by' in local_var_params and local_var_params['sort_by'] is not None: # noqa: E501
|
||||
query_params.append(('sort_by', local_var_params['sort_by'])) # noqa: E501
|
||||
if 'resource_reference_key_type' in local_var_params and local_var_params['resource_reference_key_type'] is not None: # noqa: E501
|
||||
query_params.append(('resource_reference_key.type', local_var_params['resource_reference_key_type'])) # noqa: E501
|
||||
if 'resource_reference_key_id' in local_var_params and local_var_params['resource_reference_key_id'] is not None: # noqa: E501
|
||||
query_params.append(('resource_reference_key.id', local_var_params['resource_reference_key_id'])) # noqa: E501
|
||||
if 'filter' in local_var_params and local_var_params['filter'] is not None: # noqa: E501
|
||||
query_params.append(('filter', local_var_params['filter'])) # noqa: E501
|
||||
|
||||
header_params = {}
|
||||
|
||||
form_params = []
|
||||
local_var_files = {}
|
||||
|
||||
body_params = None
|
||||
# HTTP header `Accept`
|
||||
header_params['Accept'] = self.api_client.select_header_accept(
|
||||
['application/json']) # noqa: E501
|
||||
|
||||
# Authentication setting
|
||||
auth_settings = ['Bearer'] # noqa: E501
|
||||
|
||||
return self.api_client.call_api(
|
||||
'/apis/v1beta1/jobs', 'GET',
|
||||
path_params,
|
||||
query_params,
|
||||
header_params,
|
||||
body=body_params,
|
||||
post_params=form_params,
|
||||
files=local_var_files,
|
||||
response_type='ApiListJobsResponse', # noqa: E501
|
||||
auth_settings=auth_settings,
|
||||
async_req=local_var_params.get('async_req'),
|
||||
_return_http_data_only=local_var_params.get('_return_http_data_only'), # noqa: E501
|
||||
_preload_content=local_var_params.get('_preload_content', True),
|
||||
_request_timeout=local_var_params.get('_request_timeout'),
|
||||
collection_formats=collection_formats)
|
||||
File diff suppressed because it is too large
Load Diff
|
|
@ -0,0 +1,331 @@
|
|||
# Copyright 2020 Google LLC
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
# coding: utf-8
|
||||
|
||||
"""
|
||||
Kubeflow Pipelines API
|
||||
|
||||
This file contains REST API specification for Kubeflow Pipelines. The file is autogenerated from the swagger definition.
|
||||
|
||||
Contact: kubeflow-pipelines@google.com
|
||||
Generated by: https://openapi-generator.tech
|
||||
"""
|
||||
|
||||
|
||||
from __future__ import absolute_import
|
||||
|
||||
import re # noqa: F401
|
||||
|
||||
# python 2 and python 3 compatibility library
|
||||
import six
|
||||
|
||||
from kfp_server_api.api_client import ApiClient
|
||||
from kfp_server_api.exceptions import ( # noqa: F401
|
||||
ApiTypeError,
|
||||
ApiValueError
|
||||
)
|
||||
|
||||
|
||||
class PipelineUploadServiceApi(object):
|
||||
"""NOTE: This class is auto generated by OpenAPI Generator
|
||||
Ref: https://openapi-generator.tech
|
||||
|
||||
Do not edit the class manually.
|
||||
"""
|
||||
|
||||
def __init__(self, api_client=None):
|
||||
if api_client is None:
|
||||
api_client = ApiClient()
|
||||
self.api_client = api_client
|
||||
|
||||
def upload_pipeline(self, uploadfile, **kwargs): # noqa: E501
|
||||
"""upload_pipeline # noqa: E501
|
||||
|
||||
This method makes a synchronous HTTP request by default. To make an
|
||||
asynchronous HTTP request, please pass async_req=True
|
||||
|
||||
>>> thread = api.upload_pipeline(uploadfile, async_req=True)
|
||||
>>> result = thread.get()
|
||||
|
||||
:param uploadfile: The pipeline to upload. Maximum size of 32MB is supported. (required)
|
||||
:type uploadfile: file
|
||||
:param name:
|
||||
:type name: str
|
||||
:param description:
|
||||
:type description: str
|
||||
:param async_req: Whether to execute the request asynchronously.
|
||||
:type async_req: bool, optional
|
||||
:param _preload_content: if False, the urllib3.HTTPResponse object will
|
||||
be returned without reading/decoding response
|
||||
data. Default is True.
|
||||
:param _request_timeout: timeout setting for this request. If one
|
||||
number provided, it will be total request
|
||||
timeout. It can also be a pair (tuple) of
|
||||
(connection, read) timeouts.
|
||||
:return: Returns the result object.
|
||||
If the method is called asynchronously,
|
||||
returns the request thread.
|
||||
:rtype: ApiPipeline
|
||||
"""
|
||||
kwargs['_return_http_data_only'] = True
|
||||
return self.upload_pipeline_with_http_info(uploadfile, **kwargs) # noqa: E501
|
||||
|
||||
def upload_pipeline_with_http_info(self, uploadfile, **kwargs): # noqa: E501
|
||||
"""upload_pipeline # noqa: E501
|
||||
|
||||
This method makes a synchronous HTTP request by default. To make an
|
||||
asynchronous HTTP request, please pass async_req=True
|
||||
|
||||
>>> thread = api.upload_pipeline_with_http_info(uploadfile, async_req=True)
|
||||
>>> result = thread.get()
|
||||
|
||||
:param uploadfile: The pipeline to upload. Maximum size of 32MB is supported. (required)
|
||||
:type uploadfile: file
|
||||
:param name:
|
||||
:type name: str
|
||||
:param description:
|
||||
:type description: str
|
||||
:param async_req: Whether to execute the request asynchronously.
|
||||
:type async_req: bool, optional
|
||||
:param _return_http_data_only: response data without head status code
|
||||
and headers
|
||||
:type _return_http_data_only: bool, optional
|
||||
:param _preload_content: if False, the urllib3.HTTPResponse object will
|
||||
be returned without reading/decoding response
|
||||
data. Default is True.
|
||||
:type _preload_content: bool, optional
|
||||
:param _request_timeout: timeout setting for this request. If one
|
||||
number provided, it will be total request
|
||||
timeout. It can also be a pair (tuple) of
|
||||
(connection, read) timeouts.
|
||||
:return: Returns the result object.
|
||||
If the method is called asynchronously,
|
||||
returns the request thread.
|
||||
:rtype: tuple(ApiPipeline, status_code(int), headers(HTTPHeaderDict))
|
||||
"""
|
||||
|
||||
local_var_params = locals()
|
||||
|
||||
all_params = [
|
||||
'uploadfile',
|
||||
'name',
|
||||
'description'
|
||||
]
|
||||
all_params.extend(
|
||||
[
|
||||
'async_req',
|
||||
'_return_http_data_only',
|
||||
'_preload_content',
|
||||
'_request_timeout'
|
||||
]
|
||||
)
|
||||
|
||||
for key, val in six.iteritems(local_var_params['kwargs']):
|
||||
if key not in all_params:
|
||||
raise ApiTypeError(
|
||||
"Got an unexpected keyword argument '%s'"
|
||||
" to method upload_pipeline" % key
|
||||
)
|
||||
local_var_params[key] = val
|
||||
del local_var_params['kwargs']
|
||||
# verify the required parameter 'uploadfile' is set
|
||||
if self.api_client.client_side_validation and ('uploadfile' not in local_var_params or # noqa: E501
|
||||
local_var_params['uploadfile'] is None): # noqa: E501
|
||||
raise ApiValueError("Missing the required parameter `uploadfile` when calling `upload_pipeline`") # noqa: E501
|
||||
|
||||
collection_formats = {}
|
||||
|
||||
path_params = {}
|
||||
|
||||
query_params = []
|
||||
if 'name' in local_var_params and local_var_params['name'] is not None: # noqa: E501
|
||||
query_params.append(('name', local_var_params['name'])) # noqa: E501
|
||||
if 'description' in local_var_params and local_var_params['description'] is not None: # noqa: E501
|
||||
query_params.append(('description', local_var_params['description'])) # noqa: E501
|
||||
|
||||
header_params = {}
|
||||
|
||||
form_params = []
|
||||
local_var_files = {}
|
||||
if 'uploadfile' in local_var_params:
|
||||
local_var_files['uploadfile'] = local_var_params['uploadfile'] # noqa: E501
|
||||
|
||||
body_params = None
|
||||
# HTTP header `Accept`
|
||||
header_params['Accept'] = self.api_client.select_header_accept(
|
||||
['application/json']) # noqa: E501
|
||||
|
||||
# HTTP header `Content-Type`
|
||||
header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501
|
||||
['multipart/form-data']) # noqa: E501
|
||||
|
||||
# Authentication setting
|
||||
auth_settings = ['Bearer'] # noqa: E501
|
||||
|
||||
return self.api_client.call_api(
|
||||
'/apis/v1beta1/pipelines/upload', 'POST',
|
||||
path_params,
|
||||
query_params,
|
||||
header_params,
|
||||
body=body_params,
|
||||
post_params=form_params,
|
||||
files=local_var_files,
|
||||
response_type='ApiPipeline', # noqa: E501
|
||||
auth_settings=auth_settings,
|
||||
async_req=local_var_params.get('async_req'),
|
||||
_return_http_data_only=local_var_params.get('_return_http_data_only'), # noqa: E501
|
||||
_preload_content=local_var_params.get('_preload_content', True),
|
||||
_request_timeout=local_var_params.get('_request_timeout'),
|
||||
collection_formats=collection_formats)
|
||||
|
||||
def upload_pipeline_version(self, uploadfile, **kwargs): # noqa: E501
|
||||
"""upload_pipeline_version # noqa: E501
|
||||
|
||||
This method makes a synchronous HTTP request by default. To make an
|
||||
asynchronous HTTP request, please pass async_req=True
|
||||
|
||||
>>> thread = api.upload_pipeline_version(uploadfile, async_req=True)
|
||||
>>> result = thread.get()
|
||||
|
||||
:param uploadfile: The pipeline to upload. Maximum size of 32MB is supported. (required)
|
||||
:type uploadfile: file
|
||||
:param name:
|
||||
:type name: str
|
||||
:param pipelineid:
|
||||
:type pipelineid: str
|
||||
:param async_req: Whether to execute the request asynchronously.
|
||||
:type async_req: bool, optional
|
||||
:param _preload_content: if False, the urllib3.HTTPResponse object will
|
||||
be returned without reading/decoding response
|
||||
data. Default is True.
|
||||
:param _request_timeout: timeout setting for this request. If one
|
||||
number provided, it will be total request
|
||||
timeout. It can also be a pair (tuple) of
|
||||
(connection, read) timeouts.
|
||||
:return: Returns the result object.
|
||||
If the method is called asynchronously,
|
||||
returns the request thread.
|
||||
:rtype: ApiPipelineVersion
|
||||
"""
|
||||
kwargs['_return_http_data_only'] = True
|
||||
return self.upload_pipeline_version_with_http_info(uploadfile, **kwargs) # noqa: E501
|
||||
|
||||
def upload_pipeline_version_with_http_info(self, uploadfile, **kwargs): # noqa: E501
|
||||
"""upload_pipeline_version # noqa: E501
|
||||
|
||||
This method makes a synchronous HTTP request by default. To make an
|
||||
asynchronous HTTP request, please pass async_req=True
|
||||
|
||||
>>> thread = api.upload_pipeline_version_with_http_info(uploadfile, async_req=True)
|
||||
>>> result = thread.get()
|
||||
|
||||
:param uploadfile: The pipeline to upload. Maximum size of 32MB is supported. (required)
|
||||
:type uploadfile: file
|
||||
:param name:
|
||||
:type name: str
|
||||
:param pipelineid:
|
||||
:type pipelineid: str
|
||||
:param async_req: Whether to execute the request asynchronously.
|
||||
:type async_req: bool, optional
|
||||
:param _return_http_data_only: response data without head status code
|
||||
and headers
|
||||
:type _return_http_data_only: bool, optional
|
||||
:param _preload_content: if False, the urllib3.HTTPResponse object will
|
||||
be returned without reading/decoding response
|
||||
data. Default is True.
|
||||
:type _preload_content: bool, optional
|
||||
:param _request_timeout: timeout setting for this request. If one
|
||||
number provided, it will be total request
|
||||
timeout. It can also be a pair (tuple) of
|
||||
(connection, read) timeouts.
|
||||
:return: Returns the result object.
|
||||
If the method is called asynchronously,
|
||||
returns the request thread.
|
||||
:rtype: tuple(ApiPipelineVersion, status_code(int), headers(HTTPHeaderDict))
|
||||
"""
|
||||
|
||||
local_var_params = locals()
|
||||
|
||||
all_params = [
|
||||
'uploadfile',
|
||||
'name',
|
||||
'pipelineid'
|
||||
]
|
||||
all_params.extend(
|
||||
[
|
||||
'async_req',
|
||||
'_return_http_data_only',
|
||||
'_preload_content',
|
||||
'_request_timeout'
|
||||
]
|
||||
)
|
||||
|
||||
for key, val in six.iteritems(local_var_params['kwargs']):
|
||||
if key not in all_params:
|
||||
raise ApiTypeError(
|
||||
"Got an unexpected keyword argument '%s'"
|
||||
" to method upload_pipeline_version" % key
|
||||
)
|
||||
local_var_params[key] = val
|
||||
del local_var_params['kwargs']
|
||||
# verify the required parameter 'uploadfile' is set
|
||||
if self.api_client.client_side_validation and ('uploadfile' not in local_var_params or # noqa: E501
|
||||
local_var_params['uploadfile'] is None): # noqa: E501
|
||||
raise ApiValueError("Missing the required parameter `uploadfile` when calling `upload_pipeline_version`") # noqa: E501
|
||||
|
||||
collection_formats = {}
|
||||
|
||||
path_params = {}
|
||||
|
||||
query_params = []
|
||||
if 'name' in local_var_params and local_var_params['name'] is not None: # noqa: E501
|
||||
query_params.append(('name', local_var_params['name'])) # noqa: E501
|
||||
if 'pipelineid' in local_var_params and local_var_params['pipelineid'] is not None: # noqa: E501
|
||||
query_params.append(('pipelineid', local_var_params['pipelineid'])) # noqa: E501
|
||||
|
||||
header_params = {}
|
||||
|
||||
form_params = []
|
||||
local_var_files = {}
|
||||
if 'uploadfile' in local_var_params:
|
||||
local_var_files['uploadfile'] = local_var_params['uploadfile'] # noqa: E501
|
||||
|
||||
body_params = None
|
||||
# HTTP header `Accept`
|
||||
header_params['Accept'] = self.api_client.select_header_accept(
|
||||
['application/json']) # noqa: E501
|
||||
|
||||
# HTTP header `Content-Type`
|
||||
header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501
|
||||
['multipart/form-data']) # noqa: E501
|
||||
|
||||
# Authentication setting
|
||||
auth_settings = ['Bearer'] # noqa: E501
|
||||
|
||||
return self.api_client.call_api(
|
||||
'/apis/v1beta1/pipelines/upload_version', 'POST',
|
||||
path_params,
|
||||
query_params,
|
||||
header_params,
|
||||
body=body_params,
|
||||
post_params=form_params,
|
||||
files=local_var_files,
|
||||
response_type='ApiPipelineVersion', # noqa: E501
|
||||
auth_settings=auth_settings,
|
||||
async_req=local_var_params.get('async_req'),
|
||||
_return_http_data_only=local_var_params.get('_return_http_data_only'), # noqa: E501
|
||||
_preload_content=local_var_params.get('_preload_content', True),
|
||||
_request_timeout=local_var_params.get('_request_timeout'),
|
||||
collection_formats=collection_formats)
|
||||
File diff suppressed because it is too large
Load Diff
|
|
@ -0,0 +1,680 @@
|
|||
# Copyright 2020 Google LLC
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
# coding: utf-8
|
||||
"""
|
||||
Kubeflow Pipelines API
|
||||
|
||||
This file contains REST API specification for Kubeflow Pipelines. The file is autogenerated from the swagger definition.
|
||||
|
||||
Contact: kubeflow-pipelines@google.com
|
||||
Generated by: https://openapi-generator.tech
|
||||
"""
|
||||
|
||||
from __future__ import absolute_import
|
||||
|
||||
import atexit
|
||||
import datetime
|
||||
from dateutil.parser import parse
|
||||
import json
|
||||
import mimetypes
|
||||
from multiprocessing.pool import ThreadPool
|
||||
import os
|
||||
import re
|
||||
import tempfile
|
||||
|
||||
# python 2 and python 3 compatibility library
|
||||
import six
|
||||
from six.moves.urllib.parse import quote
|
||||
|
||||
from kfp_server_api.configuration import Configuration
|
||||
import kfp_server_api.models
|
||||
from kfp_server_api import rest
|
||||
from kfp_server_api.exceptions import ApiValueError, ApiException
|
||||
|
||||
|
||||
class ApiClient(object):
|
||||
"""Generic API client for OpenAPI client library builds.
|
||||
|
||||
OpenAPI generic API client. This client handles the client-
|
||||
server communication, and is invariant across implementations. Specifics of
|
||||
the methods and models for each application are generated from the OpenAPI
|
||||
templates.
|
||||
|
||||
NOTE: This class is auto generated by OpenAPI Generator.
|
||||
Ref: https://openapi-generator.tech
|
||||
Do not edit the class manually.
|
||||
|
||||
:param configuration: .Configuration object for this client
|
||||
:param header_name: a header to pass when making calls to the API.
|
||||
:param header_value: a header value to pass when making calls to
|
||||
the API.
|
||||
:param cookie: a cookie to include in the header when making calls
|
||||
to the API
|
||||
:param pool_threads: The number of threads to use for async requests
|
||||
to the API. More threads means more concurrent API requests.
|
||||
"""
|
||||
|
||||
PRIMITIVE_TYPES = (float, bool, bytes, six.text_type) + six.integer_types
|
||||
NATIVE_TYPES_MAPPING = {
|
||||
'int': int,
|
||||
'long': int if six.PY3 else long, # noqa: F821
|
||||
'float': float,
|
||||
'str': str,
|
||||
'bool': bool,
|
||||
'date': datetime.date,
|
||||
'datetime': datetime.datetime,
|
||||
'object': object,
|
||||
}
|
||||
_pool = None
|
||||
|
||||
def __init__(self, configuration=None, header_name=None, header_value=None,
|
||||
cookie=None, pool_threads=1):
|
||||
if configuration is None:
|
||||
configuration = Configuration.get_default_copy()
|
||||
self.configuration = configuration
|
||||
self.pool_threads = pool_threads
|
||||
|
||||
self.rest_client = rest.RESTClientObject(configuration)
|
||||
self.default_headers = {}
|
||||
if header_name is not None:
|
||||
self.default_headers[header_name] = header_value
|
||||
self.cookie = cookie
|
||||
# Set default User-Agent.
|
||||
self.user_agent = 'OpenAPI-Generator/1.0.0/python'
|
||||
self.client_side_validation = configuration.client_side_validation
|
||||
|
||||
def __enter__(self):
|
||||
return self
|
||||
|
||||
def __exit__(self, exc_type, exc_value, traceback):
|
||||
self.close()
|
||||
|
||||
def close(self):
|
||||
if self._pool:
|
||||
self._pool.close()
|
||||
self._pool.join()
|
||||
self._pool = None
|
||||
if hasattr(atexit, 'unregister'):
|
||||
atexit.unregister(self.close)
|
||||
|
||||
@property
|
||||
def pool(self):
|
||||
"""Create thread pool on first request
|
||||
avoids instantiating unused threadpool for blocking clients.
|
||||
"""
|
||||
if self._pool is None:
|
||||
atexit.register(self.close)
|
||||
self._pool = ThreadPool(self.pool_threads)
|
||||
return self._pool
|
||||
|
||||
@property
|
||||
def user_agent(self):
|
||||
"""User agent for this API client"""
|
||||
return self.default_headers['User-Agent']
|
||||
|
||||
@user_agent.setter
|
||||
def user_agent(self, value):
|
||||
self.default_headers['User-Agent'] = value
|
||||
|
||||
def set_default_header(self, header_name, header_value):
|
||||
self.default_headers[header_name] = header_value
|
||||
|
||||
def __call_api(
|
||||
self, resource_path, method, path_params=None,
|
||||
query_params=None, header_params=None, body=None, post_params=None,
|
||||
files=None, response_type=None, auth_settings=None,
|
||||
_return_http_data_only=None, collection_formats=None,
|
||||
_preload_content=True, _request_timeout=None, _host=None):
|
||||
|
||||
config = self.configuration
|
||||
|
||||
# header parameters
|
||||
header_params = header_params or {}
|
||||
header_params.update(self.default_headers)
|
||||
if self.cookie:
|
||||
header_params['Cookie'] = self.cookie
|
||||
if header_params:
|
||||
header_params = self.sanitize_for_serialization(header_params)
|
||||
header_params = dict(self.parameters_to_tuples(header_params,
|
||||
collection_formats))
|
||||
|
||||
# path parameters
|
||||
if path_params:
|
||||
path_params = self.sanitize_for_serialization(path_params)
|
||||
path_params = self.parameters_to_tuples(path_params,
|
||||
collection_formats)
|
||||
for k, v in path_params:
|
||||
# specified safe chars, encode everything
|
||||
resource_path = resource_path.replace(
|
||||
'{%s}' % k,
|
||||
quote(str(v), safe=config.safe_chars_for_path_param)
|
||||
)
|
||||
|
||||
# query parameters
|
||||
if query_params:
|
||||
query_params = self.sanitize_for_serialization(query_params)
|
||||
query_params = self.parameters_to_tuples(query_params,
|
||||
collection_formats)
|
||||
|
||||
# post parameters
|
||||
if post_params or files:
|
||||
post_params = post_params if post_params else []
|
||||
post_params = self.sanitize_for_serialization(post_params)
|
||||
post_params = self.parameters_to_tuples(post_params,
|
||||
collection_formats)
|
||||
post_params.extend(self.files_parameters(files))
|
||||
|
||||
# auth setting
|
||||
self.update_params_for_auth(header_params, query_params, auth_settings)
|
||||
|
||||
# body
|
||||
if body:
|
||||
body = self.sanitize_for_serialization(body)
|
||||
|
||||
# request url
|
||||
if _host is None:
|
||||
url = self.configuration.host + resource_path
|
||||
else:
|
||||
# use server/host defined in path or operation instead
|
||||
url = _host + resource_path
|
||||
|
||||
try:
|
||||
# perform request and return response
|
||||
response_data = self.request(
|
||||
method, url, query_params=query_params, headers=header_params,
|
||||
post_params=post_params, body=body,
|
||||
_preload_content=_preload_content,
|
||||
_request_timeout=_request_timeout)
|
||||
except ApiException as e:
|
||||
e.body = e.body.decode('utf-8') if six.PY3 else e.body
|
||||
raise e
|
||||
|
||||
content_type = response_data.getheader('content-type')
|
||||
|
||||
self.last_response = response_data
|
||||
|
||||
return_data = response_data
|
||||
|
||||
if not _preload_content:
|
||||
return return_data
|
||||
|
||||
if six.PY3 and response_type not in ["file", "bytes"]:
|
||||
match = None
|
||||
if content_type is not None:
|
||||
match = re.search(r"charset=([a-zA-Z\-\d]+)[\s\;]?", content_type)
|
||||
encoding = match.group(1) if match else "utf-8"
|
||||
response_data.data = response_data.data.decode(encoding)
|
||||
|
||||
# deserialize response data
|
||||
if response_type:
|
||||
return_data = self.deserialize(response_data, response_type)
|
||||
else:
|
||||
return_data = None
|
||||
|
||||
if _return_http_data_only:
|
||||
return (return_data)
|
||||
else:
|
||||
return (return_data, response_data.status,
|
||||
response_data.getheaders())
|
||||
|
||||
def sanitize_for_serialization(self, obj):
|
||||
"""Builds a JSON POST object.
|
||||
|
||||
If obj is None, return None.
|
||||
If obj is str, int, long, float, bool, return directly.
|
||||
If obj is datetime.datetime, datetime.date
|
||||
convert to string in iso8601 format.
|
||||
If obj is list, sanitize each element in the list.
|
||||
If obj is dict, return the dict.
|
||||
If obj is OpenAPI model, return the properties dict.
|
||||
|
||||
:param obj: The data to serialize.
|
||||
:return: The serialized form of data.
|
||||
"""
|
||||
if obj is None:
|
||||
return None
|
||||
elif isinstance(obj, self.PRIMITIVE_TYPES):
|
||||
return obj
|
||||
elif isinstance(obj, list):
|
||||
return [self.sanitize_for_serialization(sub_obj)
|
||||
for sub_obj in obj]
|
||||
elif isinstance(obj, tuple):
|
||||
return tuple(self.sanitize_for_serialization(sub_obj)
|
||||
for sub_obj in obj)
|
||||
elif isinstance(obj, (datetime.datetime, datetime.date)):
|
||||
return obj.isoformat()
|
||||
|
||||
if isinstance(obj, dict):
|
||||
obj_dict = obj
|
||||
else:
|
||||
# Convert model obj to dict except
|
||||
# attributes `openapi_types`, `attribute_map`
|
||||
# and attributes which value is not None.
|
||||
# Convert attribute name to json key in
|
||||
# model definition for request.
|
||||
obj_dict = {obj.attribute_map[attr]: getattr(obj, attr)
|
||||
for attr, _ in six.iteritems(obj.openapi_types)
|
||||
if getattr(obj, attr) is not None}
|
||||
|
||||
return {key: self.sanitize_for_serialization(val)
|
||||
for key, val in six.iteritems(obj_dict)}
|
||||
|
||||
def deserialize(self, response, response_type):
|
||||
"""Deserializes response into an object.
|
||||
|
||||
:param response: RESTResponse object to be deserialized.
|
||||
:param response_type: class literal for
|
||||
deserialized object, or string of class name.
|
||||
|
||||
:return: deserialized object.
|
||||
"""
|
||||
# handle file downloading
|
||||
# save response body into a tmp file and return the instance
|
||||
if response_type == "file":
|
||||
return self.__deserialize_file(response)
|
||||
|
||||
# fetch data from response object
|
||||
try:
|
||||
data = json.loads(response.data)
|
||||
except ValueError:
|
||||
data = response.data
|
||||
|
||||
return self.__deserialize(data, response_type)
|
||||
|
||||
def __deserialize(self, data, klass):
|
||||
"""Deserializes dict, list, str into an object.
|
||||
|
||||
:param data: dict, list or str.
|
||||
:param klass: class literal, or string of class name.
|
||||
|
||||
:return: object.
|
||||
"""
|
||||
if data is None:
|
||||
return None
|
||||
|
||||
if type(klass) == str:
|
||||
if klass.startswith('list['):
|
||||
sub_kls = re.match(r'list\[(.*)\]', klass).group(1)
|
||||
return [self.__deserialize(sub_data, sub_kls)
|
||||
for sub_data in data]
|
||||
|
||||
if klass.startswith('dict('):
|
||||
sub_kls = re.match(r'dict\(([^,]*), (.*)\)', klass).group(2)
|
||||
return {k: self.__deserialize(v, sub_kls)
|
||||
for k, v in six.iteritems(data)}
|
||||
|
||||
# convert str to class
|
||||
if klass in self.NATIVE_TYPES_MAPPING:
|
||||
klass = self.NATIVE_TYPES_MAPPING[klass]
|
||||
else:
|
||||
klass = getattr(kfp_server_api.models, klass)
|
||||
|
||||
if klass in self.PRIMITIVE_TYPES:
|
||||
return self.__deserialize_primitive(data, klass)
|
||||
elif klass == object:
|
||||
return self.__deserialize_object(data)
|
||||
elif klass == datetime.date:
|
||||
return self.__deserialize_date(data)
|
||||
elif klass == datetime.datetime:
|
||||
return self.__deserialize_datetime(data)
|
||||
else:
|
||||
return self.__deserialize_model(data, klass)
|
||||
|
||||
def call_api(self, resource_path, method,
|
||||
path_params=None, query_params=None, header_params=None,
|
||||
body=None, post_params=None, files=None,
|
||||
response_type=None, auth_settings=None, async_req=None,
|
||||
_return_http_data_only=None, collection_formats=None,
|
||||
_preload_content=True, _request_timeout=None, _host=None):
|
||||
"""Makes the HTTP request (synchronous) and returns deserialized data.
|
||||
|
||||
To make an async_req request, set the async_req parameter.
|
||||
|
||||
:param resource_path: Path to method endpoint.
|
||||
:param method: Method to call.
|
||||
:param path_params: Path parameters in the url.
|
||||
:param query_params: Query parameters in the url.
|
||||
:param header_params: Header parameters to be
|
||||
placed in the request header.
|
||||
:param body: Request body.
|
||||
:param post_params dict: Request post form parameters,
|
||||
for `application/x-www-form-urlencoded`, `multipart/form-data`.
|
||||
:param auth_settings list: Auth Settings names for the request.
|
||||
:param response: Response data type.
|
||||
:param files dict: key -> filename, value -> filepath,
|
||||
for `multipart/form-data`.
|
||||
:param async_req bool: execute request asynchronously
|
||||
:param _return_http_data_only: response data without head status code
|
||||
and headers
|
||||
:param collection_formats: dict of collection formats for path, query,
|
||||
header, and post parameters.
|
||||
:param _preload_content: if False, the urllib3.HTTPResponse object will
|
||||
be returned without reading/decoding response
|
||||
data. Default is True.
|
||||
:param _request_timeout: timeout setting for this request. If one
|
||||
number provided, it will be total request
|
||||
timeout. It can also be a pair (tuple) of
|
||||
(connection, read) timeouts.
|
||||
:return:
|
||||
If async_req parameter is True,
|
||||
the request will be called asynchronously.
|
||||
The method will return the request thread.
|
||||
If parameter async_req is False or missing,
|
||||
then the method will return the response directly.
|
||||
"""
|
||||
if not async_req:
|
||||
return self.__call_api(resource_path, method,
|
||||
path_params, query_params, header_params,
|
||||
body, post_params, files,
|
||||
response_type, auth_settings,
|
||||
_return_http_data_only, collection_formats,
|
||||
_preload_content, _request_timeout, _host)
|
||||
|
||||
return self.pool.apply_async(self.__call_api, (resource_path,
|
||||
method, path_params,
|
||||
query_params,
|
||||
header_params, body,
|
||||
post_params, files,
|
||||
response_type,
|
||||
auth_settings,
|
||||
_return_http_data_only,
|
||||
collection_formats,
|
||||
_preload_content,
|
||||
_request_timeout,
|
||||
_host))
|
||||
|
||||
def request(self, method, url, query_params=None, headers=None,
|
||||
post_params=None, body=None, _preload_content=True,
|
||||
_request_timeout=None):
|
||||
"""Makes the HTTP request using RESTClient."""
|
||||
if method == "GET":
|
||||
return self.rest_client.GET(url,
|
||||
query_params=query_params,
|
||||
_preload_content=_preload_content,
|
||||
_request_timeout=_request_timeout,
|
||||
headers=headers)
|
||||
elif method == "HEAD":
|
||||
return self.rest_client.HEAD(url,
|
||||
query_params=query_params,
|
||||
_preload_content=_preload_content,
|
||||
_request_timeout=_request_timeout,
|
||||
headers=headers)
|
||||
elif method == "OPTIONS":
|
||||
return self.rest_client.OPTIONS(url,
|
||||
query_params=query_params,
|
||||
headers=headers,
|
||||
_preload_content=_preload_content,
|
||||
_request_timeout=_request_timeout)
|
||||
elif method == "POST":
|
||||
return self.rest_client.POST(url,
|
||||
query_params=query_params,
|
||||
headers=headers,
|
||||
post_params=post_params,
|
||||
_preload_content=_preload_content,
|
||||
_request_timeout=_request_timeout,
|
||||
body=body)
|
||||
elif method == "PUT":
|
||||
return self.rest_client.PUT(url,
|
||||
query_params=query_params,
|
||||
headers=headers,
|
||||
post_params=post_params,
|
||||
_preload_content=_preload_content,
|
||||
_request_timeout=_request_timeout,
|
||||
body=body)
|
||||
elif method == "PATCH":
|
||||
return self.rest_client.PATCH(url,
|
||||
query_params=query_params,
|
||||
headers=headers,
|
||||
post_params=post_params,
|
||||
_preload_content=_preload_content,
|
||||
_request_timeout=_request_timeout,
|
||||
body=body)
|
||||
elif method == "DELETE":
|
||||
return self.rest_client.DELETE(url,
|
||||
query_params=query_params,
|
||||
headers=headers,
|
||||
_preload_content=_preload_content,
|
||||
_request_timeout=_request_timeout,
|
||||
body=body)
|
||||
else:
|
||||
raise ApiValueError(
|
||||
"http method must be `GET`, `HEAD`, `OPTIONS`,"
|
||||
" `POST`, `PATCH`, `PUT` or `DELETE`."
|
||||
)
|
||||
|
||||
def parameters_to_tuples(self, params, collection_formats):
|
||||
"""Get parameters as list of tuples, formatting collections.
|
||||
|
||||
:param params: Parameters as dict or list of two-tuples
|
||||
:param dict collection_formats: Parameter collection formats
|
||||
:return: Parameters as list of tuples, collections formatted
|
||||
"""
|
||||
new_params = []
|
||||
if collection_formats is None:
|
||||
collection_formats = {}
|
||||
for k, v in six.iteritems(params) if isinstance(params, dict) else params: # noqa: E501
|
||||
if k in collection_formats:
|
||||
collection_format = collection_formats[k]
|
||||
if collection_format == 'multi':
|
||||
new_params.extend((k, value) for value in v)
|
||||
else:
|
||||
if collection_format == 'ssv':
|
||||
delimiter = ' '
|
||||
elif collection_format == 'tsv':
|
||||
delimiter = '\t'
|
||||
elif collection_format == 'pipes':
|
||||
delimiter = '|'
|
||||
else: # csv is the default
|
||||
delimiter = ','
|
||||
new_params.append(
|
||||
(k, delimiter.join(str(value) for value in v)))
|
||||
else:
|
||||
new_params.append((k, v))
|
||||
return new_params
|
||||
|
||||
def files_parameters(self, files=None):
|
||||
"""Builds form parameters.
|
||||
|
||||
:param files: File parameters.
|
||||
:return: Form parameters with files.
|
||||
"""
|
||||
params = []
|
||||
|
||||
if files:
|
||||
for k, v in six.iteritems(files):
|
||||
if not v:
|
||||
continue
|
||||
file_names = v if type(v) is list else [v]
|
||||
for n in file_names:
|
||||
with open(n, 'rb') as f:
|
||||
filename = os.path.basename(f.name)
|
||||
filedata = f.read()
|
||||
mimetype = (mimetypes.guess_type(filename)[0] or
|
||||
'application/octet-stream')
|
||||
params.append(
|
||||
tuple([k, tuple([filename, filedata, mimetype])]))
|
||||
|
||||
return params
|
||||
|
||||
def select_header_accept(self, accepts):
|
||||
"""Returns `Accept` based on an array of accepts provided.
|
||||
|
||||
:param accepts: List of headers.
|
||||
:return: Accept (e.g. application/json).
|
||||
"""
|
||||
if not accepts:
|
||||
return
|
||||
|
||||
accepts = [x.lower() for x in accepts]
|
||||
|
||||
if 'application/json' in accepts:
|
||||
return 'application/json'
|
||||
else:
|
||||
return ', '.join(accepts)
|
||||
|
||||
def select_header_content_type(self, content_types):
|
||||
"""Returns `Content-Type` based on an array of content_types provided.
|
||||
|
||||
:param content_types: List of content-types.
|
||||
:return: Content-Type (e.g. application/json).
|
||||
"""
|
||||
if not content_types:
|
||||
return 'application/json'
|
||||
|
||||
content_types = [x.lower() for x in content_types]
|
||||
|
||||
if 'application/json' in content_types or '*/*' in content_types:
|
||||
return 'application/json'
|
||||
else:
|
||||
return content_types[0]
|
||||
|
||||
def update_params_for_auth(self, headers, querys, auth_settings):
|
||||
"""Updates header and query params based on authentication setting.
|
||||
|
||||
:param headers: Header parameters dict to be updated.
|
||||
:param querys: Query parameters tuple list to be updated.
|
||||
:param auth_settings: Authentication setting identifiers list.
|
||||
"""
|
||||
if not auth_settings:
|
||||
return
|
||||
|
||||
for auth in auth_settings:
|
||||
auth_setting = self.configuration.auth_settings().get(auth)
|
||||
if auth_setting:
|
||||
if auth_setting['in'] == 'cookie':
|
||||
headers['Cookie'] = auth_setting['value']
|
||||
elif auth_setting['in'] == 'header':
|
||||
headers[auth_setting['key']] = auth_setting['value']
|
||||
elif auth_setting['in'] == 'query':
|
||||
querys.append((auth_setting['key'], auth_setting['value']))
|
||||
else:
|
||||
raise ApiValueError(
|
||||
'Authentication token must be in `query` or `header`'
|
||||
)
|
||||
|
||||
def __deserialize_file(self, response):
|
||||
"""Deserializes body to file
|
||||
|
||||
Saves response body into a file in a temporary folder,
|
||||
using the filename from the `Content-Disposition` header if provided.
|
||||
|
||||
:param response: RESTResponse.
|
||||
:return: file path.
|
||||
"""
|
||||
fd, path = tempfile.mkstemp(dir=self.configuration.temp_folder_path)
|
||||
os.close(fd)
|
||||
os.remove(path)
|
||||
|
||||
content_disposition = response.getheader("Content-Disposition")
|
||||
if content_disposition:
|
||||
filename = re.search(r'filename=[\'"]?([^\'"\s]+)[\'"]?',
|
||||
content_disposition).group(1)
|
||||
path = os.path.join(os.path.dirname(path), filename)
|
||||
|
||||
with open(path, "wb") as f:
|
||||
f.write(response.data)
|
||||
|
||||
return path
|
||||
|
||||
def __deserialize_primitive(self, data, klass):
|
||||
"""Deserializes string to primitive type.
|
||||
|
||||
:param data: str.
|
||||
:param klass: class literal.
|
||||
|
||||
:return: int, long, float, str, bool.
|
||||
"""
|
||||
try:
|
||||
return klass(data)
|
||||
except UnicodeEncodeError:
|
||||
return six.text_type(data)
|
||||
except TypeError:
|
||||
return data
|
||||
|
||||
def __deserialize_object(self, value):
|
||||
"""Return an original value.
|
||||
|
||||
:return: object.
|
||||
"""
|
||||
return value
|
||||
|
||||
def __deserialize_date(self, string):
|
||||
"""Deserializes string to date.
|
||||
|
||||
:param string: str.
|
||||
:return: date.
|
||||
"""
|
||||
try:
|
||||
return parse(string).date()
|
||||
except ImportError:
|
||||
return string
|
||||
except ValueError:
|
||||
raise rest.ApiException(
|
||||
status=0,
|
||||
reason="Failed to parse `{0}` as date object".format(string)
|
||||
)
|
||||
|
||||
def __deserialize_datetime(self, string):
|
||||
"""Deserializes string to datetime.
|
||||
|
||||
The string should be in iso8601 datetime format.
|
||||
|
||||
:param string: str.
|
||||
:return: datetime.
|
||||
"""
|
||||
try:
|
||||
return parse(string)
|
||||
except ImportError:
|
||||
return string
|
||||
except ValueError:
|
||||
raise rest.ApiException(
|
||||
status=0,
|
||||
reason=(
|
||||
"Failed to parse `{0}` as datetime object"
|
||||
.format(string)
|
||||
)
|
||||
)
|
||||
|
||||
def __deserialize_model(self, data, klass):
|
||||
"""Deserializes list or dict to model.
|
||||
|
||||
:param data: dict, list.
|
||||
:param klass: class literal.
|
||||
:return: model object.
|
||||
"""
|
||||
has_discriminator = False
|
||||
if (hasattr(klass, 'get_real_child_model')
|
||||
and klass.discriminator_value_class_map):
|
||||
has_discriminator = True
|
||||
|
||||
if not klass.openapi_types and has_discriminator is False:
|
||||
return data
|
||||
|
||||
kwargs = {}
|
||||
if (data is not None and
|
||||
klass.openapi_types is not None and
|
||||
isinstance(data, (list, dict))):
|
||||
for attr, attr_type in six.iteritems(klass.openapi_types):
|
||||
if klass.attribute_map[attr] in data:
|
||||
value = data[klass.attribute_map[attr]]
|
||||
kwargs[attr] = self.__deserialize(value, attr_type)
|
||||
|
||||
instance = klass(**kwargs)
|
||||
|
||||
if has_discriminator:
|
||||
klass_name = instance.get_real_child_model(data)
|
||||
if klass_name:
|
||||
instance = self.__deserialize(data, klass_name)
|
||||
return instance
|
||||
|
|
@ -0,0 +1,417 @@
|
|||
# Copyright 2020 Google LLC
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
# coding: utf-8
|
||||
|
||||
"""
|
||||
Kubeflow Pipelines API
|
||||
|
||||
This file contains REST API specification for Kubeflow Pipelines. The file is autogenerated from the swagger definition.
|
||||
|
||||
Contact: kubeflow-pipelines@google.com
|
||||
Generated by: https://openapi-generator.tech
|
||||
"""
|
||||
|
||||
|
||||
from __future__ import absolute_import
|
||||
|
||||
import copy
|
||||
import logging
|
||||
import multiprocessing
|
||||
import sys
|
||||
import urllib3
|
||||
|
||||
import six
|
||||
from six.moves import http_client as httplib
|
||||
|
||||
|
||||
class Configuration(object):
|
||||
"""NOTE: This class is auto generated by OpenAPI Generator
|
||||
|
||||
Ref: https://openapi-generator.tech
|
||||
Do not edit the class manually.
|
||||
|
||||
:param host: Base url
|
||||
:param api_key: Dict to store API key(s).
|
||||
Each entry in the dict specifies an API key.
|
||||
The dict key is the name of the security scheme in the OAS specification.
|
||||
The dict value is the API key secret.
|
||||
:param api_key_prefix: Dict to store API prefix (e.g. Bearer)
|
||||
The dict key is the name of the security scheme in the OAS specification.
|
||||
The dict value is an API key prefix when generating the auth data.
|
||||
:param username: Username for HTTP basic authentication
|
||||
:param password: Password for HTTP basic authentication
|
||||
:param discard_unknown_keys: Boolean value indicating whether to discard
|
||||
unknown properties. A server may send a response that includes additional
|
||||
properties that are not known by the client in the following scenarios:
|
||||
1. The OpenAPI document is incomplete, i.e. it does not match the server
|
||||
implementation.
|
||||
2. The client was generated using an older version of the OpenAPI document
|
||||
and the server has been upgraded since then.
|
||||
If a schema in the OpenAPI document defines the additionalProperties attribute,
|
||||
then all undeclared properties received by the server are injected into the
|
||||
additional properties map. In that case, there are undeclared properties, and
|
||||
nothing to discard.
|
||||
|
||||
:Example:
|
||||
|
||||
API Key Authentication Example.
|
||||
Given the following security scheme in the OpenAPI specification:
|
||||
components:
|
||||
securitySchemes:
|
||||
cookieAuth: # name for the security scheme
|
||||
type: apiKey
|
||||
in: cookie
|
||||
name: JSESSIONID # cookie name
|
||||
|
||||
You can programmatically set the cookie:
|
||||
|
||||
conf = kfp_server_api.Configuration(
|
||||
api_key={'cookieAuth': 'abc123'}
|
||||
api_key_prefix={'cookieAuth': 'JSESSIONID'}
|
||||
)
|
||||
|
||||
The following cookie will be added to the HTTP request:
|
||||
Cookie: JSESSIONID abc123
|
||||
"""
|
||||
|
||||
_default = None
|
||||
|
||||
def __init__(self, host="http://localhost",
|
||||
api_key=None, api_key_prefix=None,
|
||||
username=None, password=None,
|
||||
discard_unknown_keys=False,
|
||||
):
|
||||
"""Constructor
|
||||
"""
|
||||
self.host = host
|
||||
"""Default Base url
|
||||
"""
|
||||
self.temp_folder_path = None
|
||||
"""Temp file folder for downloading files
|
||||
"""
|
||||
# Authentication Settings
|
||||
self.api_key = {}
|
||||
if api_key:
|
||||
self.api_key = api_key
|
||||
"""dict to store API key(s)
|
||||
"""
|
||||
self.api_key_prefix = {}
|
||||
if api_key_prefix:
|
||||
self.api_key_prefix = api_key_prefix
|
||||
"""dict to store API prefix (e.g. Bearer)
|
||||
"""
|
||||
self.refresh_api_key_hook = None
|
||||
"""function hook to refresh API key if expired
|
||||
"""
|
||||
self.username = username
|
||||
"""Username for HTTP basic authentication
|
||||
"""
|
||||
self.password = password
|
||||
"""Password for HTTP basic authentication
|
||||
"""
|
||||
self.discard_unknown_keys = discard_unknown_keys
|
||||
self.logger = {}
|
||||
"""Logging Settings
|
||||
"""
|
||||
self.logger["package_logger"] = logging.getLogger("kfp_server_api")
|
||||
self.logger["urllib3_logger"] = logging.getLogger("urllib3")
|
||||
self.logger_format = '%(asctime)s %(levelname)s %(message)s'
|
||||
"""Log format
|
||||
"""
|
||||
self.logger_stream_handler = None
|
||||
"""Log stream handler
|
||||
"""
|
||||
self.logger_file_handler = None
|
||||
"""Log file handler
|
||||
"""
|
||||
self.logger_file = None
|
||||
"""Debug file location
|
||||
"""
|
||||
self.debug = False
|
||||
"""Debug switch
|
||||
"""
|
||||
|
||||
self.verify_ssl = True
|
||||
"""SSL/TLS verification
|
||||
Set this to false to skip verifying SSL certificate when calling API
|
||||
from https server.
|
||||
"""
|
||||
self.ssl_ca_cert = None
|
||||
"""Set this to customize the certificate file to verify the peer.
|
||||
"""
|
||||
self.cert_file = None
|
||||
"""client certificate file
|
||||
"""
|
||||
self.key_file = None
|
||||
"""client key file
|
||||
"""
|
||||
self.assert_hostname = None
|
||||
"""Set this to True/False to enable/disable SSL hostname verification.
|
||||
"""
|
||||
|
||||
self.connection_pool_maxsize = multiprocessing.cpu_count() * 5
|
||||
"""urllib3 connection pool's maximum number of connections saved
|
||||
per pool. urllib3 uses 1 connection as default value, but this is
|
||||
not the best value when you are making a lot of possibly parallel
|
||||
requests to the same host, which is often the case here.
|
||||
cpu_count * 5 is used as default value to increase performance.
|
||||
"""
|
||||
|
||||
self.proxy = None
|
||||
"""Proxy URL
|
||||
"""
|
||||
self.proxy_headers = None
|
||||
"""Proxy headers
|
||||
"""
|
||||
self.safe_chars_for_path_param = ''
|
||||
"""Safe chars for path_param
|
||||
"""
|
||||
self.retries = None
|
||||
"""Adding retries to override urllib3 default value 3
|
||||
"""
|
||||
# Disable client side validation
|
||||
self.client_side_validation = True
|
||||
|
||||
def __deepcopy__(self, memo):
|
||||
cls = self.__class__
|
||||
result = cls.__new__(cls)
|
||||
memo[id(self)] = result
|
||||
for k, v in self.__dict__.items():
|
||||
if k not in ('logger', 'logger_file_handler'):
|
||||
setattr(result, k, copy.deepcopy(v, memo))
|
||||
# shallow copy of loggers
|
||||
result.logger = copy.copy(self.logger)
|
||||
# use setters to configure loggers
|
||||
result.logger_file = self.logger_file
|
||||
result.debug = self.debug
|
||||
return result
|
||||
|
||||
def __setattr__(self, name, value):
|
||||
object.__setattr__(self, name, value)
|
||||
|
||||
@classmethod
|
||||
def set_default(cls, default):
|
||||
"""Set default instance of configuration.
|
||||
|
||||
It stores default configuration, which can be
|
||||
returned by get_default_copy method.
|
||||
|
||||
:param default: object of Configuration
|
||||
"""
|
||||
cls._default = copy.deepcopy(default)
|
||||
|
||||
@classmethod
|
||||
def get_default_copy(cls):
|
||||
"""Return new instance of configuration.
|
||||
|
||||
This method returns newly created, based on default constructor,
|
||||
object of Configuration class or returns a copy of default
|
||||
configuration passed by the set_default method.
|
||||
|
||||
:return: The configuration object.
|
||||
"""
|
||||
if cls._default is not None:
|
||||
return copy.deepcopy(cls._default)
|
||||
return Configuration()
|
||||
|
||||
@property
|
||||
def logger_file(self):
|
||||
"""The logger file.
|
||||
|
||||
If the logger_file is None, then add stream handler and remove file
|
||||
handler. Otherwise, add file handler and remove stream handler.
|
||||
|
||||
:param value: The logger_file path.
|
||||
:type: str
|
||||
"""
|
||||
return self.__logger_file
|
||||
|
||||
@logger_file.setter
|
||||
def logger_file(self, value):
|
||||
"""The logger file.
|
||||
|
||||
If the logger_file is None, then add stream handler and remove file
|
||||
handler. Otherwise, add file handler and remove stream handler.
|
||||
|
||||
:param value: The logger_file path.
|
||||
:type: str
|
||||
"""
|
||||
self.__logger_file = value
|
||||
if self.__logger_file:
|
||||
# If set logging file,
|
||||
# then add file handler and remove stream handler.
|
||||
self.logger_file_handler = logging.FileHandler(self.__logger_file)
|
||||
self.logger_file_handler.setFormatter(self.logger_formatter)
|
||||
for _, logger in six.iteritems(self.logger):
|
||||
logger.addHandler(self.logger_file_handler)
|
||||
|
||||
@property
|
||||
def debug(self):
|
||||
"""Debug status
|
||||
|
||||
:param value: The debug status, True or False.
|
||||
:type: bool
|
||||
"""
|
||||
return self.__debug
|
||||
|
||||
@debug.setter
|
||||
def debug(self, value):
|
||||
"""Debug status
|
||||
|
||||
:param value: The debug status, True or False.
|
||||
:type: bool
|
||||
"""
|
||||
self.__debug = value
|
||||
if self.__debug:
|
||||
# if debug status is True, turn on debug logging
|
||||
for _, logger in six.iteritems(self.logger):
|
||||
logger.setLevel(logging.DEBUG)
|
||||
# turn on httplib debug
|
||||
httplib.HTTPConnection.debuglevel = 1
|
||||
else:
|
||||
# if debug status is False, turn off debug logging,
|
||||
# setting log level to default `logging.WARNING`
|
||||
for _, logger in six.iteritems(self.logger):
|
||||
logger.setLevel(logging.WARNING)
|
||||
# turn off httplib debug
|
||||
httplib.HTTPConnection.debuglevel = 0
|
||||
|
||||
@property
|
||||
def logger_format(self):
|
||||
"""The logger format.
|
||||
|
||||
The logger_formatter will be updated when sets logger_format.
|
||||
|
||||
:param value: The format string.
|
||||
:type: str
|
||||
"""
|
||||
return self.__logger_format
|
||||
|
||||
@logger_format.setter
|
||||
def logger_format(self, value):
|
||||
"""The logger format.
|
||||
|
||||
The logger_formatter will be updated when sets logger_format.
|
||||
|
||||
:param value: The format string.
|
||||
:type: str
|
||||
"""
|
||||
self.__logger_format = value
|
||||
self.logger_formatter = logging.Formatter(self.__logger_format)
|
||||
|
||||
def get_api_key_with_prefix(self, identifier):
|
||||
"""Gets API key (with prefix if set).
|
||||
|
||||
:param identifier: The identifier of apiKey.
|
||||
:return: The token for api key authentication.
|
||||
"""
|
||||
if self.refresh_api_key_hook is not None:
|
||||
self.refresh_api_key_hook(self)
|
||||
key = self.api_key.get(identifier)
|
||||
if key:
|
||||
prefix = self.api_key_prefix.get(identifier)
|
||||
if prefix:
|
||||
return "%s %s" % (prefix, key)
|
||||
else:
|
||||
return key
|
||||
|
||||
def get_basic_auth_token(self):
|
||||
"""Gets HTTP basic authentication header (string).
|
||||
|
||||
:return: The token for basic HTTP authentication.
|
||||
"""
|
||||
username = ""
|
||||
if self.username is not None:
|
||||
username = self.username
|
||||
password = ""
|
||||
if self.password is not None:
|
||||
password = self.password
|
||||
return urllib3.util.make_headers(
|
||||
basic_auth=username + ':' + password
|
||||
).get('authorization')
|
||||
|
||||
def auth_settings(self):
|
||||
"""Gets Auth Settings dict for api client.
|
||||
|
||||
:return: The Auth Settings information dict.
|
||||
"""
|
||||
auth = {}
|
||||
if 'authorization' in self.api_key:
|
||||
auth['Bearer'] = {
|
||||
'type': 'api_key',
|
||||
'in': 'header',
|
||||
'key': 'authorization',
|
||||
'value': self.get_api_key_with_prefix('authorization')
|
||||
}
|
||||
return auth
|
||||
|
||||
def to_debug_report(self):
|
||||
"""Gets the essential information for debugging.
|
||||
|
||||
:return: The report for debugging.
|
||||
"""
|
||||
return "Python SDK Debug Report:\n"\
|
||||
"OS: {env}\n"\
|
||||
"Python Version: {pyversion}\n"\
|
||||
"Version of the API: 1.0.0\n"\
|
||||
"SDK Package Version: 1.0.0".\
|
||||
format(env=sys.platform, pyversion=sys.version)
|
||||
|
||||
def get_host_settings(self):
|
||||
"""Gets an array of host settings
|
||||
|
||||
:return: An array of host settings
|
||||
"""
|
||||
return [
|
||||
{
|
||||
'url': "/",
|
||||
'description': "No description provided",
|
||||
}
|
||||
]
|
||||
|
||||
def get_host_from_settings(self, index, variables=None):
|
||||
"""Gets host URL based on the index and variables
|
||||
:param index: array index of the host settings
|
||||
:param variables: hash of variable and the corresponding value
|
||||
:return: URL based on host settings
|
||||
"""
|
||||
variables = {} if variables is None else variables
|
||||
servers = self.get_host_settings()
|
||||
|
||||
try:
|
||||
server = servers[index]
|
||||
except IndexError:
|
||||
raise ValueError(
|
||||
"Invalid index {0} when selecting the host settings. "
|
||||
"Must be less than {1}".format(index, len(servers)))
|
||||
|
||||
url = server['url']
|
||||
|
||||
# go through variables and replace placeholders
|
||||
for variable_name, variable in server['variables'].items():
|
||||
used_value = variables.get(
|
||||
variable_name, variable['default_value'])
|
||||
|
||||
if 'enum_values' in variable \
|
||||
and used_value not in variable['enum_values']:
|
||||
raise ValueError(
|
||||
"The variable `{0}` in the host URL has invalid value "
|
||||
"{1}. Must be {2}.".format(
|
||||
variable_name, variables[variable_name],
|
||||
variable['enum_values']))
|
||||
|
||||
url = url.replace("{" + variable_name + "}", used_value)
|
||||
|
||||
return url
|
||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue