diff --git a/content/en/api/_index.md b/content/en/api/crd.md similarity index 80% rename from content/en/api/_index.md rename to content/en/api/crd.md index d4fbaaed3..4cbf33361 100644 --- a/content/en/api/_index.md +++ b/content/en/api/crd.md @@ -2,4 +2,7 @@ title: KubeSphere Api Documents description: KubeSphere Api Documents keywords: KubeSphere, KubeSphere Documents, Kubernetes ---- \ No newline at end of file + +swaggerUrl: json/crd.json +--- + diff --git a/content/en/api/kubesphere.md b/content/en/api/kubesphere.md new file mode 100644 index 000000000..d5ef99133 --- /dev/null +++ b/content/en/api/kubesphere.md @@ -0,0 +1,7 @@ +--- +title: KubeSphere Api Documents +description: KubeSphere Api Documents +keywords: KubeSphere, KubeSphere Documents, Kubernetes + +swaggerUrl: json/kubesphere.json +--- \ No newline at end of file diff --git a/content/zh/api/_index.md b/content/zh/api/crd.md similarity index 80% rename from content/zh/api/_index.md rename to content/zh/api/crd.md index d4fbaaed3..4cbf33361 100644 --- a/content/zh/api/_index.md +++ b/content/zh/api/crd.md @@ -2,4 +2,7 @@ title: KubeSphere Api Documents description: KubeSphere Api Documents keywords: KubeSphere, KubeSphere Documents, Kubernetes ---- \ No newline at end of file + +swaggerUrl: json/crd.json +--- + diff --git a/content/zh/api/kubesphere.md b/content/zh/api/kubesphere.md new file mode 100644 index 000000000..d5ef99133 --- /dev/null +++ b/content/zh/api/kubesphere.md @@ -0,0 +1,7 @@ +--- +title: KubeSphere Api Documents +description: KubeSphere Api Documents +keywords: KubeSphere, KubeSphere Documents, Kubernetes + +swaggerUrl: json/kubesphere.json +--- \ No newline at end of file diff --git a/layouts/_default/api.html b/layouts/api/single.html similarity index 93% rename from layouts/_default/api.html rename to layouts/api/single.html index c9315655a..8d56f8246 100644 --- a/layouts/_default/api.html +++ b/layouts/api/single.html @@ -20,7 +20,7 @@ - + \ No newline at end of file diff --git a/static/json/crd.json b/static/json/crd.json new file mode 100644 index 000000000..ee9f4de43 --- /dev/null +++ b/static/json/crd.json @@ -0,0 +1,11401 @@ +{ + "swagger": "2.0", + "info": { + "title": "KubeSphere Advanced", + "contact": { + "name": "KubeSphere", + "url": "https://kubesphere.io/", + "email": "kubesphere@yunify.com" + }, + "license": { + "name": "Apache 2.0", + "url": "https://www.apache.org/licenses/LICENSE-2.0.html" + }, + "version": "v3.0.0", + "x-logo": { + "url": "/images/ApiDocs.svg" + } + }, + "paths": { + "/apis/": { + "get": { + "description": "get available API versions", + "consumes": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "schemes": [ + "https" + ], + "tags": [ + "apis" + ], + "operationId": "getAPIVersions", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.APIGroupList" + } + } + } + } + }, + "/apis/cluster.kubesphere.io/": { + "get": { + "description": "get information of a group", + "consumes": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "schemes": [ + "https" + ], + "tags": [ + "clusterKubesphereIo" + ], + "operationId": "getClusterKubesphereIoAPIGroup", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.APIGroup" + } + } + } + } + }, + "/apis/cluster.kubesphere.io/v1alpha1/": { + "get": { + "description": "get available resources", + "consumes": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "schemes": [ + "https" + ], + "tags": [ + "clusterKubesphereIo_v1alpha1" + ], + "operationId": "getClusterKubesphereIoV1alpha1APIResources", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.APIResourceList" + } + } + } + } + }, + "/apis/cluster.kubesphere.io/v1alpha1/clusters": { + "get": { + "description": "list or watch objects of kind Cluster", + "consumes": [ + "*/*" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" + ], + "schemes": [ + "https" + ], + "tags": [ + "clusterKubesphereIo_v1alpha1" + ], + "operationId": "listClusterKubesphereIoV1alpha1Cluster", + "parameters": [ + { + "uniqueItems": true, + "type": "boolean", + "description": "allowWatchBookmarks requests watch events with type \"BOOKMARK\". Servers that do not implement bookmarks may ignore this flag and bookmarks are sent at the server's discretion. Clients should not assume bookmarks are returned at any specific interval, nor may they assume the server will send any BOOKMARK event during a session. If this is not a watch, this field is ignored. If the feature gate WatchBookmarks is not enabled in apiserver, this field is ignored.", + "name": "allowWatchBookmarks", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \"next key\".\n\nThis field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.", + "name": "continue", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", + "name": "fieldSelector", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", + "name": "labelSelector", + "in": "query" + }, + { + "uniqueItems": true, + "type": "integer", + "description": "limit is a maximum number of responses to return for a list call. If more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true.\n\nThe server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.", + "name": "limit", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.", + "name": "resourceVersion", + "in": "query" + }, + { + "uniqueItems": true, + "type": "integer", + "description": "Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.", + "name": "timeoutSeconds", + "in": "query" + }, + { + "uniqueItems": true, + "type": "boolean", + "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", + "name": "watch", + "in": "query" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.cluster.v1alpha1.ClusterList" + } + } + }, + "x-kubernetes-action": "list", + "x-kubernetes-group-version-kind": { + "group": "cluster.kubesphere.io", + "version": "v1alpha1", + "kind": "Cluster" + } + }, + "post": { + "description": "create a Cluster", + "consumes": [ + "*/*" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "schemes": [ + "https" + ], + "tags": [ + "clusterKubesphereIo_v1alpha1" + ], + "operationId": "createClusterKubesphereIoV1alpha1Cluster", + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.cluster.v1alpha1.Cluster" + } + }, + { + "uniqueItems": true, + "type": "string", + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "name": "dryRun", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "fieldManager is a name associated with the actor or entity that is making these changes. The value must be less than or 128 characters long, and only contain printable characters, as defined by https://golang.org/pkg/unicode/#IsPrint.", + "name": "fieldManager", + "in": "query" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.cluster.v1alpha1.Cluster" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.cluster.v1alpha1.Cluster" + } + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.cluster.v1alpha1.Cluster" + } + } + }, + "x-kubernetes-action": "post", + "x-kubernetes-group-version-kind": { + "group": "cluster.kubesphere.io", + "version": "v1alpha1", + "kind": "Cluster" + } + }, + "delete": { + "description": "delete collection of Cluster", + "consumes": [ + "*/*" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "schemes": [ + "https" + ], + "tags": [ + "clusterKubesphereIo_v1alpha1" + ], + "operationId": "deleteClusterKubesphereIoV1alpha1CollectionCluster", + "parameters": [ + { + "uniqueItems": true, + "type": "boolean", + "description": "allowWatchBookmarks requests watch events with type \"BOOKMARK\". Servers that do not implement bookmarks may ignore this flag and bookmarks are sent at the server's discretion. Clients should not assume bookmarks are returned at any specific interval, nor may they assume the server will send any BOOKMARK event during a session. If this is not a watch, this field is ignored. If the feature gate WatchBookmarks is not enabled in apiserver, this field is ignored.", + "name": "allowWatchBookmarks", + "in": "query" + }, + { + "name": "body", + "in": "body", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.DeleteOptions" + } + }, + { + "uniqueItems": true, + "type": "string", + "description": "The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \"next key\".\n\nThis field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.", + "name": "continue", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "name": "dryRun", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", + "name": "fieldSelector", + "in": "query" + }, + { + "uniqueItems": true, + "type": "integer", + "description": "The duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used. Defaults to a per object value if not specified. zero means delete immediately.", + "name": "gracePeriodSeconds", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", + "name": "labelSelector", + "in": "query" + }, + { + "uniqueItems": true, + "type": "integer", + "description": "limit is a maximum number of responses to return for a list call. If more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true.\n\nThe server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.", + "name": "limit", + "in": "query" + }, + { + "uniqueItems": true, + "type": "boolean", + "description": "Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.", + "name": "orphanDependents", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy. Acceptable values are: 'Orphan' - orphan the dependents; 'Background' - allow the garbage collector to delete the dependents in the background; 'Foreground' - a cascading policy that deletes all dependents in the foreground.", + "name": "propagationPolicy", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.", + "name": "resourceVersion", + "in": "query" + }, + { + "uniqueItems": true, + "type": "integer", + "description": "Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.", + "name": "timeoutSeconds", + "in": "query" + }, + { + "uniqueItems": true, + "type": "boolean", + "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", + "name": "watch", + "in": "query" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" + } + } + }, + "x-kubernetes-action": "deletecollection", + "x-kubernetes-group-version-kind": { + "group": "cluster.kubesphere.io", + "version": "v1alpha1", + "kind": "Cluster" + } + }, + "parameters": [ + { + "uniqueItems": true, + "type": "string", + "description": "If 'true', then the output is pretty printed.", + "name": "pretty", + "in": "query" + } + ] + }, + "/apis/cluster.kubesphere.io/v1alpha1/clusters/{name}": { + "get": { + "description": "read the specified Cluster", + "consumes": [ + "*/*" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "schemes": [ + "https" + ], + "tags": [ + "clusterKubesphereIo_v1alpha1" + ], + "operationId": "readClusterKubesphereIoV1alpha1Cluster", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.cluster.v1alpha1.Cluster" + } + } + }, + "x-kubernetes-action": "get", + "x-kubernetes-group-version-kind": { + "group": "cluster.kubesphere.io", + "version": "v1alpha1", + "kind": "Cluster" + } + }, + "put": { + "description": "replace the specified Cluster", + "consumes": [ + "*/*" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "schemes": [ + "https" + ], + "tags": [ + "clusterKubesphereIo_v1alpha1" + ], + "operationId": "replaceClusterKubesphereIoV1alpha1Cluster", + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.cluster.v1alpha1.Cluster" + } + }, + { + "uniqueItems": true, + "type": "string", + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "name": "dryRun", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "fieldManager is a name associated with the actor or entity that is making these changes. The value must be less than or 128 characters long, and only contain printable characters, as defined by https://golang.org/pkg/unicode/#IsPrint.", + "name": "fieldManager", + "in": "query" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.cluster.v1alpha1.Cluster" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.cluster.v1alpha1.Cluster" + } + } + }, + "x-kubernetes-action": "put", + "x-kubernetes-group-version-kind": { + "group": "cluster.kubesphere.io", + "version": "v1alpha1", + "kind": "Cluster" + } + }, + "delete": { + "description": "delete a Cluster", + "consumes": [ + "*/*" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "schemes": [ + "https" + ], + "tags": [ + "clusterKubesphereIo_v1alpha1" + ], + "operationId": "deleteClusterKubesphereIoV1alpha1Cluster", + "parameters": [ + { + "name": "body", + "in": "body", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.DeleteOptions" + } + }, + { + "uniqueItems": true, + "type": "string", + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "name": "dryRun", + "in": "query" + }, + { + "uniqueItems": true, + "type": "integer", + "description": "The duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used. Defaults to a per object value if not specified. zero means delete immediately.", + "name": "gracePeriodSeconds", + "in": "query" + }, + { + "uniqueItems": true, + "type": "boolean", + "description": "Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.", + "name": "orphanDependents", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy. Acceptable values are: 'Orphan' - orphan the dependents; 'Background' - allow the garbage collector to delete the dependents in the background; 'Foreground' - a cascading policy that deletes all dependents in the foreground.", + "name": "propagationPolicy", + "in": "query" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" + } + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" + } + } + }, + "x-kubernetes-action": "delete", + "x-kubernetes-group-version-kind": { + "group": "cluster.kubesphere.io", + "version": "v1alpha1", + "kind": "Cluster" + } + }, + "patch": { + "description": "partially update the specified Cluster", + "consumes": [ + "application/json-patch+json", + "application/merge-patch+json", + "application/strategic-merge-patch+json", + "application/apply-patch+yaml" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "schemes": [ + "https" + ], + "tags": [ + "clusterKubesphereIo_v1alpha1" + ], + "operationId": "patchClusterKubesphereIoV1alpha1Cluster", + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Patch" + } + }, + { + "uniqueItems": true, + "type": "string", + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "name": "dryRun", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "fieldManager is a name associated with the actor or entity that is making these changes. The value must be less than or 128 characters long, and only contain printable characters, as defined by https://golang.org/pkg/unicode/#IsPrint. This field is required for apply requests (application/apply-patch) but optional for non-apply patch types (JsonPatch, MergePatch, StrategicMergePatch).", + "name": "fieldManager", + "in": "query" + }, + { + "uniqueItems": true, + "type": "boolean", + "description": "Force is going to \"force\" Apply requests. It means user will re-acquire conflicting fields owned by other people. Force flag must be unset for non-apply patch requests.", + "name": "force", + "in": "query" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.cluster.v1alpha1.Cluster" + } + } + }, + "x-kubernetes-action": "patch", + "x-kubernetes-group-version-kind": { + "group": "cluster.kubesphere.io", + "version": "v1alpha1", + "kind": "Cluster" + } + }, + "parameters": [ + { + "uniqueItems": true, + "type": "string", + "description": "name of the Cluster", + "name": "name", + "in": "path", + "required": true + }, + { + "uniqueItems": true, + "type": "string", + "description": "If 'true', then the output is pretty printed.", + "name": "pretty", + "in": "query" + } + ] + }, + "/apis/cluster.kubesphere.io/v1alpha1/clusters/{name}/status": { + "get": { + "description": "read status of the specified Cluster", + "consumes": [ + "*/*" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "schemes": [ + "https" + ], + "tags": [ + "clusterKubesphereIo_v1alpha1" + ], + "operationId": "readClusterKubesphereIoV1alpha1ClusterStatus", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.cluster.v1alpha1.Cluster" + } + } + }, + "x-kubernetes-action": "get", + "x-kubernetes-group-version-kind": { + "group": "cluster.kubesphere.io", + "version": "v1alpha1", + "kind": "Cluster" + } + }, + "put": { + "description": "replace status of the specified Cluster", + "consumes": [ + "*/*" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "schemes": [ + "https" + ], + "tags": [ + "clusterKubesphereIo_v1alpha1" + ], + "operationId": "replaceClusterKubesphereIoV1alpha1ClusterStatus", + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.cluster.v1alpha1.Cluster" + } + }, + { + "uniqueItems": true, + "type": "string", + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "name": "dryRun", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "fieldManager is a name associated with the actor or entity that is making these changes. The value must be less than or 128 characters long, and only contain printable characters, as defined by https://golang.org/pkg/unicode/#IsPrint.", + "name": "fieldManager", + "in": "query" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.cluster.v1alpha1.Cluster" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.cluster.v1alpha1.Cluster" + } + } + }, + "x-kubernetes-action": "put", + "x-kubernetes-group-version-kind": { + "group": "cluster.kubesphere.io", + "version": "v1alpha1", + "kind": "Cluster" + } + }, + "patch": { + "description": "partially update status of the specified Cluster", + "consumes": [ + "application/json-patch+json", + "application/merge-patch+json", + "application/strategic-merge-patch+json", + "application/apply-patch+yaml" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "schemes": [ + "https" + ], + "tags": [ + "clusterKubesphereIo_v1alpha1" + ], + "operationId": "patchClusterKubesphereIoV1alpha1ClusterStatus", + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Patch" + } + }, + { + "uniqueItems": true, + "type": "string", + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "name": "dryRun", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "fieldManager is a name associated with the actor or entity that is making these changes. The value must be less than or 128 characters long, and only contain printable characters, as defined by https://golang.org/pkg/unicode/#IsPrint. This field is required for apply requests (application/apply-patch) but optional for non-apply patch types (JsonPatch, MergePatch, StrategicMergePatch).", + "name": "fieldManager", + "in": "query" + }, + { + "uniqueItems": true, + "type": "boolean", + "description": "Force is going to \"force\" Apply requests. It means user will re-acquire conflicting fields owned by other people. Force flag must be unset for non-apply patch requests.", + "name": "force", + "in": "query" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.cluster.v1alpha1.Cluster" + } + } + }, + "x-kubernetes-action": "patch", + "x-kubernetes-group-version-kind": { + "group": "cluster.kubesphere.io", + "version": "v1alpha1", + "kind": "Cluster" + } + }, + "parameters": [ + { + "uniqueItems": true, + "type": "string", + "description": "name of the Cluster", + "name": "name", + "in": "path", + "required": true + }, + { + "uniqueItems": true, + "type": "string", + "description": "If 'true', then the output is pretty printed.", + "name": "pretty", + "in": "query" + } + ] + }, + "/apis/cluster.kubesphere.io/v1alpha1/watch/clusters": { + "get": { + "description": "watch individual changes to a list of Cluster. deprecated: use the 'watch' parameter with a list operation instead.", + "consumes": [ + "*/*" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" + ], + "schemes": [ + "https" + ], + "tags": [ + "clusterKubesphereIo_v1alpha1" + ], + "operationId": "watchClusterKubesphereIoV1alpha1ClusterList", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" + } + } + }, + "x-kubernetes-action": "watchlist", + "x-kubernetes-group-version-kind": { + "group": "cluster.kubesphere.io", + "version": "v1alpha1", + "kind": "Cluster" + } + }, + "parameters": [ + { + "uniqueItems": true, + "type": "boolean", + "description": "allowWatchBookmarks requests watch events with type \"BOOKMARK\". Servers that do not implement bookmarks may ignore this flag and bookmarks are sent at the server's discretion. Clients should not assume bookmarks are returned at any specific interval, nor may they assume the server will send any BOOKMARK event during a session. If this is not a watch, this field is ignored. If the feature gate WatchBookmarks is not enabled in apiserver, this field is ignored.", + "name": "allowWatchBookmarks", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \"next key\".\n\nThis field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.", + "name": "continue", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", + "name": "fieldSelector", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", + "name": "labelSelector", + "in": "query" + }, + { + "uniqueItems": true, + "type": "integer", + "description": "limit is a maximum number of responses to return for a list call. If more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true.\n\nThe server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.", + "name": "limit", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "If 'true', then the output is pretty printed.", + "name": "pretty", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.", + "name": "resourceVersion", + "in": "query" + }, + { + "uniqueItems": true, + "type": "integer", + "description": "Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.", + "name": "timeoutSeconds", + "in": "query" + }, + { + "uniqueItems": true, + "type": "boolean", + "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", + "name": "watch", + "in": "query" + } + ] + }, + "/apis/cluster.kubesphere.io/v1alpha1/watch/clusters/{name}": { + "get": { + "description": "watch changes to an object of kind Cluster. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", + "consumes": [ + "*/*" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" + ], + "schemes": [ + "https" + ], + "tags": [ + "clusterKubesphereIo_v1alpha1" + ], + "operationId": "watchClusterKubesphereIoV1alpha1Cluster", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" + } + } + }, + "x-kubernetes-action": "watch", + "x-kubernetes-group-version-kind": { + "group": "cluster.kubesphere.io", + "version": "v1alpha1", + "kind": "Cluster" + } + }, + "parameters": [ + { + "uniqueItems": true, + "type": "boolean", + "description": "allowWatchBookmarks requests watch events with type \"BOOKMARK\". Servers that do not implement bookmarks may ignore this flag and bookmarks are sent at the server's discretion. Clients should not assume bookmarks are returned at any specific interval, nor may they assume the server will send any BOOKMARK event during a session. If this is not a watch, this field is ignored. If the feature gate WatchBookmarks is not enabled in apiserver, this field is ignored.", + "name": "allowWatchBookmarks", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \"next key\".\n\nThis field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.", + "name": "continue", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", + "name": "fieldSelector", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", + "name": "labelSelector", + "in": "query" + }, + { + "uniqueItems": true, + "type": "integer", + "description": "limit is a maximum number of responses to return for a list call. If more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true.\n\nThe server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.", + "name": "limit", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "name of the Cluster", + "name": "name", + "in": "path", + "required": true + }, + { + "uniqueItems": true, + "type": "string", + "description": "If 'true', then the output is pretty printed.", + "name": "pretty", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.", + "name": "resourceVersion", + "in": "query" + }, + { + "uniqueItems": true, + "type": "integer", + "description": "Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.", + "name": "timeoutSeconds", + "in": "query" + }, + { + "uniqueItems": true, + "type": "boolean", + "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", + "name": "watch", + "in": "query" + } + ] + }, + "/apis/devops.kubesphere.io/": { + "get": { + "description": "get information of a group", + "consumes": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "schemes": [ + "https" + ], + "tags": [ + "devopsKubesphereIo" + ], + "operationId": "getDevopsKubesphereIoAPIGroup", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.APIGroup" + } + } + } + } + }, + "/apis/devops.kubesphere.io/v1alpha1/": { + "get": { + "description": "get available resources", + "consumes": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "schemes": [ + "https" + ], + "tags": [ + "devopsKubesphereIo_v1alpha1" + ], + "operationId": "getDevopsKubesphereIoV1alpha1APIResources", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.APIResourceList" + } + } + } + } + }, + "/apis/devops.kubesphere.io/v1alpha1/s2ibinaries": { + "get": { + "description": "list or watch objects of kind S2iBinary", + "consumes": [ + "*/*" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" + ], + "schemes": [ + "https" + ], + "tags": [ + "devopsKubesphereIo_v1alpha1" + ], + "operationId": "listDevopsKubesphereIoV1alpha1S2iBinary", + "parameters": [ + { + "uniqueItems": true, + "type": "boolean", + "description": "allowWatchBookmarks requests watch events with type \"BOOKMARK\". Servers that do not implement bookmarks may ignore this flag and bookmarks are sent at the server's discretion. Clients should not assume bookmarks are returned at any specific interval, nor may they assume the server will send any BOOKMARK event during a session. If this is not a watch, this field is ignored. If the feature gate WatchBookmarks is not enabled in apiserver, this field is ignored.", + "name": "allowWatchBookmarks", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \"next key\".\n\nThis field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.", + "name": "continue", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", + "name": "fieldSelector", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", + "name": "labelSelector", + "in": "query" + }, + { + "uniqueItems": true, + "type": "integer", + "description": "limit is a maximum number of responses to return for a list call. If more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true.\n\nThe server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.", + "name": "limit", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.", + "name": "resourceVersion", + "in": "query" + }, + { + "uniqueItems": true, + "type": "integer", + "description": "Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.", + "name": "timeoutSeconds", + "in": "query" + }, + { + "uniqueItems": true, + "type": "boolean", + "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", + "name": "watch", + "in": "query" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.devops.v1alpha1.S2iBinaryList" + } + } + }, + "x-kubernetes-action": "list", + "x-kubernetes-group-version-kind": { + "group": "devops.kubesphere.io", + "version": "v1alpha1", + "kind": "S2iBinary" + } + }, + "post": { + "description": "create a S2iBinary", + "consumes": [ + "*/*" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "schemes": [ + "https" + ], + "tags": [ + "devopsKubesphereIo_v1alpha1" + ], + "operationId": "createDevopsKubesphereIoV1alpha1S2iBinary", + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.devops.v1alpha1.S2iBinary" + } + }, + { + "uniqueItems": true, + "type": "string", + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "name": "dryRun", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "fieldManager is a name associated with the actor or entity that is making these changes. The value must be less than or 128 characters long, and only contain printable characters, as defined by https://golang.org/pkg/unicode/#IsPrint.", + "name": "fieldManager", + "in": "query" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.devops.v1alpha1.S2iBinary" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.devops.v1alpha1.S2iBinary" + } + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.devops.v1alpha1.S2iBinary" + } + } + }, + "x-kubernetes-action": "post", + "x-kubernetes-group-version-kind": { + "group": "devops.kubesphere.io", + "version": "v1alpha1", + "kind": "S2iBinary" + } + }, + "delete": { + "description": "delete collection of S2iBinary", + "consumes": [ + "*/*" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "schemes": [ + "https" + ], + "tags": [ + "devopsKubesphereIo_v1alpha1" + ], + "operationId": "deleteDevopsKubesphereIoV1alpha1CollectionS2iBinary", + "parameters": [ + { + "uniqueItems": true, + "type": "boolean", + "description": "allowWatchBookmarks requests watch events with type \"BOOKMARK\". Servers that do not implement bookmarks may ignore this flag and bookmarks are sent at the server's discretion. Clients should not assume bookmarks are returned at any specific interval, nor may they assume the server will send any BOOKMARK event during a session. If this is not a watch, this field is ignored. If the feature gate WatchBookmarks is not enabled in apiserver, this field is ignored.", + "name": "allowWatchBookmarks", + "in": "query" + }, + { + "name": "body", + "in": "body", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.DeleteOptions" + } + }, + { + "uniqueItems": true, + "type": "string", + "description": "The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \"next key\".\n\nThis field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.", + "name": "continue", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "name": "dryRun", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", + "name": "fieldSelector", + "in": "query" + }, + { + "uniqueItems": true, + "type": "integer", + "description": "The duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used. Defaults to a per object value if not specified. zero means delete immediately.", + "name": "gracePeriodSeconds", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", + "name": "labelSelector", + "in": "query" + }, + { + "uniqueItems": true, + "type": "integer", + "description": "limit is a maximum number of responses to return for a list call. If more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true.\n\nThe server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.", + "name": "limit", + "in": "query" + }, + { + "uniqueItems": true, + "type": "boolean", + "description": "Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.", + "name": "orphanDependents", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy. Acceptable values are: 'Orphan' - orphan the dependents; 'Background' - allow the garbage collector to delete the dependents in the background; 'Foreground' - a cascading policy that deletes all dependents in the foreground.", + "name": "propagationPolicy", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.", + "name": "resourceVersion", + "in": "query" + }, + { + "uniqueItems": true, + "type": "integer", + "description": "Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.", + "name": "timeoutSeconds", + "in": "query" + }, + { + "uniqueItems": true, + "type": "boolean", + "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", + "name": "watch", + "in": "query" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" + } + } + }, + "x-kubernetes-action": "deletecollection", + "x-kubernetes-group-version-kind": { + "group": "devops.kubesphere.io", + "version": "v1alpha1", + "kind": "S2iBinary" + } + }, + "parameters": [ + { + "uniqueItems": true, + "type": "string", + "description": "If 'true', then the output is pretty printed.", + "name": "pretty", + "in": "query" + } + ] + }, + "/apis/devops.kubesphere.io/v1alpha1/s2ibinaries/{name}": { + "get": { + "description": "read the specified S2iBinary", + "consumes": [ + "*/*" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "schemes": [ + "https" + ], + "tags": [ + "devopsKubesphereIo_v1alpha1" + ], + "operationId": "readDevopsKubesphereIoV1alpha1S2iBinary", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.devops.v1alpha1.S2iBinary" + } + } + }, + "x-kubernetes-action": "get", + "x-kubernetes-group-version-kind": { + "group": "devops.kubesphere.io", + "version": "v1alpha1", + "kind": "S2iBinary" + } + }, + "put": { + "description": "replace the specified S2iBinary", + "consumes": [ + "*/*" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "schemes": [ + "https" + ], + "tags": [ + "devopsKubesphereIo_v1alpha1" + ], + "operationId": "replaceDevopsKubesphereIoV1alpha1S2iBinary", + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.devops.v1alpha1.S2iBinary" + } + }, + { + "uniqueItems": true, + "type": "string", + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "name": "dryRun", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "fieldManager is a name associated with the actor or entity that is making these changes. The value must be less than or 128 characters long, and only contain printable characters, as defined by https://golang.org/pkg/unicode/#IsPrint.", + "name": "fieldManager", + "in": "query" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.devops.v1alpha1.S2iBinary" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.devops.v1alpha1.S2iBinary" + } + } + }, + "x-kubernetes-action": "put", + "x-kubernetes-group-version-kind": { + "group": "devops.kubesphere.io", + "version": "v1alpha1", + "kind": "S2iBinary" + } + }, + "delete": { + "description": "delete a S2iBinary", + "consumes": [ + "*/*" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "schemes": [ + "https" + ], + "tags": [ + "devopsKubesphereIo_v1alpha1" + ], + "operationId": "deleteDevopsKubesphereIoV1alpha1S2iBinary", + "parameters": [ + { + "name": "body", + "in": "body", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.DeleteOptions" + } + }, + { + "uniqueItems": true, + "type": "string", + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "name": "dryRun", + "in": "query" + }, + { + "uniqueItems": true, + "type": "integer", + "description": "The duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used. Defaults to a per object value if not specified. zero means delete immediately.", + "name": "gracePeriodSeconds", + "in": "query" + }, + { + "uniqueItems": true, + "type": "boolean", + "description": "Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.", + "name": "orphanDependents", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy. Acceptable values are: 'Orphan' - orphan the dependents; 'Background' - allow the garbage collector to delete the dependents in the background; 'Foreground' - a cascading policy that deletes all dependents in the foreground.", + "name": "propagationPolicy", + "in": "query" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" + } + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" + } + } + }, + "x-kubernetes-action": "delete", + "x-kubernetes-group-version-kind": { + "group": "devops.kubesphere.io", + "version": "v1alpha1", + "kind": "S2iBinary" + } + }, + "patch": { + "description": "partially update the specified S2iBinary", + "consumes": [ + "application/json-patch+json", + "application/merge-patch+json", + "application/strategic-merge-patch+json", + "application/apply-patch+yaml" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "schemes": [ + "https" + ], + "tags": [ + "devopsKubesphereIo_v1alpha1" + ], + "operationId": "patchDevopsKubesphereIoV1alpha1S2iBinary", + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Patch" + } + }, + { + "uniqueItems": true, + "type": "string", + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "name": "dryRun", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "fieldManager is a name associated with the actor or entity that is making these changes. The value must be less than or 128 characters long, and only contain printable characters, as defined by https://golang.org/pkg/unicode/#IsPrint. This field is required for apply requests (application/apply-patch) but optional for non-apply patch types (JsonPatch, MergePatch, StrategicMergePatch).", + "name": "fieldManager", + "in": "query" + }, + { + "uniqueItems": true, + "type": "boolean", + "description": "Force is going to \"force\" Apply requests. It means user will re-acquire conflicting fields owned by other people. Force flag must be unset for non-apply patch requests.", + "name": "force", + "in": "query" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.devops.v1alpha1.S2iBinary" + } + } + }, + "x-kubernetes-action": "patch", + "x-kubernetes-group-version-kind": { + "group": "devops.kubesphere.io", + "version": "v1alpha1", + "kind": "S2iBinary" + } + }, + "parameters": [ + { + "uniqueItems": true, + "type": "string", + "description": "name of the S2iBinary", + "name": "name", + "in": "path", + "required": true + }, + { + "uniqueItems": true, + "type": "string", + "description": "If 'true', then the output is pretty printed.", + "name": "pretty", + "in": "query" + } + ] + }, + "/apis/devops.kubesphere.io/v1alpha1/s2ibinaries/{name}/status": { + "get": { + "description": "read status of the specified S2iBinary", + "consumes": [ + "*/*" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "schemes": [ + "https" + ], + "tags": [ + "devopsKubesphereIo_v1alpha1" + ], + "operationId": "readDevopsKubesphereIoV1alpha1S2iBinaryStatus", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.devops.v1alpha1.S2iBinary" + } + } + }, + "x-kubernetes-action": "get", + "x-kubernetes-group-version-kind": { + "group": "devops.kubesphere.io", + "version": "v1alpha1", + "kind": "S2iBinary" + } + }, + "put": { + "description": "replace status of the specified S2iBinary", + "consumes": [ + "*/*" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "schemes": [ + "https" + ], + "tags": [ + "devopsKubesphereIo_v1alpha1" + ], + "operationId": "replaceDevopsKubesphereIoV1alpha1S2iBinaryStatus", + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.devops.v1alpha1.S2iBinary" + } + }, + { + "uniqueItems": true, + "type": "string", + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "name": "dryRun", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "fieldManager is a name associated with the actor or entity that is making these changes. The value must be less than or 128 characters long, and only contain printable characters, as defined by https://golang.org/pkg/unicode/#IsPrint.", + "name": "fieldManager", + "in": "query" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.devops.v1alpha1.S2iBinary" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.devops.v1alpha1.S2iBinary" + } + } + }, + "x-kubernetes-action": "put", + "x-kubernetes-group-version-kind": { + "group": "devops.kubesphere.io", + "version": "v1alpha1", + "kind": "S2iBinary" + } + }, + "patch": { + "description": "partially update status of the specified S2iBinary", + "consumes": [ + "application/json-patch+json", + "application/merge-patch+json", + "application/strategic-merge-patch+json", + "application/apply-patch+yaml" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "schemes": [ + "https" + ], + "tags": [ + "devopsKubesphereIo_v1alpha1" + ], + "operationId": "patchDevopsKubesphereIoV1alpha1S2iBinaryStatus", + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Patch" + } + }, + { + "uniqueItems": true, + "type": "string", + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "name": "dryRun", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "fieldManager is a name associated with the actor or entity that is making these changes. The value must be less than or 128 characters long, and only contain printable characters, as defined by https://golang.org/pkg/unicode/#IsPrint. This field is required for apply requests (application/apply-patch) but optional for non-apply patch types (JsonPatch, MergePatch, StrategicMergePatch).", + "name": "fieldManager", + "in": "query" + }, + { + "uniqueItems": true, + "type": "boolean", + "description": "Force is going to \"force\" Apply requests. It means user will re-acquire conflicting fields owned by other people. Force flag must be unset for non-apply patch requests.", + "name": "force", + "in": "query" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.devops.v1alpha1.S2iBinary" + } + } + }, + "x-kubernetes-action": "patch", + "x-kubernetes-group-version-kind": { + "group": "devops.kubesphere.io", + "version": "v1alpha1", + "kind": "S2iBinary" + } + }, + "parameters": [ + { + "uniqueItems": true, + "type": "string", + "description": "name of the S2iBinary", + "name": "name", + "in": "path", + "required": true + }, + { + "uniqueItems": true, + "type": "string", + "description": "If 'true', then the output is pretty printed.", + "name": "pretty", + "in": "query" + } + ] + }, + "/apis/devops.kubesphere.io/v1alpha1/s2ibuilders": { + "get": { + "description": "list or watch objects of kind S2iBuilder", + "consumes": [ + "*/*" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" + ], + "schemes": [ + "https" + ], + "tags": [ + "devopsKubesphereIo_v1alpha1" + ], + "operationId": "listDevopsKubesphereIoV1alpha1S2iBuilder", + "parameters": [ + { + "uniqueItems": true, + "type": "boolean", + "description": "allowWatchBookmarks requests watch events with type \"BOOKMARK\". Servers that do not implement bookmarks may ignore this flag and bookmarks are sent at the server's discretion. Clients should not assume bookmarks are returned at any specific interval, nor may they assume the server will send any BOOKMARK event during a session. If this is not a watch, this field is ignored. If the feature gate WatchBookmarks is not enabled in apiserver, this field is ignored.", + "name": "allowWatchBookmarks", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \"next key\".\n\nThis field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.", + "name": "continue", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", + "name": "fieldSelector", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", + "name": "labelSelector", + "in": "query" + }, + { + "uniqueItems": true, + "type": "integer", + "description": "limit is a maximum number of responses to return for a list call. If more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true.\n\nThe server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.", + "name": "limit", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.", + "name": "resourceVersion", + "in": "query" + }, + { + "uniqueItems": true, + "type": "integer", + "description": "Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.", + "name": "timeoutSeconds", + "in": "query" + }, + { + "uniqueItems": true, + "type": "boolean", + "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", + "name": "watch", + "in": "query" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.devops.v1alpha1.S2iBuilderList" + } + } + }, + "x-kubernetes-action": "list", + "x-kubernetes-group-version-kind": { + "group": "devops.kubesphere.io", + "version": "v1alpha1", + "kind": "S2iBuilder" + } + }, + "post": { + "description": "create a S2iBuilder", + "consumes": [ + "*/*" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "schemes": [ + "https" + ], + "tags": [ + "devopsKubesphereIo_v1alpha1" + ], + "operationId": "createDevopsKubesphereIoV1alpha1S2iBuilder", + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.devops.v1alpha1.S2iBuilder" + } + }, + { + "uniqueItems": true, + "type": "string", + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "name": "dryRun", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "fieldManager is a name associated with the actor or entity that is making these changes. The value must be less than or 128 characters long, and only contain printable characters, as defined by https://golang.org/pkg/unicode/#IsPrint.", + "name": "fieldManager", + "in": "query" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.devops.v1alpha1.S2iBuilder" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.devops.v1alpha1.S2iBuilder" + } + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.devops.v1alpha1.S2iBuilder" + } + } + }, + "x-kubernetes-action": "post", + "x-kubernetes-group-version-kind": { + "group": "devops.kubesphere.io", + "version": "v1alpha1", + "kind": "S2iBuilder" + } + }, + "delete": { + "description": "delete collection of S2iBuilder", + "consumes": [ + "*/*" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "schemes": [ + "https" + ], + "tags": [ + "devopsKubesphereIo_v1alpha1" + ], + "operationId": "deleteDevopsKubesphereIoV1alpha1CollectionS2iBuilder", + "parameters": [ + { + "uniqueItems": true, + "type": "boolean", + "description": "allowWatchBookmarks requests watch events with type \"BOOKMARK\". Servers that do not implement bookmarks may ignore this flag and bookmarks are sent at the server's discretion. Clients should not assume bookmarks are returned at any specific interval, nor may they assume the server will send any BOOKMARK event during a session. If this is not a watch, this field is ignored. If the feature gate WatchBookmarks is not enabled in apiserver, this field is ignored.", + "name": "allowWatchBookmarks", + "in": "query" + }, + { + "name": "body", + "in": "body", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.DeleteOptions" + } + }, + { + "uniqueItems": true, + "type": "string", + "description": "The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \"next key\".\n\nThis field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.", + "name": "continue", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "name": "dryRun", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", + "name": "fieldSelector", + "in": "query" + }, + { + "uniqueItems": true, + "type": "integer", + "description": "The duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used. Defaults to a per object value if not specified. zero means delete immediately.", + "name": "gracePeriodSeconds", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", + "name": "labelSelector", + "in": "query" + }, + { + "uniqueItems": true, + "type": "integer", + "description": "limit is a maximum number of responses to return for a list call. If more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true.\n\nThe server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.", + "name": "limit", + "in": "query" + }, + { + "uniqueItems": true, + "type": "boolean", + "description": "Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.", + "name": "orphanDependents", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy. Acceptable values are: 'Orphan' - orphan the dependents; 'Background' - allow the garbage collector to delete the dependents in the background; 'Foreground' - a cascading policy that deletes all dependents in the foreground.", + "name": "propagationPolicy", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.", + "name": "resourceVersion", + "in": "query" + }, + { + "uniqueItems": true, + "type": "integer", + "description": "Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.", + "name": "timeoutSeconds", + "in": "query" + }, + { + "uniqueItems": true, + "type": "boolean", + "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", + "name": "watch", + "in": "query" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" + } + } + }, + "x-kubernetes-action": "deletecollection", + "x-kubernetes-group-version-kind": { + "group": "devops.kubesphere.io", + "version": "v1alpha1", + "kind": "S2iBuilder" + } + }, + "parameters": [ + { + "uniqueItems": true, + "type": "string", + "description": "If 'true', then the output is pretty printed.", + "name": "pretty", + "in": "query" + } + ] + }, + "/apis/devops.kubesphere.io/v1alpha1/s2ibuilders/{name}": { + "get": { + "description": "read the specified S2iBuilder", + "consumes": [ + "*/*" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "schemes": [ + "https" + ], + "tags": [ + "devopsKubesphereIo_v1alpha1" + ], + "operationId": "readDevopsKubesphereIoV1alpha1S2iBuilder", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.devops.v1alpha1.S2iBuilder" + } + } + }, + "x-kubernetes-action": "get", + "x-kubernetes-group-version-kind": { + "group": "devops.kubesphere.io", + "version": "v1alpha1", + "kind": "S2iBuilder" + } + }, + "put": { + "description": "replace the specified S2iBuilder", + "consumes": [ + "*/*" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "schemes": [ + "https" + ], + "tags": [ + "devopsKubesphereIo_v1alpha1" + ], + "operationId": "replaceDevopsKubesphereIoV1alpha1S2iBuilder", + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.devops.v1alpha1.S2iBuilder" + } + }, + { + "uniqueItems": true, + "type": "string", + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "name": "dryRun", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "fieldManager is a name associated with the actor or entity that is making these changes. The value must be less than or 128 characters long, and only contain printable characters, as defined by https://golang.org/pkg/unicode/#IsPrint.", + "name": "fieldManager", + "in": "query" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.devops.v1alpha1.S2iBuilder" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.devops.v1alpha1.S2iBuilder" + } + } + }, + "x-kubernetes-action": "put", + "x-kubernetes-group-version-kind": { + "group": "devops.kubesphere.io", + "version": "v1alpha1", + "kind": "S2iBuilder" + } + }, + "delete": { + "description": "delete a S2iBuilder", + "consumes": [ + "*/*" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "schemes": [ + "https" + ], + "tags": [ + "devopsKubesphereIo_v1alpha1" + ], + "operationId": "deleteDevopsKubesphereIoV1alpha1S2iBuilder", + "parameters": [ + { + "name": "body", + "in": "body", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.DeleteOptions" + } + }, + { + "uniqueItems": true, + "type": "string", + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "name": "dryRun", + "in": "query" + }, + { + "uniqueItems": true, + "type": "integer", + "description": "The duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used. Defaults to a per object value if not specified. zero means delete immediately.", + "name": "gracePeriodSeconds", + "in": "query" + }, + { + "uniqueItems": true, + "type": "boolean", + "description": "Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.", + "name": "orphanDependents", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy. Acceptable values are: 'Orphan' - orphan the dependents; 'Background' - allow the garbage collector to delete the dependents in the background; 'Foreground' - a cascading policy that deletes all dependents in the foreground.", + "name": "propagationPolicy", + "in": "query" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" + } + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" + } + } + }, + "x-kubernetes-action": "delete", + "x-kubernetes-group-version-kind": { + "group": "devops.kubesphere.io", + "version": "v1alpha1", + "kind": "S2iBuilder" + } + }, + "patch": { + "description": "partially update the specified S2iBuilder", + "consumes": [ + "application/json-patch+json", + "application/merge-patch+json", + "application/strategic-merge-patch+json", + "application/apply-patch+yaml" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "schemes": [ + "https" + ], + "tags": [ + "devopsKubesphereIo_v1alpha1" + ], + "operationId": "patchDevopsKubesphereIoV1alpha1S2iBuilder", + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Patch" + } + }, + { + "uniqueItems": true, + "type": "string", + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "name": "dryRun", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "fieldManager is a name associated with the actor or entity that is making these changes. The value must be less than or 128 characters long, and only contain printable characters, as defined by https://golang.org/pkg/unicode/#IsPrint. This field is required for apply requests (application/apply-patch) but optional for non-apply patch types (JsonPatch, MergePatch, StrategicMergePatch).", + "name": "fieldManager", + "in": "query" + }, + { + "uniqueItems": true, + "type": "boolean", + "description": "Force is going to \"force\" Apply requests. It means user will re-acquire conflicting fields owned by other people. Force flag must be unset for non-apply patch requests.", + "name": "force", + "in": "query" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.devops.v1alpha1.S2iBuilder" + } + } + }, + "x-kubernetes-action": "patch", + "x-kubernetes-group-version-kind": { + "group": "devops.kubesphere.io", + "version": "v1alpha1", + "kind": "S2iBuilder" + } + }, + "parameters": [ + { + "uniqueItems": true, + "type": "string", + "description": "name of the S2iBuilder", + "name": "name", + "in": "path", + "required": true + }, + { + "uniqueItems": true, + "type": "string", + "description": "If 'true', then the output is pretty printed.", + "name": "pretty", + "in": "query" + } + ] + }, + "/apis/devops.kubesphere.io/v1alpha1/s2ibuilders/{name}/status": { + "get": { + "description": "read status of the specified S2iBuilder", + "consumes": [ + "*/*" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "schemes": [ + "https" + ], + "tags": [ + "devopsKubesphereIo_v1alpha1" + ], + "operationId": "readDevopsKubesphereIoV1alpha1S2iBuilderStatus", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.devops.v1alpha1.S2iBuilder" + } + } + }, + "x-kubernetes-action": "get", + "x-kubernetes-group-version-kind": { + "group": "devops.kubesphere.io", + "version": "v1alpha1", + "kind": "S2iBuilder" + } + }, + "put": { + "description": "replace status of the specified S2iBuilder", + "consumes": [ + "*/*" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "schemes": [ + "https" + ], + "tags": [ + "devopsKubesphereIo_v1alpha1" + ], + "operationId": "replaceDevopsKubesphereIoV1alpha1S2iBuilderStatus", + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.devops.v1alpha1.S2iBuilder" + } + }, + { + "uniqueItems": true, + "type": "string", + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "name": "dryRun", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "fieldManager is a name associated with the actor or entity that is making these changes. The value must be less than or 128 characters long, and only contain printable characters, as defined by https://golang.org/pkg/unicode/#IsPrint.", + "name": "fieldManager", + "in": "query" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.devops.v1alpha1.S2iBuilder" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.devops.v1alpha1.S2iBuilder" + } + } + }, + "x-kubernetes-action": "put", + "x-kubernetes-group-version-kind": { + "group": "devops.kubesphere.io", + "version": "v1alpha1", + "kind": "S2iBuilder" + } + }, + "patch": { + "description": "partially update status of the specified S2iBuilder", + "consumes": [ + "application/json-patch+json", + "application/merge-patch+json", + "application/strategic-merge-patch+json", + "application/apply-patch+yaml" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "schemes": [ + "https" + ], + "tags": [ + "devopsKubesphereIo_v1alpha1" + ], + "operationId": "patchDevopsKubesphereIoV1alpha1S2iBuilderStatus", + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Patch" + } + }, + { + "uniqueItems": true, + "type": "string", + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "name": "dryRun", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "fieldManager is a name associated with the actor or entity that is making these changes. The value must be less than or 128 characters long, and only contain printable characters, as defined by https://golang.org/pkg/unicode/#IsPrint. This field is required for apply requests (application/apply-patch) but optional for non-apply patch types (JsonPatch, MergePatch, StrategicMergePatch).", + "name": "fieldManager", + "in": "query" + }, + { + "uniqueItems": true, + "type": "boolean", + "description": "Force is going to \"force\" Apply requests. It means user will re-acquire conflicting fields owned by other people. Force flag must be unset for non-apply patch requests.", + "name": "force", + "in": "query" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.devops.v1alpha1.S2iBuilder" + } + } + }, + "x-kubernetes-action": "patch", + "x-kubernetes-group-version-kind": { + "group": "devops.kubesphere.io", + "version": "v1alpha1", + "kind": "S2iBuilder" + } + }, + "parameters": [ + { + "uniqueItems": true, + "type": "string", + "description": "name of the S2iBuilder", + "name": "name", + "in": "path", + "required": true + }, + { + "uniqueItems": true, + "type": "string", + "description": "If 'true', then the output is pretty printed.", + "name": "pretty", + "in": "query" + } + ] + }, + "/apis/devops.kubesphere.io/v1alpha1/s2ibuildertemplates": { + "get": { + "description": "list or watch objects of kind S2iBuilderTemplate", + "consumes": [ + "*/*" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" + ], + "schemes": [ + "https" + ], + "tags": [ + "devopsKubesphereIo_v1alpha1" + ], + "operationId": "listDevopsKubesphereIoV1alpha1S2iBuilderTemplate", + "parameters": [ + { + "uniqueItems": true, + "type": "boolean", + "description": "allowWatchBookmarks requests watch events with type \"BOOKMARK\". Servers that do not implement bookmarks may ignore this flag and bookmarks are sent at the server's discretion. Clients should not assume bookmarks are returned at any specific interval, nor may they assume the server will send any BOOKMARK event during a session. If this is not a watch, this field is ignored. If the feature gate WatchBookmarks is not enabled in apiserver, this field is ignored.", + "name": "allowWatchBookmarks", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \"next key\".\n\nThis field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.", + "name": "continue", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", + "name": "fieldSelector", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", + "name": "labelSelector", + "in": "query" + }, + { + "uniqueItems": true, + "type": "integer", + "description": "limit is a maximum number of responses to return for a list call. If more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true.\n\nThe server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.", + "name": "limit", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.", + "name": "resourceVersion", + "in": "query" + }, + { + "uniqueItems": true, + "type": "integer", + "description": "Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.", + "name": "timeoutSeconds", + "in": "query" + }, + { + "uniqueItems": true, + "type": "boolean", + "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", + "name": "watch", + "in": "query" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.devops.v1alpha1.S2iBuilderTemplateList" + } + } + }, + "x-kubernetes-action": "list", + "x-kubernetes-group-version-kind": { + "group": "devops.kubesphere.io", + "version": "v1alpha1", + "kind": "S2iBuilderTemplate" + } + }, + "post": { + "description": "create a S2iBuilderTemplate", + "consumes": [ + "*/*" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "schemes": [ + "https" + ], + "tags": [ + "devopsKubesphereIo_v1alpha1" + ], + "operationId": "createDevopsKubesphereIoV1alpha1S2iBuilderTemplate", + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.devops.v1alpha1.S2iBuilderTemplate" + } + }, + { + "uniqueItems": true, + "type": "string", + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "name": "dryRun", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "fieldManager is a name associated with the actor or entity that is making these changes. The value must be less than or 128 characters long, and only contain printable characters, as defined by https://golang.org/pkg/unicode/#IsPrint.", + "name": "fieldManager", + "in": "query" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.devops.v1alpha1.S2iBuilderTemplate" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.devops.v1alpha1.S2iBuilderTemplate" + } + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.devops.v1alpha1.S2iBuilderTemplate" + } + } + }, + "x-kubernetes-action": "post", + "x-kubernetes-group-version-kind": { + "group": "devops.kubesphere.io", + "version": "v1alpha1", + "kind": "S2iBuilderTemplate" + } + }, + "delete": { + "description": "delete collection of S2iBuilderTemplate", + "consumes": [ + "*/*" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "schemes": [ + "https" + ], + "tags": [ + "devopsKubesphereIo_v1alpha1" + ], + "operationId": "deleteDevopsKubesphereIoV1alpha1CollectionS2iBuilderTemplate", + "parameters": [ + { + "uniqueItems": true, + "type": "boolean", + "description": "allowWatchBookmarks requests watch events with type \"BOOKMARK\". Servers that do not implement bookmarks may ignore this flag and bookmarks are sent at the server's discretion. Clients should not assume bookmarks are returned at any specific interval, nor may they assume the server will send any BOOKMARK event during a session. If this is not a watch, this field is ignored. If the feature gate WatchBookmarks is not enabled in apiserver, this field is ignored.", + "name": "allowWatchBookmarks", + "in": "query" + }, + { + "name": "body", + "in": "body", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.DeleteOptions" + } + }, + { + "uniqueItems": true, + "type": "string", + "description": "The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \"next key\".\n\nThis field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.", + "name": "continue", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "name": "dryRun", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", + "name": "fieldSelector", + "in": "query" + }, + { + "uniqueItems": true, + "type": "integer", + "description": "The duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used. Defaults to a per object value if not specified. zero means delete immediately.", + "name": "gracePeriodSeconds", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", + "name": "labelSelector", + "in": "query" + }, + { + "uniqueItems": true, + "type": "integer", + "description": "limit is a maximum number of responses to return for a list call. If more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true.\n\nThe server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.", + "name": "limit", + "in": "query" + }, + { + "uniqueItems": true, + "type": "boolean", + "description": "Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.", + "name": "orphanDependents", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy. Acceptable values are: 'Orphan' - orphan the dependents; 'Background' - allow the garbage collector to delete the dependents in the background; 'Foreground' - a cascading policy that deletes all dependents in the foreground.", + "name": "propagationPolicy", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.", + "name": "resourceVersion", + "in": "query" + }, + { + "uniqueItems": true, + "type": "integer", + "description": "Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.", + "name": "timeoutSeconds", + "in": "query" + }, + { + "uniqueItems": true, + "type": "boolean", + "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", + "name": "watch", + "in": "query" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" + } + } + }, + "x-kubernetes-action": "deletecollection", + "x-kubernetes-group-version-kind": { + "group": "devops.kubesphere.io", + "version": "v1alpha1", + "kind": "S2iBuilderTemplate" + } + }, + "parameters": [ + { + "uniqueItems": true, + "type": "string", + "description": "If 'true', then the output is pretty printed.", + "name": "pretty", + "in": "query" + } + ] + }, + "/apis/devops.kubesphere.io/v1alpha1/s2ibuildertemplates/{name}": { + "get": { + "description": "read the specified S2iBuilderTemplate", + "consumes": [ + "*/*" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "schemes": [ + "https" + ], + "tags": [ + "devopsKubesphereIo_v1alpha1" + ], + "operationId": "readDevopsKubesphereIoV1alpha1S2iBuilderTemplate", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.devops.v1alpha1.S2iBuilderTemplate" + } + } + }, + "x-kubernetes-action": "get", + "x-kubernetes-group-version-kind": { + "group": "devops.kubesphere.io", + "version": "v1alpha1", + "kind": "S2iBuilderTemplate" + } + }, + "put": { + "description": "replace the specified S2iBuilderTemplate", + "consumes": [ + "*/*" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "schemes": [ + "https" + ], + "tags": [ + "devopsKubesphereIo_v1alpha1" + ], + "operationId": "replaceDevopsKubesphereIoV1alpha1S2iBuilderTemplate", + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.devops.v1alpha1.S2iBuilderTemplate" + } + }, + { + "uniqueItems": true, + "type": "string", + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "name": "dryRun", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "fieldManager is a name associated with the actor or entity that is making these changes. The value must be less than or 128 characters long, and only contain printable characters, as defined by https://golang.org/pkg/unicode/#IsPrint.", + "name": "fieldManager", + "in": "query" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.devops.v1alpha1.S2iBuilderTemplate" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.devops.v1alpha1.S2iBuilderTemplate" + } + } + }, + "x-kubernetes-action": "put", + "x-kubernetes-group-version-kind": { + "group": "devops.kubesphere.io", + "version": "v1alpha1", + "kind": "S2iBuilderTemplate" + } + }, + "delete": { + "description": "delete a S2iBuilderTemplate", + "consumes": [ + "*/*" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "schemes": [ + "https" + ], + "tags": [ + "devopsKubesphereIo_v1alpha1" + ], + "operationId": "deleteDevopsKubesphereIoV1alpha1S2iBuilderTemplate", + "parameters": [ + { + "name": "body", + "in": "body", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.DeleteOptions" + } + }, + { + "uniqueItems": true, + "type": "string", + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "name": "dryRun", + "in": "query" + }, + { + "uniqueItems": true, + "type": "integer", + "description": "The duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used. Defaults to a per object value if not specified. zero means delete immediately.", + "name": "gracePeriodSeconds", + "in": "query" + }, + { + "uniqueItems": true, + "type": "boolean", + "description": "Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.", + "name": "orphanDependents", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy. Acceptable values are: 'Orphan' - orphan the dependents; 'Background' - allow the garbage collector to delete the dependents in the background; 'Foreground' - a cascading policy that deletes all dependents in the foreground.", + "name": "propagationPolicy", + "in": "query" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" + } + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" + } + } + }, + "x-kubernetes-action": "delete", + "x-kubernetes-group-version-kind": { + "group": "devops.kubesphere.io", + "version": "v1alpha1", + "kind": "S2iBuilderTemplate" + } + }, + "patch": { + "description": "partially update the specified S2iBuilderTemplate", + "consumes": [ + "application/json-patch+json", + "application/merge-patch+json", + "application/strategic-merge-patch+json", + "application/apply-patch+yaml" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "schemes": [ + "https" + ], + "tags": [ + "devopsKubesphereIo_v1alpha1" + ], + "operationId": "patchDevopsKubesphereIoV1alpha1S2iBuilderTemplate", + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Patch" + } + }, + { + "uniqueItems": true, + "type": "string", + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "name": "dryRun", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "fieldManager is a name associated with the actor or entity that is making these changes. The value must be less than or 128 characters long, and only contain printable characters, as defined by https://golang.org/pkg/unicode/#IsPrint. This field is required for apply requests (application/apply-patch) but optional for non-apply patch types (JsonPatch, MergePatch, StrategicMergePatch).", + "name": "fieldManager", + "in": "query" + }, + { + "uniqueItems": true, + "type": "boolean", + "description": "Force is going to \"force\" Apply requests. It means user will re-acquire conflicting fields owned by other people. Force flag must be unset for non-apply patch requests.", + "name": "force", + "in": "query" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.devops.v1alpha1.S2iBuilderTemplate" + } + } + }, + "x-kubernetes-action": "patch", + "x-kubernetes-group-version-kind": { + "group": "devops.kubesphere.io", + "version": "v1alpha1", + "kind": "S2iBuilderTemplate" + } + }, + "parameters": [ + { + "uniqueItems": true, + "type": "string", + "description": "name of the S2iBuilderTemplate", + "name": "name", + "in": "path", + "required": true + }, + { + "uniqueItems": true, + "type": "string", + "description": "If 'true', then the output is pretty printed.", + "name": "pretty", + "in": "query" + } + ] + }, + "/apis/devops.kubesphere.io/v1alpha1/s2ibuildertemplates/{name}/status": { + "get": { + "description": "read status of the specified S2iBuilderTemplate", + "consumes": [ + "*/*" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "schemes": [ + "https" + ], + "tags": [ + "devopsKubesphereIo_v1alpha1" + ], + "operationId": "readDevopsKubesphereIoV1alpha1S2iBuilderTemplateStatus", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.devops.v1alpha1.S2iBuilderTemplate" + } + } + }, + "x-kubernetes-action": "get", + "x-kubernetes-group-version-kind": { + "group": "devops.kubesphere.io", + "version": "v1alpha1", + "kind": "S2iBuilderTemplate" + } + }, + "put": { + "description": "replace status of the specified S2iBuilderTemplate", + "consumes": [ + "*/*" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "schemes": [ + "https" + ], + "tags": [ + "devopsKubesphereIo_v1alpha1" + ], + "operationId": "replaceDevopsKubesphereIoV1alpha1S2iBuilderTemplateStatus", + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.devops.v1alpha1.S2iBuilderTemplate" + } + }, + { + "uniqueItems": true, + "type": "string", + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "name": "dryRun", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "fieldManager is a name associated with the actor or entity that is making these changes. The value must be less than or 128 characters long, and only contain printable characters, as defined by https://golang.org/pkg/unicode/#IsPrint.", + "name": "fieldManager", + "in": "query" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.devops.v1alpha1.S2iBuilderTemplate" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.devops.v1alpha1.S2iBuilderTemplate" + } + } + }, + "x-kubernetes-action": "put", + "x-kubernetes-group-version-kind": { + "group": "devops.kubesphere.io", + "version": "v1alpha1", + "kind": "S2iBuilderTemplate" + } + }, + "patch": { + "description": "partially update status of the specified S2iBuilderTemplate", + "consumes": [ + "application/json-patch+json", + "application/merge-patch+json", + "application/strategic-merge-patch+json", + "application/apply-patch+yaml" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "schemes": [ + "https" + ], + "tags": [ + "devopsKubesphereIo_v1alpha1" + ], + "operationId": "patchDevopsKubesphereIoV1alpha1S2iBuilderTemplateStatus", + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Patch" + } + }, + { + "uniqueItems": true, + "type": "string", + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "name": "dryRun", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "fieldManager is a name associated with the actor or entity that is making these changes. The value must be less than or 128 characters long, and only contain printable characters, as defined by https://golang.org/pkg/unicode/#IsPrint. This field is required for apply requests (application/apply-patch) but optional for non-apply patch types (JsonPatch, MergePatch, StrategicMergePatch).", + "name": "fieldManager", + "in": "query" + }, + { + "uniqueItems": true, + "type": "boolean", + "description": "Force is going to \"force\" Apply requests. It means user will re-acquire conflicting fields owned by other people. Force flag must be unset for non-apply patch requests.", + "name": "force", + "in": "query" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.devops.v1alpha1.S2iBuilderTemplate" + } + } + }, + "x-kubernetes-action": "patch", + "x-kubernetes-group-version-kind": { + "group": "devops.kubesphere.io", + "version": "v1alpha1", + "kind": "S2iBuilderTemplate" + } + }, + "parameters": [ + { + "uniqueItems": true, + "type": "string", + "description": "name of the S2iBuilderTemplate", + "name": "name", + "in": "path", + "required": true + }, + { + "uniqueItems": true, + "type": "string", + "description": "If 'true', then the output is pretty printed.", + "name": "pretty", + "in": "query" + } + ] + }, + "/apis/devops.kubesphere.io/v1alpha1/s2iruns": { + "get": { + "description": "list or watch objects of kind S2iRun", + "consumes": [ + "*/*" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" + ], + "schemes": [ + "https" + ], + "tags": [ + "devopsKubesphereIo_v1alpha1" + ], + "operationId": "listDevopsKubesphereIoV1alpha1S2iRun", + "parameters": [ + { + "uniqueItems": true, + "type": "boolean", + "description": "allowWatchBookmarks requests watch events with type \"BOOKMARK\". Servers that do not implement bookmarks may ignore this flag and bookmarks are sent at the server's discretion. Clients should not assume bookmarks are returned at any specific interval, nor may they assume the server will send any BOOKMARK event during a session. If this is not a watch, this field is ignored. If the feature gate WatchBookmarks is not enabled in apiserver, this field is ignored.", + "name": "allowWatchBookmarks", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \"next key\".\n\nThis field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.", + "name": "continue", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", + "name": "fieldSelector", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", + "name": "labelSelector", + "in": "query" + }, + { + "uniqueItems": true, + "type": "integer", + "description": "limit is a maximum number of responses to return for a list call. If more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true.\n\nThe server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.", + "name": "limit", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.", + "name": "resourceVersion", + "in": "query" + }, + { + "uniqueItems": true, + "type": "integer", + "description": "Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.", + "name": "timeoutSeconds", + "in": "query" + }, + { + "uniqueItems": true, + "type": "boolean", + "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", + "name": "watch", + "in": "query" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.devops.v1alpha1.S2iRunList" + } + } + }, + "x-kubernetes-action": "list", + "x-kubernetes-group-version-kind": { + "group": "devops.kubesphere.io", + "version": "v1alpha1", + "kind": "S2iRun" + } + }, + "post": { + "description": "create a S2iRun", + "consumes": [ + "*/*" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "schemes": [ + "https" + ], + "tags": [ + "devopsKubesphereIo_v1alpha1" + ], + "operationId": "createDevopsKubesphereIoV1alpha1S2iRun", + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.devops.v1alpha1.S2iRun" + } + }, + { + "uniqueItems": true, + "type": "string", + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "name": "dryRun", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "fieldManager is a name associated with the actor or entity that is making these changes. The value must be less than or 128 characters long, and only contain printable characters, as defined by https://golang.org/pkg/unicode/#IsPrint.", + "name": "fieldManager", + "in": "query" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.devops.v1alpha1.S2iRun" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.devops.v1alpha1.S2iRun" + } + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.devops.v1alpha1.S2iRun" + } + } + }, + "x-kubernetes-action": "post", + "x-kubernetes-group-version-kind": { + "group": "devops.kubesphere.io", + "version": "v1alpha1", + "kind": "S2iRun" + } + }, + "delete": { + "description": "delete collection of S2iRun", + "consumes": [ + "*/*" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "schemes": [ + "https" + ], + "tags": [ + "devopsKubesphereIo_v1alpha1" + ], + "operationId": "deleteDevopsKubesphereIoV1alpha1CollectionS2iRun", + "parameters": [ + { + "uniqueItems": true, + "type": "boolean", + "description": "allowWatchBookmarks requests watch events with type \"BOOKMARK\". Servers that do not implement bookmarks may ignore this flag and bookmarks are sent at the server's discretion. Clients should not assume bookmarks are returned at any specific interval, nor may they assume the server will send any BOOKMARK event during a session. If this is not a watch, this field is ignored. If the feature gate WatchBookmarks is not enabled in apiserver, this field is ignored.", + "name": "allowWatchBookmarks", + "in": "query" + }, + { + "name": "body", + "in": "body", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.DeleteOptions" + } + }, + { + "uniqueItems": true, + "type": "string", + "description": "The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \"next key\".\n\nThis field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.", + "name": "continue", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "name": "dryRun", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", + "name": "fieldSelector", + "in": "query" + }, + { + "uniqueItems": true, + "type": "integer", + "description": "The duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used. Defaults to a per object value if not specified. zero means delete immediately.", + "name": "gracePeriodSeconds", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", + "name": "labelSelector", + "in": "query" + }, + { + "uniqueItems": true, + "type": "integer", + "description": "limit is a maximum number of responses to return for a list call. If more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true.\n\nThe server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.", + "name": "limit", + "in": "query" + }, + { + "uniqueItems": true, + "type": "boolean", + "description": "Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.", + "name": "orphanDependents", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy. Acceptable values are: 'Orphan' - orphan the dependents; 'Background' - allow the garbage collector to delete the dependents in the background; 'Foreground' - a cascading policy that deletes all dependents in the foreground.", + "name": "propagationPolicy", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.", + "name": "resourceVersion", + "in": "query" + }, + { + "uniqueItems": true, + "type": "integer", + "description": "Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.", + "name": "timeoutSeconds", + "in": "query" + }, + { + "uniqueItems": true, + "type": "boolean", + "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", + "name": "watch", + "in": "query" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" + } + } + }, + "x-kubernetes-action": "deletecollection", + "x-kubernetes-group-version-kind": { + "group": "devops.kubesphere.io", + "version": "v1alpha1", + "kind": "S2iRun" + } + }, + "parameters": [ + { + "uniqueItems": true, + "type": "string", + "description": "If 'true', then the output is pretty printed.", + "name": "pretty", + "in": "query" + } + ] + }, + "/apis/devops.kubesphere.io/v1alpha1/s2iruns/{name}": { + "get": { + "description": "read the specified S2iRun", + "consumes": [ + "*/*" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "schemes": [ + "https" + ], + "tags": [ + "devopsKubesphereIo_v1alpha1" + ], + "operationId": "readDevopsKubesphereIoV1alpha1S2iRun", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.devops.v1alpha1.S2iRun" + } + } + }, + "x-kubernetes-action": "get", + "x-kubernetes-group-version-kind": { + "group": "devops.kubesphere.io", + "version": "v1alpha1", + "kind": "S2iRun" + } + }, + "put": { + "description": "replace the specified S2iRun", + "consumes": [ + "*/*" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "schemes": [ + "https" + ], + "tags": [ + "devopsKubesphereIo_v1alpha1" + ], + "operationId": "replaceDevopsKubesphereIoV1alpha1S2iRun", + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.devops.v1alpha1.S2iRun" + } + }, + { + "uniqueItems": true, + "type": "string", + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "name": "dryRun", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "fieldManager is a name associated with the actor or entity that is making these changes. The value must be less than or 128 characters long, and only contain printable characters, as defined by https://golang.org/pkg/unicode/#IsPrint.", + "name": "fieldManager", + "in": "query" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.devops.v1alpha1.S2iRun" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.devops.v1alpha1.S2iRun" + } + } + }, + "x-kubernetes-action": "put", + "x-kubernetes-group-version-kind": { + "group": "devops.kubesphere.io", + "version": "v1alpha1", + "kind": "S2iRun" + } + }, + "delete": { + "description": "delete a S2iRun", + "consumes": [ + "*/*" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "schemes": [ + "https" + ], + "tags": [ + "devopsKubesphereIo_v1alpha1" + ], + "operationId": "deleteDevopsKubesphereIoV1alpha1S2iRun", + "parameters": [ + { + "name": "body", + "in": "body", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.DeleteOptions" + } + }, + { + "uniqueItems": true, + "type": "string", + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "name": "dryRun", + "in": "query" + }, + { + "uniqueItems": true, + "type": "integer", + "description": "The duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used. Defaults to a per object value if not specified. zero means delete immediately.", + "name": "gracePeriodSeconds", + "in": "query" + }, + { + "uniqueItems": true, + "type": "boolean", + "description": "Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.", + "name": "orphanDependents", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy. Acceptable values are: 'Orphan' - orphan the dependents; 'Background' - allow the garbage collector to delete the dependents in the background; 'Foreground' - a cascading policy that deletes all dependents in the foreground.", + "name": "propagationPolicy", + "in": "query" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" + } + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" + } + } + }, + "x-kubernetes-action": "delete", + "x-kubernetes-group-version-kind": { + "group": "devops.kubesphere.io", + "version": "v1alpha1", + "kind": "S2iRun" + } + }, + "patch": { + "description": "partially update the specified S2iRun", + "consumes": [ + "application/json-patch+json", + "application/merge-patch+json", + "application/strategic-merge-patch+json", + "application/apply-patch+yaml" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "schemes": [ + "https" + ], + "tags": [ + "devopsKubesphereIo_v1alpha1" + ], + "operationId": "patchDevopsKubesphereIoV1alpha1S2iRun", + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Patch" + } + }, + { + "uniqueItems": true, + "type": "string", + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "name": "dryRun", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "fieldManager is a name associated with the actor or entity that is making these changes. The value must be less than or 128 characters long, and only contain printable characters, as defined by https://golang.org/pkg/unicode/#IsPrint. This field is required for apply requests (application/apply-patch) but optional for non-apply patch types (JsonPatch, MergePatch, StrategicMergePatch).", + "name": "fieldManager", + "in": "query" + }, + { + "uniqueItems": true, + "type": "boolean", + "description": "Force is going to \"force\" Apply requests. It means user will re-acquire conflicting fields owned by other people. Force flag must be unset for non-apply patch requests.", + "name": "force", + "in": "query" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.devops.v1alpha1.S2iRun" + } + } + }, + "x-kubernetes-action": "patch", + "x-kubernetes-group-version-kind": { + "group": "devops.kubesphere.io", + "version": "v1alpha1", + "kind": "S2iRun" + } + }, + "parameters": [ + { + "uniqueItems": true, + "type": "string", + "description": "name of the S2iRun", + "name": "name", + "in": "path", + "required": true + }, + { + "uniqueItems": true, + "type": "string", + "description": "If 'true', then the output is pretty printed.", + "name": "pretty", + "in": "query" + } + ] + }, + "/apis/devops.kubesphere.io/v1alpha1/s2iruns/{name}/status": { + "get": { + "description": "read status of the specified S2iRun", + "consumes": [ + "*/*" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "schemes": [ + "https" + ], + "tags": [ + "devopsKubesphereIo_v1alpha1" + ], + "operationId": "readDevopsKubesphereIoV1alpha1S2iRunStatus", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.devops.v1alpha1.S2iRun" + } + } + }, + "x-kubernetes-action": "get", + "x-kubernetes-group-version-kind": { + "group": "devops.kubesphere.io", + "version": "v1alpha1", + "kind": "S2iRun" + } + }, + "put": { + "description": "replace status of the specified S2iRun", + "consumes": [ + "*/*" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "schemes": [ + "https" + ], + "tags": [ + "devopsKubesphereIo_v1alpha1" + ], + "operationId": "replaceDevopsKubesphereIoV1alpha1S2iRunStatus", + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.devops.v1alpha1.S2iRun" + } + }, + { + "uniqueItems": true, + "type": "string", + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "name": "dryRun", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "fieldManager is a name associated with the actor or entity that is making these changes. The value must be less than or 128 characters long, and only contain printable characters, as defined by https://golang.org/pkg/unicode/#IsPrint.", + "name": "fieldManager", + "in": "query" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.devops.v1alpha1.S2iRun" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.devops.v1alpha1.S2iRun" + } + } + }, + "x-kubernetes-action": "put", + "x-kubernetes-group-version-kind": { + "group": "devops.kubesphere.io", + "version": "v1alpha1", + "kind": "S2iRun" + } + }, + "patch": { + "description": "partially update status of the specified S2iRun", + "consumes": [ + "application/json-patch+json", + "application/merge-patch+json", + "application/strategic-merge-patch+json", + "application/apply-patch+yaml" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "schemes": [ + "https" + ], + "tags": [ + "devopsKubesphereIo_v1alpha1" + ], + "operationId": "patchDevopsKubesphereIoV1alpha1S2iRunStatus", + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Patch" + } + }, + { + "uniqueItems": true, + "type": "string", + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "name": "dryRun", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "fieldManager is a name associated with the actor or entity that is making these changes. The value must be less than or 128 characters long, and only contain printable characters, as defined by https://golang.org/pkg/unicode/#IsPrint. This field is required for apply requests (application/apply-patch) but optional for non-apply patch types (JsonPatch, MergePatch, StrategicMergePatch).", + "name": "fieldManager", + "in": "query" + }, + { + "uniqueItems": true, + "type": "boolean", + "description": "Force is going to \"force\" Apply requests. It means user will re-acquire conflicting fields owned by other people. Force flag must be unset for non-apply patch requests.", + "name": "force", + "in": "query" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.devops.v1alpha1.S2iRun" + } + } + }, + "x-kubernetes-action": "patch", + "x-kubernetes-group-version-kind": { + "group": "devops.kubesphere.io", + "version": "v1alpha1", + "kind": "S2iRun" + } + }, + "parameters": [ + { + "uniqueItems": true, + "type": "string", + "description": "name of the S2iRun", + "name": "name", + "in": "path", + "required": true + }, + { + "uniqueItems": true, + "type": "string", + "description": "If 'true', then the output is pretty printed.", + "name": "pretty", + "in": "query" + } + ] + }, + "/apis/devops.kubesphere.io/v1alpha1/watch/s2ibinaries": { + "get": { + "description": "watch individual changes to a list of S2iBinary. deprecated: use the 'watch' parameter with a list operation instead.", + "consumes": [ + "*/*" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" + ], + "schemes": [ + "https" + ], + "tags": [ + "devopsKubesphereIo_v1alpha1" + ], + "operationId": "watchDevopsKubesphereIoV1alpha1S2iBinaryList", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" + } + } + }, + "x-kubernetes-action": "watchlist", + "x-kubernetes-group-version-kind": { + "group": "devops.kubesphere.io", + "version": "v1alpha1", + "kind": "S2iBinary" + } + }, + "parameters": [ + { + "uniqueItems": true, + "type": "boolean", + "description": "allowWatchBookmarks requests watch events with type \"BOOKMARK\". Servers that do not implement bookmarks may ignore this flag and bookmarks are sent at the server's discretion. Clients should not assume bookmarks are returned at any specific interval, nor may they assume the server will send any BOOKMARK event during a session. If this is not a watch, this field is ignored. If the feature gate WatchBookmarks is not enabled in apiserver, this field is ignored.", + "name": "allowWatchBookmarks", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \"next key\".\n\nThis field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.", + "name": "continue", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", + "name": "fieldSelector", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", + "name": "labelSelector", + "in": "query" + }, + { + "uniqueItems": true, + "type": "integer", + "description": "limit is a maximum number of responses to return for a list call. If more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true.\n\nThe server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.", + "name": "limit", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "If 'true', then the output is pretty printed.", + "name": "pretty", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.", + "name": "resourceVersion", + "in": "query" + }, + { + "uniqueItems": true, + "type": "integer", + "description": "Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.", + "name": "timeoutSeconds", + "in": "query" + }, + { + "uniqueItems": true, + "type": "boolean", + "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", + "name": "watch", + "in": "query" + } + ] + }, + "/apis/devops.kubesphere.io/v1alpha1/watch/s2ibinaries/{name}": { + "get": { + "description": "watch changes to an object of kind S2iBinary. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", + "consumes": [ + "*/*" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" + ], + "schemes": [ + "https" + ], + "tags": [ + "devopsKubesphereIo_v1alpha1" + ], + "operationId": "watchDevopsKubesphereIoV1alpha1S2iBinary", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" + } + } + }, + "x-kubernetes-action": "watch", + "x-kubernetes-group-version-kind": { + "group": "devops.kubesphere.io", + "version": "v1alpha1", + "kind": "S2iBinary" + } + }, + "parameters": [ + { + "uniqueItems": true, + "type": "boolean", + "description": "allowWatchBookmarks requests watch events with type \"BOOKMARK\". Servers that do not implement bookmarks may ignore this flag and bookmarks are sent at the server's discretion. Clients should not assume bookmarks are returned at any specific interval, nor may they assume the server will send any BOOKMARK event during a session. If this is not a watch, this field is ignored. If the feature gate WatchBookmarks is not enabled in apiserver, this field is ignored.", + "name": "allowWatchBookmarks", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \"next key\".\n\nThis field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.", + "name": "continue", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", + "name": "fieldSelector", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", + "name": "labelSelector", + "in": "query" + }, + { + "uniqueItems": true, + "type": "integer", + "description": "limit is a maximum number of responses to return for a list call. If more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true.\n\nThe server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.", + "name": "limit", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "name of the S2iBinary", + "name": "name", + "in": "path", + "required": true + }, + { + "uniqueItems": true, + "type": "string", + "description": "If 'true', then the output is pretty printed.", + "name": "pretty", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.", + "name": "resourceVersion", + "in": "query" + }, + { + "uniqueItems": true, + "type": "integer", + "description": "Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.", + "name": "timeoutSeconds", + "in": "query" + }, + { + "uniqueItems": true, + "type": "boolean", + "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", + "name": "watch", + "in": "query" + } + ] + }, + "/apis/devops.kubesphere.io/v1alpha1/watch/s2ibuilders": { + "get": { + "description": "watch individual changes to a list of S2iBuilder. deprecated: use the 'watch' parameter with a list operation instead.", + "consumes": [ + "*/*" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" + ], + "schemes": [ + "https" + ], + "tags": [ + "devopsKubesphereIo_v1alpha1" + ], + "operationId": "watchDevopsKubesphereIoV1alpha1S2iBuilderList", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" + } + } + }, + "x-kubernetes-action": "watchlist", + "x-kubernetes-group-version-kind": { + "group": "devops.kubesphere.io", + "version": "v1alpha1", + "kind": "S2iBuilder" + } + }, + "parameters": [ + { + "uniqueItems": true, + "type": "boolean", + "description": "allowWatchBookmarks requests watch events with type \"BOOKMARK\". Servers that do not implement bookmarks may ignore this flag and bookmarks are sent at the server's discretion. Clients should not assume bookmarks are returned at any specific interval, nor may they assume the server will send any BOOKMARK event during a session. If this is not a watch, this field is ignored. If the feature gate WatchBookmarks is not enabled in apiserver, this field is ignored.", + "name": "allowWatchBookmarks", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \"next key\".\n\nThis field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.", + "name": "continue", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", + "name": "fieldSelector", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", + "name": "labelSelector", + "in": "query" + }, + { + "uniqueItems": true, + "type": "integer", + "description": "limit is a maximum number of responses to return for a list call. If more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true.\n\nThe server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.", + "name": "limit", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "If 'true', then the output is pretty printed.", + "name": "pretty", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.", + "name": "resourceVersion", + "in": "query" + }, + { + "uniqueItems": true, + "type": "integer", + "description": "Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.", + "name": "timeoutSeconds", + "in": "query" + }, + { + "uniqueItems": true, + "type": "boolean", + "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", + "name": "watch", + "in": "query" + } + ] + }, + "/apis/devops.kubesphere.io/v1alpha1/watch/s2ibuilders/{name}": { + "get": { + "description": "watch changes to an object of kind S2iBuilder. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", + "consumes": [ + "*/*" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" + ], + "schemes": [ + "https" + ], + "tags": [ + "devopsKubesphereIo_v1alpha1" + ], + "operationId": "watchDevopsKubesphereIoV1alpha1S2iBuilder", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" + } + } + }, + "x-kubernetes-action": "watch", + "x-kubernetes-group-version-kind": { + "group": "devops.kubesphere.io", + "version": "v1alpha1", + "kind": "S2iBuilder" + } + }, + "parameters": [ + { + "uniqueItems": true, + "type": "boolean", + "description": "allowWatchBookmarks requests watch events with type \"BOOKMARK\". Servers that do not implement bookmarks may ignore this flag and bookmarks are sent at the server's discretion. Clients should not assume bookmarks are returned at any specific interval, nor may they assume the server will send any BOOKMARK event during a session. If this is not a watch, this field is ignored. If the feature gate WatchBookmarks is not enabled in apiserver, this field is ignored.", + "name": "allowWatchBookmarks", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \"next key\".\n\nThis field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.", + "name": "continue", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", + "name": "fieldSelector", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", + "name": "labelSelector", + "in": "query" + }, + { + "uniqueItems": true, + "type": "integer", + "description": "limit is a maximum number of responses to return for a list call. If more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true.\n\nThe server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.", + "name": "limit", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "name of the S2iBuilder", + "name": "name", + "in": "path", + "required": true + }, + { + "uniqueItems": true, + "type": "string", + "description": "If 'true', then the output is pretty printed.", + "name": "pretty", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.", + "name": "resourceVersion", + "in": "query" + }, + { + "uniqueItems": true, + "type": "integer", + "description": "Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.", + "name": "timeoutSeconds", + "in": "query" + }, + { + "uniqueItems": true, + "type": "boolean", + "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", + "name": "watch", + "in": "query" + } + ] + }, + "/apis/devops.kubesphere.io/v1alpha1/watch/s2ibuildertemplates": { + "get": { + "description": "watch individual changes to a list of S2iBuilderTemplate. deprecated: use the 'watch' parameter with a list operation instead.", + "consumes": [ + "*/*" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" + ], + "schemes": [ + "https" + ], + "tags": [ + "devopsKubesphereIo_v1alpha1" + ], + "operationId": "watchDevopsKubesphereIoV1alpha1S2iBuilderTemplateList", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" + } + } + }, + "x-kubernetes-action": "watchlist", + "x-kubernetes-group-version-kind": { + "group": "devops.kubesphere.io", + "version": "v1alpha1", + "kind": "S2iBuilderTemplate" + } + }, + "parameters": [ + { + "uniqueItems": true, + "type": "boolean", + "description": "allowWatchBookmarks requests watch events with type \"BOOKMARK\". Servers that do not implement bookmarks may ignore this flag and bookmarks are sent at the server's discretion. Clients should not assume bookmarks are returned at any specific interval, nor may they assume the server will send any BOOKMARK event during a session. If this is not a watch, this field is ignored. If the feature gate WatchBookmarks is not enabled in apiserver, this field is ignored.", + "name": "allowWatchBookmarks", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \"next key\".\n\nThis field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.", + "name": "continue", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", + "name": "fieldSelector", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", + "name": "labelSelector", + "in": "query" + }, + { + "uniqueItems": true, + "type": "integer", + "description": "limit is a maximum number of responses to return for a list call. If more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true.\n\nThe server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.", + "name": "limit", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "If 'true', then the output is pretty printed.", + "name": "pretty", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.", + "name": "resourceVersion", + "in": "query" + }, + { + "uniqueItems": true, + "type": "integer", + "description": "Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.", + "name": "timeoutSeconds", + "in": "query" + }, + { + "uniqueItems": true, + "type": "boolean", + "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", + "name": "watch", + "in": "query" + } + ] + }, + "/apis/devops.kubesphere.io/v1alpha1/watch/s2ibuildertemplates/{name}": { + "get": { + "description": "watch changes to an object of kind S2iBuilderTemplate. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", + "consumes": [ + "*/*" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" + ], + "schemes": [ + "https" + ], + "tags": [ + "devopsKubesphereIo_v1alpha1" + ], + "operationId": "watchDevopsKubesphereIoV1alpha1S2iBuilderTemplate", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" + } + } + }, + "x-kubernetes-action": "watch", + "x-kubernetes-group-version-kind": { + "group": "devops.kubesphere.io", + "version": "v1alpha1", + "kind": "S2iBuilderTemplate" + } + }, + "parameters": [ + { + "uniqueItems": true, + "type": "boolean", + "description": "allowWatchBookmarks requests watch events with type \"BOOKMARK\". Servers that do not implement bookmarks may ignore this flag and bookmarks are sent at the server's discretion. Clients should not assume bookmarks are returned at any specific interval, nor may they assume the server will send any BOOKMARK event during a session. If this is not a watch, this field is ignored. If the feature gate WatchBookmarks is not enabled in apiserver, this field is ignored.", + "name": "allowWatchBookmarks", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \"next key\".\n\nThis field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.", + "name": "continue", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", + "name": "fieldSelector", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", + "name": "labelSelector", + "in": "query" + }, + { + "uniqueItems": true, + "type": "integer", + "description": "limit is a maximum number of responses to return for a list call. If more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true.\n\nThe server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.", + "name": "limit", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "name of the S2iBuilderTemplate", + "name": "name", + "in": "path", + "required": true + }, + { + "uniqueItems": true, + "type": "string", + "description": "If 'true', then the output is pretty printed.", + "name": "pretty", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.", + "name": "resourceVersion", + "in": "query" + }, + { + "uniqueItems": true, + "type": "integer", + "description": "Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.", + "name": "timeoutSeconds", + "in": "query" + }, + { + "uniqueItems": true, + "type": "boolean", + "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", + "name": "watch", + "in": "query" + } + ] + }, + "/apis/devops.kubesphere.io/v1alpha1/watch/s2iruns": { + "get": { + "description": "watch individual changes to a list of S2iRun. deprecated: use the 'watch' parameter with a list operation instead.", + "consumes": [ + "*/*" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" + ], + "schemes": [ + "https" + ], + "tags": [ + "devopsKubesphereIo_v1alpha1" + ], + "operationId": "watchDevopsKubesphereIoV1alpha1S2iRunList", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" + } + } + }, + "x-kubernetes-action": "watchlist", + "x-kubernetes-group-version-kind": { + "group": "devops.kubesphere.io", + "version": "v1alpha1", + "kind": "S2iRun" + } + }, + "parameters": [ + { + "uniqueItems": true, + "type": "boolean", + "description": "allowWatchBookmarks requests watch events with type \"BOOKMARK\". Servers that do not implement bookmarks may ignore this flag and bookmarks are sent at the server's discretion. Clients should not assume bookmarks are returned at any specific interval, nor may they assume the server will send any BOOKMARK event during a session. If this is not a watch, this field is ignored. If the feature gate WatchBookmarks is not enabled in apiserver, this field is ignored.", + "name": "allowWatchBookmarks", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \"next key\".\n\nThis field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.", + "name": "continue", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", + "name": "fieldSelector", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", + "name": "labelSelector", + "in": "query" + }, + { + "uniqueItems": true, + "type": "integer", + "description": "limit is a maximum number of responses to return for a list call. If more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true.\n\nThe server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.", + "name": "limit", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "If 'true', then the output is pretty printed.", + "name": "pretty", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.", + "name": "resourceVersion", + "in": "query" + }, + { + "uniqueItems": true, + "type": "integer", + "description": "Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.", + "name": "timeoutSeconds", + "in": "query" + }, + { + "uniqueItems": true, + "type": "boolean", + "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", + "name": "watch", + "in": "query" + } + ] + }, + "/apis/devops.kubesphere.io/v1alpha1/watch/s2iruns/{name}": { + "get": { + "description": "watch changes to an object of kind S2iRun. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", + "consumes": [ + "*/*" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" + ], + "schemes": [ + "https" + ], + "tags": [ + "devopsKubesphereIo_v1alpha1" + ], + "operationId": "watchDevopsKubesphereIoV1alpha1S2iRun", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" + } + } + }, + "x-kubernetes-action": "watch", + "x-kubernetes-group-version-kind": { + "group": "devops.kubesphere.io", + "version": "v1alpha1", + "kind": "S2iRun" + } + }, + "parameters": [ + { + "uniqueItems": true, + "type": "boolean", + "description": "allowWatchBookmarks requests watch events with type \"BOOKMARK\". Servers that do not implement bookmarks may ignore this flag and bookmarks are sent at the server's discretion. Clients should not assume bookmarks are returned at any specific interval, nor may they assume the server will send any BOOKMARK event during a session. If this is not a watch, this field is ignored. If the feature gate WatchBookmarks is not enabled in apiserver, this field is ignored.", + "name": "allowWatchBookmarks", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \"next key\".\n\nThis field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.", + "name": "continue", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", + "name": "fieldSelector", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", + "name": "labelSelector", + "in": "query" + }, + { + "uniqueItems": true, + "type": "integer", + "description": "limit is a maximum number of responses to return for a list call. If more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true.\n\nThe server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.", + "name": "limit", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "name of the S2iRun", + "name": "name", + "in": "path", + "required": true + }, + { + "uniqueItems": true, + "type": "string", + "description": "If 'true', then the output is pretty printed.", + "name": "pretty", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.", + "name": "resourceVersion", + "in": "query" + }, + { + "uniqueItems": true, + "type": "integer", + "description": "Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.", + "name": "timeoutSeconds", + "in": "query" + }, + { + "uniqueItems": true, + "type": "boolean", + "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", + "name": "watch", + "in": "query" + } + ] + }, + "/apis/devops.kubesphere.io/v1alpha3/": { + "get": { + "description": "get available resources", + "consumes": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "schemes": [ + "https" + ], + "tags": [ + "devopsKubesphereIo_v1alpha3" + ], + "operationId": "getDevopsKubesphereIoV1alpha3APIResources", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.APIResourceList" + } + } + } + } + }, + "/apis/devops.kubesphere.io/v1alpha3/devopsprojects": { + "get": { + "description": "list or watch objects of kind DevOpsProject", + "consumes": [ + "*/*" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" + ], + "schemes": [ + "https" + ], + "tags": [ + "devopsKubesphereIo_v1alpha3" + ], + "operationId": "listDevopsKubesphereIoV1alpha3DevOpsProject", + "parameters": [ + { + "uniqueItems": true, + "type": "boolean", + "description": "allowWatchBookmarks requests watch events with type \"BOOKMARK\". Servers that do not implement bookmarks may ignore this flag and bookmarks are sent at the server's discretion. Clients should not assume bookmarks are returned at any specific interval, nor may they assume the server will send any BOOKMARK event during a session. If this is not a watch, this field is ignored. If the feature gate WatchBookmarks is not enabled in apiserver, this field is ignored.", + "name": "allowWatchBookmarks", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \"next key\".\n\nThis field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.", + "name": "continue", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", + "name": "fieldSelector", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", + "name": "labelSelector", + "in": "query" + }, + { + "uniqueItems": true, + "type": "integer", + "description": "limit is a maximum number of responses to return for a list call. If more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true.\n\nThe server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.", + "name": "limit", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.", + "name": "resourceVersion", + "in": "query" + }, + { + "uniqueItems": true, + "type": "integer", + "description": "Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.", + "name": "timeoutSeconds", + "in": "query" + }, + { + "uniqueItems": true, + "type": "boolean", + "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", + "name": "watch", + "in": "query" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.devops.v1alpha3.DevOpsProjectList" + } + } + }, + "x-kubernetes-action": "list", + "x-kubernetes-group-version-kind": { + "group": "devops.kubesphere.io", + "version": "v1alpha3", + "kind": "DevOpsProject" + } + }, + "post": { + "description": "create a DevOpsProject", + "consumes": [ + "*/*" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "schemes": [ + "https" + ], + "tags": [ + "devopsKubesphereIo_v1alpha3" + ], + "operationId": "createDevopsKubesphereIoV1alpha3DevOpsProject", + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.devops.v1alpha3.DevOpsProject" + } + }, + { + "uniqueItems": true, + "type": "string", + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "name": "dryRun", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "fieldManager is a name associated with the actor or entity that is making these changes. The value must be less than or 128 characters long, and only contain printable characters, as defined by https://golang.org/pkg/unicode/#IsPrint.", + "name": "fieldManager", + "in": "query" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.devops.v1alpha3.DevOpsProject" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.devops.v1alpha3.DevOpsProject" + } + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.devops.v1alpha3.DevOpsProject" + } + } + }, + "x-kubernetes-action": "post", + "x-kubernetes-group-version-kind": { + "group": "devops.kubesphere.io", + "version": "v1alpha3", + "kind": "DevOpsProject" + } + }, + "delete": { + "description": "delete collection of DevOpsProject", + "consumes": [ + "*/*" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "schemes": [ + "https" + ], + "tags": [ + "devopsKubesphereIo_v1alpha3" + ], + "operationId": "deleteDevopsKubesphereIoV1alpha3CollectionDevOpsProject", + "parameters": [ + { + "uniqueItems": true, + "type": "boolean", + "description": "allowWatchBookmarks requests watch events with type \"BOOKMARK\". Servers that do not implement bookmarks may ignore this flag and bookmarks are sent at the server's discretion. Clients should not assume bookmarks are returned at any specific interval, nor may they assume the server will send any BOOKMARK event during a session. If this is not a watch, this field is ignored. If the feature gate WatchBookmarks is not enabled in apiserver, this field is ignored.", + "name": "allowWatchBookmarks", + "in": "query" + }, + { + "name": "body", + "in": "body", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.DeleteOptions" + } + }, + { + "uniqueItems": true, + "type": "string", + "description": "The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \"next key\".\n\nThis field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.", + "name": "continue", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "name": "dryRun", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", + "name": "fieldSelector", + "in": "query" + }, + { + "uniqueItems": true, + "type": "integer", + "description": "The duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used. Defaults to a per object value if not specified. zero means delete immediately.", + "name": "gracePeriodSeconds", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", + "name": "labelSelector", + "in": "query" + }, + { + "uniqueItems": true, + "type": "integer", + "description": "limit is a maximum number of responses to return for a list call. If more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true.\n\nThe server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.", + "name": "limit", + "in": "query" + }, + { + "uniqueItems": true, + "type": "boolean", + "description": "Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.", + "name": "orphanDependents", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy. Acceptable values are: 'Orphan' - orphan the dependents; 'Background' - allow the garbage collector to delete the dependents in the background; 'Foreground' - a cascading policy that deletes all dependents in the foreground.", + "name": "propagationPolicy", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.", + "name": "resourceVersion", + "in": "query" + }, + { + "uniqueItems": true, + "type": "integer", + "description": "Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.", + "name": "timeoutSeconds", + "in": "query" + }, + { + "uniqueItems": true, + "type": "boolean", + "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", + "name": "watch", + "in": "query" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" + } + } + }, + "x-kubernetes-action": "deletecollection", + "x-kubernetes-group-version-kind": { + "group": "devops.kubesphere.io", + "version": "v1alpha3", + "kind": "DevOpsProject" + } + }, + "parameters": [ + { + "uniqueItems": true, + "type": "string", + "description": "If 'true', then the output is pretty printed.", + "name": "pretty", + "in": "query" + } + ] + }, + "/apis/devops.kubesphere.io/v1alpha3/devopsprojects/{name}": { + "get": { + "description": "read the specified DevOpsProject", + "consumes": [ + "*/*" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "schemes": [ + "https" + ], + "tags": [ + "devopsKubesphereIo_v1alpha3" + ], + "operationId": "readDevopsKubesphereIoV1alpha3DevOpsProject", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.devops.v1alpha3.DevOpsProject" + } + } + }, + "x-kubernetes-action": "get", + "x-kubernetes-group-version-kind": { + "group": "devops.kubesphere.io", + "version": "v1alpha3", + "kind": "DevOpsProject" + } + }, + "put": { + "description": "replace the specified DevOpsProject", + "consumes": [ + "*/*" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "schemes": [ + "https" + ], + "tags": [ + "devopsKubesphereIo_v1alpha3" + ], + "operationId": "replaceDevopsKubesphereIoV1alpha3DevOpsProject", + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.devops.v1alpha3.DevOpsProject" + } + }, + { + "uniqueItems": true, + "type": "string", + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "name": "dryRun", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "fieldManager is a name associated with the actor or entity that is making these changes. The value must be less than or 128 characters long, and only contain printable characters, as defined by https://golang.org/pkg/unicode/#IsPrint.", + "name": "fieldManager", + "in": "query" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.devops.v1alpha3.DevOpsProject" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.devops.v1alpha3.DevOpsProject" + } + } + }, + "x-kubernetes-action": "put", + "x-kubernetes-group-version-kind": { + "group": "devops.kubesphere.io", + "version": "v1alpha3", + "kind": "DevOpsProject" + } + }, + "delete": { + "description": "delete a DevOpsProject", + "consumes": [ + "*/*" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "schemes": [ + "https" + ], + "tags": [ + "devopsKubesphereIo_v1alpha3" + ], + "operationId": "deleteDevopsKubesphereIoV1alpha3DevOpsProject", + "parameters": [ + { + "name": "body", + "in": "body", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.DeleteOptions" + } + }, + { + "uniqueItems": true, + "type": "string", + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "name": "dryRun", + "in": "query" + }, + { + "uniqueItems": true, + "type": "integer", + "description": "The duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used. Defaults to a per object value if not specified. zero means delete immediately.", + "name": "gracePeriodSeconds", + "in": "query" + }, + { + "uniqueItems": true, + "type": "boolean", + "description": "Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.", + "name": "orphanDependents", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy. Acceptable values are: 'Orphan' - orphan the dependents; 'Background' - allow the garbage collector to delete the dependents in the background; 'Foreground' - a cascading policy that deletes all dependents in the foreground.", + "name": "propagationPolicy", + "in": "query" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" + } + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" + } + } + }, + "x-kubernetes-action": "delete", + "x-kubernetes-group-version-kind": { + "group": "devops.kubesphere.io", + "version": "v1alpha3", + "kind": "DevOpsProject" + } + }, + "patch": { + "description": "partially update the specified DevOpsProject", + "consumes": [ + "application/json-patch+json", + "application/merge-patch+json", + "application/strategic-merge-patch+json", + "application/apply-patch+yaml" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "schemes": [ + "https" + ], + "tags": [ + "devopsKubesphereIo_v1alpha3" + ], + "operationId": "patchDevopsKubesphereIoV1alpha3DevOpsProject", + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Patch" + } + }, + { + "uniqueItems": true, + "type": "string", + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "name": "dryRun", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "fieldManager is a name associated with the actor or entity that is making these changes. The value must be less than or 128 characters long, and only contain printable characters, as defined by https://golang.org/pkg/unicode/#IsPrint. This field is required for apply requests (application/apply-patch) but optional for non-apply patch types (JsonPatch, MergePatch, StrategicMergePatch).", + "name": "fieldManager", + "in": "query" + }, + { + "uniqueItems": true, + "type": "boolean", + "description": "Force is going to \"force\" Apply requests. It means user will re-acquire conflicting fields owned by other people. Force flag must be unset for non-apply patch requests.", + "name": "force", + "in": "query" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.devops.v1alpha3.DevOpsProject" + } + } + }, + "x-kubernetes-action": "patch", + "x-kubernetes-group-version-kind": { + "group": "devops.kubesphere.io", + "version": "v1alpha3", + "kind": "DevOpsProject" + } + }, + "parameters": [ + { + "uniqueItems": true, + "type": "string", + "description": "name of the DevOpsProject", + "name": "name", + "in": "path", + "required": true + }, + { + "uniqueItems": true, + "type": "string", + "description": "If 'true', then the output is pretty printed.", + "name": "pretty", + "in": "query" + } + ] + }, + "/apis/devops.kubesphere.io/v1alpha3/devopsprojects/{name}/status": { + "get": { + "description": "read status of the specified DevOpsProject", + "consumes": [ + "*/*" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "schemes": [ + "https" + ], + "tags": [ + "devopsKubesphereIo_v1alpha3" + ], + "operationId": "readDevopsKubesphereIoV1alpha3DevOpsProjectStatus", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.devops.v1alpha3.DevOpsProject" + } + } + }, + "x-kubernetes-action": "get", + "x-kubernetes-group-version-kind": { + "group": "devops.kubesphere.io", + "version": "v1alpha3", + "kind": "DevOpsProject" + } + }, + "put": { + "description": "replace status of the specified DevOpsProject", + "consumes": [ + "*/*" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "schemes": [ + "https" + ], + "tags": [ + "devopsKubesphereIo_v1alpha3" + ], + "operationId": "replaceDevopsKubesphereIoV1alpha3DevOpsProjectStatus", + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.devops.v1alpha3.DevOpsProject" + } + }, + { + "uniqueItems": true, + "type": "string", + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "name": "dryRun", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "fieldManager is a name associated with the actor or entity that is making these changes. The value must be less than or 128 characters long, and only contain printable characters, as defined by https://golang.org/pkg/unicode/#IsPrint.", + "name": "fieldManager", + "in": "query" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.devops.v1alpha3.DevOpsProject" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.devops.v1alpha3.DevOpsProject" + } + } + }, + "x-kubernetes-action": "put", + "x-kubernetes-group-version-kind": { + "group": "devops.kubesphere.io", + "version": "v1alpha3", + "kind": "DevOpsProject" + } + }, + "patch": { + "description": "partially update status of the specified DevOpsProject", + "consumes": [ + "application/json-patch+json", + "application/merge-patch+json", + "application/strategic-merge-patch+json", + "application/apply-patch+yaml" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "schemes": [ + "https" + ], + "tags": [ + "devopsKubesphereIo_v1alpha3" + ], + "operationId": "patchDevopsKubesphereIoV1alpha3DevOpsProjectStatus", + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Patch" + } + }, + { + "uniqueItems": true, + "type": "string", + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "name": "dryRun", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "fieldManager is a name associated with the actor or entity that is making these changes. The value must be less than or 128 characters long, and only contain printable characters, as defined by https://golang.org/pkg/unicode/#IsPrint. This field is required for apply requests (application/apply-patch) but optional for non-apply patch types (JsonPatch, MergePatch, StrategicMergePatch).", + "name": "fieldManager", + "in": "query" + }, + { + "uniqueItems": true, + "type": "boolean", + "description": "Force is going to \"force\" Apply requests. It means user will re-acquire conflicting fields owned by other people. Force flag must be unset for non-apply patch requests.", + "name": "force", + "in": "query" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.devops.v1alpha3.DevOpsProject" + } + } + }, + "x-kubernetes-action": "patch", + "x-kubernetes-group-version-kind": { + "group": "devops.kubesphere.io", + "version": "v1alpha3", + "kind": "DevOpsProject" + } + }, + "parameters": [ + { + "uniqueItems": true, + "type": "string", + "description": "name of the DevOpsProject", + "name": "name", + "in": "path", + "required": true + }, + { + "uniqueItems": true, + "type": "string", + "description": "If 'true', then the output is pretty printed.", + "name": "pretty", + "in": "query" + } + ] + }, + "/apis/devops.kubesphere.io/v1alpha3/pipelines": { + "get": { + "description": "list or watch objects of kind Pipeline", + "consumes": [ + "*/*" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" + ], + "schemes": [ + "https" + ], + "tags": [ + "devopsKubesphereIo_v1alpha3" + ], + "operationId": "listDevopsKubesphereIoV1alpha3Pipeline", + "parameters": [ + { + "uniqueItems": true, + "type": "boolean", + "description": "allowWatchBookmarks requests watch events with type \"BOOKMARK\". Servers that do not implement bookmarks may ignore this flag and bookmarks are sent at the server's discretion. Clients should not assume bookmarks are returned at any specific interval, nor may they assume the server will send any BOOKMARK event during a session. If this is not a watch, this field is ignored. If the feature gate WatchBookmarks is not enabled in apiserver, this field is ignored.", + "name": "allowWatchBookmarks", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \"next key\".\n\nThis field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.", + "name": "continue", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", + "name": "fieldSelector", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", + "name": "labelSelector", + "in": "query" + }, + { + "uniqueItems": true, + "type": "integer", + "description": "limit is a maximum number of responses to return for a list call. If more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true.\n\nThe server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.", + "name": "limit", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.", + "name": "resourceVersion", + "in": "query" + }, + { + "uniqueItems": true, + "type": "integer", + "description": "Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.", + "name": "timeoutSeconds", + "in": "query" + }, + { + "uniqueItems": true, + "type": "boolean", + "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", + "name": "watch", + "in": "query" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.devops.v1alpha3.PipelineList" + } + } + }, + "x-kubernetes-action": "list", + "x-kubernetes-group-version-kind": { + "group": "devops.kubesphere.io", + "version": "v1alpha3", + "kind": "Pipeline" + } + }, + "post": { + "description": "create a Pipeline", + "consumes": [ + "*/*" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "schemes": [ + "https" + ], + "tags": [ + "devopsKubesphereIo_v1alpha3" + ], + "operationId": "createDevopsKubesphereIoV1alpha3Pipeline", + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.devops.v1alpha3.Pipeline" + } + }, + { + "uniqueItems": true, + "type": "string", + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "name": "dryRun", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "fieldManager is a name associated with the actor or entity that is making these changes. The value must be less than or 128 characters long, and only contain printable characters, as defined by https://golang.org/pkg/unicode/#IsPrint.", + "name": "fieldManager", + "in": "query" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.devops.v1alpha3.Pipeline" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.devops.v1alpha3.Pipeline" + } + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.devops.v1alpha3.Pipeline" + } + } + }, + "x-kubernetes-action": "post", + "x-kubernetes-group-version-kind": { + "group": "devops.kubesphere.io", + "version": "v1alpha3", + "kind": "Pipeline" + } + }, + "delete": { + "description": "delete collection of Pipeline", + "consumes": [ + "*/*" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "schemes": [ + "https" + ], + "tags": [ + "devopsKubesphereIo_v1alpha3" + ], + "operationId": "deleteDevopsKubesphereIoV1alpha3CollectionPipeline", + "parameters": [ + { + "uniqueItems": true, + "type": "boolean", + "description": "allowWatchBookmarks requests watch events with type \"BOOKMARK\". Servers that do not implement bookmarks may ignore this flag and bookmarks are sent at the server's discretion. Clients should not assume bookmarks are returned at any specific interval, nor may they assume the server will send any BOOKMARK event during a session. If this is not a watch, this field is ignored. If the feature gate WatchBookmarks is not enabled in apiserver, this field is ignored.", + "name": "allowWatchBookmarks", + "in": "query" + }, + { + "name": "body", + "in": "body", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.DeleteOptions" + } + }, + { + "uniqueItems": true, + "type": "string", + "description": "The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \"next key\".\n\nThis field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.", + "name": "continue", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "name": "dryRun", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", + "name": "fieldSelector", + "in": "query" + }, + { + "uniqueItems": true, + "type": "integer", + "description": "The duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used. Defaults to a per object value if not specified. zero means delete immediately.", + "name": "gracePeriodSeconds", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", + "name": "labelSelector", + "in": "query" + }, + { + "uniqueItems": true, + "type": "integer", + "description": "limit is a maximum number of responses to return for a list call. If more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true.\n\nThe server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.", + "name": "limit", + "in": "query" + }, + { + "uniqueItems": true, + "type": "boolean", + "description": "Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.", + "name": "orphanDependents", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy. Acceptable values are: 'Orphan' - orphan the dependents; 'Background' - allow the garbage collector to delete the dependents in the background; 'Foreground' - a cascading policy that deletes all dependents in the foreground.", + "name": "propagationPolicy", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.", + "name": "resourceVersion", + "in": "query" + }, + { + "uniqueItems": true, + "type": "integer", + "description": "Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.", + "name": "timeoutSeconds", + "in": "query" + }, + { + "uniqueItems": true, + "type": "boolean", + "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", + "name": "watch", + "in": "query" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" + } + } + }, + "x-kubernetes-action": "deletecollection", + "x-kubernetes-group-version-kind": { + "group": "devops.kubesphere.io", + "version": "v1alpha3", + "kind": "Pipeline" + } + }, + "parameters": [ + { + "uniqueItems": true, + "type": "string", + "description": "If 'true', then the output is pretty printed.", + "name": "pretty", + "in": "query" + } + ] + }, + "/apis/devops.kubesphere.io/v1alpha3/pipelines/{name}": { + "get": { + "description": "read the specified Pipeline", + "consumes": [ + "*/*" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "schemes": [ + "https" + ], + "tags": [ + "devopsKubesphereIo_v1alpha3" + ], + "operationId": "readDevopsKubesphereIoV1alpha3Pipeline", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.devops.v1alpha3.Pipeline" + } + } + }, + "x-kubernetes-action": "get", + "x-kubernetes-group-version-kind": { + "group": "devops.kubesphere.io", + "version": "v1alpha3", + "kind": "Pipeline" + } + }, + "put": { + "description": "replace the specified Pipeline", + "consumes": [ + "*/*" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "schemes": [ + "https" + ], + "tags": [ + "devopsKubesphereIo_v1alpha3" + ], + "operationId": "replaceDevopsKubesphereIoV1alpha3Pipeline", + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.devops.v1alpha3.Pipeline" + } + }, + { + "uniqueItems": true, + "type": "string", + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "name": "dryRun", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "fieldManager is a name associated with the actor or entity that is making these changes. The value must be less than or 128 characters long, and only contain printable characters, as defined by https://golang.org/pkg/unicode/#IsPrint.", + "name": "fieldManager", + "in": "query" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.devops.v1alpha3.Pipeline" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.devops.v1alpha3.Pipeline" + } + } + }, + "x-kubernetes-action": "put", + "x-kubernetes-group-version-kind": { + "group": "devops.kubesphere.io", + "version": "v1alpha3", + "kind": "Pipeline" + } + }, + "delete": { + "description": "delete a Pipeline", + "consumes": [ + "*/*" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "schemes": [ + "https" + ], + "tags": [ + "devopsKubesphereIo_v1alpha3" + ], + "operationId": "deleteDevopsKubesphereIoV1alpha3Pipeline", + "parameters": [ + { + "name": "body", + "in": "body", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.DeleteOptions" + } + }, + { + "uniqueItems": true, + "type": "string", + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "name": "dryRun", + "in": "query" + }, + { + "uniqueItems": true, + "type": "integer", + "description": "The duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used. Defaults to a per object value if not specified. zero means delete immediately.", + "name": "gracePeriodSeconds", + "in": "query" + }, + { + "uniqueItems": true, + "type": "boolean", + "description": "Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.", + "name": "orphanDependents", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy. Acceptable values are: 'Orphan' - orphan the dependents; 'Background' - allow the garbage collector to delete the dependents in the background; 'Foreground' - a cascading policy that deletes all dependents in the foreground.", + "name": "propagationPolicy", + "in": "query" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" + } + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" + } + } + }, + "x-kubernetes-action": "delete", + "x-kubernetes-group-version-kind": { + "group": "devops.kubesphere.io", + "version": "v1alpha3", + "kind": "Pipeline" + } + }, + "patch": { + "description": "partially update the specified Pipeline", + "consumes": [ + "application/json-patch+json", + "application/merge-patch+json", + "application/strategic-merge-patch+json", + "application/apply-patch+yaml" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "schemes": [ + "https" + ], + "tags": [ + "devopsKubesphereIo_v1alpha3" + ], + "operationId": "patchDevopsKubesphereIoV1alpha3Pipeline", + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Patch" + } + }, + { + "uniqueItems": true, + "type": "string", + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "name": "dryRun", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "fieldManager is a name associated with the actor or entity that is making these changes. The value must be less than or 128 characters long, and only contain printable characters, as defined by https://golang.org/pkg/unicode/#IsPrint. This field is required for apply requests (application/apply-patch) but optional for non-apply patch types (JsonPatch, MergePatch, StrategicMergePatch).", + "name": "fieldManager", + "in": "query" + }, + { + "uniqueItems": true, + "type": "boolean", + "description": "Force is going to \"force\" Apply requests. It means user will re-acquire conflicting fields owned by other people. Force flag must be unset for non-apply patch requests.", + "name": "force", + "in": "query" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.devops.v1alpha3.Pipeline" + } + } + }, + "x-kubernetes-action": "patch", + "x-kubernetes-group-version-kind": { + "group": "devops.kubesphere.io", + "version": "v1alpha3", + "kind": "Pipeline" + } + }, + "parameters": [ + { + "uniqueItems": true, + "type": "string", + "description": "name of the Pipeline", + "name": "name", + "in": "path", + "required": true + }, + { + "uniqueItems": true, + "type": "string", + "description": "If 'true', then the output is pretty printed.", + "name": "pretty", + "in": "query" + } + ] + }, + "/apis/devops.kubesphere.io/v1alpha3/pipelines/{name}/status": { + "get": { + "description": "read status of the specified Pipeline", + "consumes": [ + "*/*" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "schemes": [ + "https" + ], + "tags": [ + "devopsKubesphereIo_v1alpha3" + ], + "operationId": "readDevopsKubesphereIoV1alpha3PipelineStatus", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.devops.v1alpha3.Pipeline" + } + } + }, + "x-kubernetes-action": "get", + "x-kubernetes-group-version-kind": { + "group": "devops.kubesphere.io", + "version": "v1alpha3", + "kind": "Pipeline" + } + }, + "put": { + "description": "replace status of the specified Pipeline", + "consumes": [ + "*/*" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "schemes": [ + "https" + ], + "tags": [ + "devopsKubesphereIo_v1alpha3" + ], + "operationId": "replaceDevopsKubesphereIoV1alpha3PipelineStatus", + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.devops.v1alpha3.Pipeline" + } + }, + { + "uniqueItems": true, + "type": "string", + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "name": "dryRun", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "fieldManager is a name associated with the actor or entity that is making these changes. The value must be less than or 128 characters long, and only contain printable characters, as defined by https://golang.org/pkg/unicode/#IsPrint.", + "name": "fieldManager", + "in": "query" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.devops.v1alpha3.Pipeline" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.devops.v1alpha3.Pipeline" + } + } + }, + "x-kubernetes-action": "put", + "x-kubernetes-group-version-kind": { + "group": "devops.kubesphere.io", + "version": "v1alpha3", + "kind": "Pipeline" + } + }, + "patch": { + "description": "partially update status of the specified Pipeline", + "consumes": [ + "application/json-patch+json", + "application/merge-patch+json", + "application/strategic-merge-patch+json", + "application/apply-patch+yaml" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "schemes": [ + "https" + ], + "tags": [ + "devopsKubesphereIo_v1alpha3" + ], + "operationId": "patchDevopsKubesphereIoV1alpha3PipelineStatus", + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Patch" + } + }, + { + "uniqueItems": true, + "type": "string", + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "name": "dryRun", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "fieldManager is a name associated with the actor or entity that is making these changes. The value must be less than or 128 characters long, and only contain printable characters, as defined by https://golang.org/pkg/unicode/#IsPrint. This field is required for apply requests (application/apply-patch) but optional for non-apply patch types (JsonPatch, MergePatch, StrategicMergePatch).", + "name": "fieldManager", + "in": "query" + }, + { + "uniqueItems": true, + "type": "boolean", + "description": "Force is going to \"force\" Apply requests. It means user will re-acquire conflicting fields owned by other people. Force flag must be unset for non-apply patch requests.", + "name": "force", + "in": "query" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.devops.v1alpha3.Pipeline" + } + } + }, + "x-kubernetes-action": "patch", + "x-kubernetes-group-version-kind": { + "group": "devops.kubesphere.io", + "version": "v1alpha3", + "kind": "Pipeline" + } + }, + "parameters": [ + { + "uniqueItems": true, + "type": "string", + "description": "name of the Pipeline", + "name": "name", + "in": "path", + "required": true + }, + { + "uniqueItems": true, + "type": "string", + "description": "If 'true', then the output is pretty printed.", + "name": "pretty", + "in": "query" + } + ] + }, + "/apis/devops.kubesphere.io/v1alpha3/watch/devopsprojects": { + "get": { + "description": "watch individual changes to a list of DevOpsProject. deprecated: use the 'watch' parameter with a list operation instead.", + "consumes": [ + "*/*" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" + ], + "schemes": [ + "https" + ], + "tags": [ + "devopsKubesphereIo_v1alpha3" + ], + "operationId": "watchDevopsKubesphereIoV1alpha3DevOpsProjectList", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" + } + } + }, + "x-kubernetes-action": "watchlist", + "x-kubernetes-group-version-kind": { + "group": "devops.kubesphere.io", + "version": "v1alpha3", + "kind": "DevOpsProject" + } + }, + "parameters": [ + { + "uniqueItems": true, + "type": "boolean", + "description": "allowWatchBookmarks requests watch events with type \"BOOKMARK\". Servers that do not implement bookmarks may ignore this flag and bookmarks are sent at the server's discretion. Clients should not assume bookmarks are returned at any specific interval, nor may they assume the server will send any BOOKMARK event during a session. If this is not a watch, this field is ignored. If the feature gate WatchBookmarks is not enabled in apiserver, this field is ignored.", + "name": "allowWatchBookmarks", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \"next key\".\n\nThis field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.", + "name": "continue", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", + "name": "fieldSelector", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", + "name": "labelSelector", + "in": "query" + }, + { + "uniqueItems": true, + "type": "integer", + "description": "limit is a maximum number of responses to return for a list call. If more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true.\n\nThe server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.", + "name": "limit", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "If 'true', then the output is pretty printed.", + "name": "pretty", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.", + "name": "resourceVersion", + "in": "query" + }, + { + "uniqueItems": true, + "type": "integer", + "description": "Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.", + "name": "timeoutSeconds", + "in": "query" + }, + { + "uniqueItems": true, + "type": "boolean", + "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", + "name": "watch", + "in": "query" + } + ] + }, + "/apis/devops.kubesphere.io/v1alpha3/watch/devopsprojects/{name}": { + "get": { + "description": "watch changes to an object of kind DevOpsProject. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", + "consumes": [ + "*/*" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" + ], + "schemes": [ + "https" + ], + "tags": [ + "devopsKubesphereIo_v1alpha3" + ], + "operationId": "watchDevopsKubesphereIoV1alpha3DevOpsProject", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" + } + } + }, + "x-kubernetes-action": "watch", + "x-kubernetes-group-version-kind": { + "group": "devops.kubesphere.io", + "version": "v1alpha3", + "kind": "DevOpsProject" + } + }, + "parameters": [ + { + "uniqueItems": true, + "type": "boolean", + "description": "allowWatchBookmarks requests watch events with type \"BOOKMARK\". Servers that do not implement bookmarks may ignore this flag and bookmarks are sent at the server's discretion. Clients should not assume bookmarks are returned at any specific interval, nor may they assume the server will send any BOOKMARK event during a session. If this is not a watch, this field is ignored. If the feature gate WatchBookmarks is not enabled in apiserver, this field is ignored.", + "name": "allowWatchBookmarks", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \"next key\".\n\nThis field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.", + "name": "continue", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", + "name": "fieldSelector", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", + "name": "labelSelector", + "in": "query" + }, + { + "uniqueItems": true, + "type": "integer", + "description": "limit is a maximum number of responses to return for a list call. If more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true.\n\nThe server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.", + "name": "limit", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "name of the DevOpsProject", + "name": "name", + "in": "path", + "required": true + }, + { + "uniqueItems": true, + "type": "string", + "description": "If 'true', then the output is pretty printed.", + "name": "pretty", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.", + "name": "resourceVersion", + "in": "query" + }, + { + "uniqueItems": true, + "type": "integer", + "description": "Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.", + "name": "timeoutSeconds", + "in": "query" + }, + { + "uniqueItems": true, + "type": "boolean", + "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", + "name": "watch", + "in": "query" + } + ] + }, + "/apis/devops.kubesphere.io/v1alpha3/watch/pipelines": { + "get": { + "description": "watch individual changes to a list of Pipeline. deprecated: use the 'watch' parameter with a list operation instead.", + "consumes": [ + "*/*" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" + ], + "schemes": [ + "https" + ], + "tags": [ + "devopsKubesphereIo_v1alpha3" + ], + "operationId": "watchDevopsKubesphereIoV1alpha3PipelineList", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" + } + } + }, + "x-kubernetes-action": "watchlist", + "x-kubernetes-group-version-kind": { + "group": "devops.kubesphere.io", + "version": "v1alpha3", + "kind": "Pipeline" + } + }, + "parameters": [ + { + "uniqueItems": true, + "type": "boolean", + "description": "allowWatchBookmarks requests watch events with type \"BOOKMARK\". Servers that do not implement bookmarks may ignore this flag and bookmarks are sent at the server's discretion. Clients should not assume bookmarks are returned at any specific interval, nor may they assume the server will send any BOOKMARK event during a session. If this is not a watch, this field is ignored. If the feature gate WatchBookmarks is not enabled in apiserver, this field is ignored.", + "name": "allowWatchBookmarks", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \"next key\".\n\nThis field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.", + "name": "continue", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", + "name": "fieldSelector", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", + "name": "labelSelector", + "in": "query" + }, + { + "uniqueItems": true, + "type": "integer", + "description": "limit is a maximum number of responses to return for a list call. If more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true.\n\nThe server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.", + "name": "limit", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "If 'true', then the output is pretty printed.", + "name": "pretty", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.", + "name": "resourceVersion", + "in": "query" + }, + { + "uniqueItems": true, + "type": "integer", + "description": "Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.", + "name": "timeoutSeconds", + "in": "query" + }, + { + "uniqueItems": true, + "type": "boolean", + "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", + "name": "watch", + "in": "query" + } + ] + }, + "/apis/devops.kubesphere.io/v1alpha3/watch/pipelines/{name}": { + "get": { + "description": "watch changes to an object of kind Pipeline. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", + "consumes": [ + "*/*" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" + ], + "schemes": [ + "https" + ], + "tags": [ + "devopsKubesphereIo_v1alpha3" + ], + "operationId": "watchDevopsKubesphereIoV1alpha3Pipeline", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" + } + } + }, + "x-kubernetes-action": "watch", + "x-kubernetes-group-version-kind": { + "group": "devops.kubesphere.io", + "version": "v1alpha3", + "kind": "Pipeline" + } + }, + "parameters": [ + { + "uniqueItems": true, + "type": "boolean", + "description": "allowWatchBookmarks requests watch events with type \"BOOKMARK\". Servers that do not implement bookmarks may ignore this flag and bookmarks are sent at the server's discretion. Clients should not assume bookmarks are returned at any specific interval, nor may they assume the server will send any BOOKMARK event during a session. If this is not a watch, this field is ignored. If the feature gate WatchBookmarks is not enabled in apiserver, this field is ignored.", + "name": "allowWatchBookmarks", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \"next key\".\n\nThis field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.", + "name": "continue", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", + "name": "fieldSelector", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", + "name": "labelSelector", + "in": "query" + }, + { + "uniqueItems": true, + "type": "integer", + "description": "limit is a maximum number of responses to return for a list call. If more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true.\n\nThe server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.", + "name": "limit", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "name of the Pipeline", + "name": "name", + "in": "path", + "required": true + }, + { + "uniqueItems": true, + "type": "string", + "description": "If 'true', then the output is pretty printed.", + "name": "pretty", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.", + "name": "resourceVersion", + "in": "query" + }, + { + "uniqueItems": true, + "type": "integer", + "description": "Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.", + "name": "timeoutSeconds", + "in": "query" + }, + { + "uniqueItems": true, + "type": "boolean", + "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", + "name": "watch", + "in": "query" + } + ] + }, + "/apis/network.kubesphere.io/": { + "get": { + "description": "get information of a group", + "consumes": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "schemes": [ + "https" + ], + "tags": [ + "networkKubesphereIo" + ], + "operationId": "getNetworkKubesphereIoAPIGroup", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.APIGroup" + } + } + } + } + }, + "/apis/network.kubesphere.io/v1alpha1/": { + "get": { + "description": "get available resources", + "consumes": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "schemes": [ + "https" + ], + "tags": [ + "networkKubesphereIo_v1alpha1" + ], + "operationId": "getNetworkKubesphereIoV1alpha1APIResources", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.APIResourceList" + } + } + } + } + }, + "/apis/network.kubesphere.io/v1alpha1/namespacenetworkpolicies": { + "get": { + "description": "list or watch objects of kind NamespaceNetworkPolicy", + "consumes": [ + "*/*" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" + ], + "schemes": [ + "https" + ], + "tags": [ + "networkKubesphereIo_v1alpha1" + ], + "operationId": "listNetworkKubesphereIoV1alpha1NamespaceNetworkPolicy", + "parameters": [ + { + "uniqueItems": true, + "type": "boolean", + "description": "allowWatchBookmarks requests watch events with type \"BOOKMARK\". Servers that do not implement bookmarks may ignore this flag and bookmarks are sent at the server's discretion. Clients should not assume bookmarks are returned at any specific interval, nor may they assume the server will send any BOOKMARK event during a session. If this is not a watch, this field is ignored. If the feature gate WatchBookmarks is not enabled in apiserver, this field is ignored.", + "name": "allowWatchBookmarks", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \"next key\".\n\nThis field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.", + "name": "continue", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", + "name": "fieldSelector", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", + "name": "labelSelector", + "in": "query" + }, + { + "uniqueItems": true, + "type": "integer", + "description": "limit is a maximum number of responses to return for a list call. If more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true.\n\nThe server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.", + "name": "limit", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.", + "name": "resourceVersion", + "in": "query" + }, + { + "uniqueItems": true, + "type": "integer", + "description": "Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.", + "name": "timeoutSeconds", + "in": "query" + }, + { + "uniqueItems": true, + "type": "boolean", + "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", + "name": "watch", + "in": "query" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.network.v1alpha1.NamespaceNetworkPolicyList" + } + } + }, + "x-kubernetes-action": "list", + "x-kubernetes-group-version-kind": { + "group": "network.kubesphere.io", + "version": "v1alpha1", + "kind": "NamespaceNetworkPolicy" + } + }, + "post": { + "description": "create a NamespaceNetworkPolicy", + "consumes": [ + "*/*" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "schemes": [ + "https" + ], + "tags": [ + "networkKubesphereIo_v1alpha1" + ], + "operationId": "createNetworkKubesphereIoV1alpha1NamespaceNetworkPolicy", + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.network.v1alpha1.NamespaceNetworkPolicy" + } + }, + { + "uniqueItems": true, + "type": "string", + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "name": "dryRun", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "fieldManager is a name associated with the actor or entity that is making these changes. The value must be less than or 128 characters long, and only contain printable characters, as defined by https://golang.org/pkg/unicode/#IsPrint.", + "name": "fieldManager", + "in": "query" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.network.v1alpha1.NamespaceNetworkPolicy" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.network.v1alpha1.NamespaceNetworkPolicy" + } + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.network.v1alpha1.NamespaceNetworkPolicy" + } + } + }, + "x-kubernetes-action": "post", + "x-kubernetes-group-version-kind": { + "group": "network.kubesphere.io", + "version": "v1alpha1", + "kind": "NamespaceNetworkPolicy" + } + }, + "delete": { + "description": "delete collection of NamespaceNetworkPolicy", + "consumes": [ + "*/*" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "schemes": [ + "https" + ], + "tags": [ + "networkKubesphereIo_v1alpha1" + ], + "operationId": "deleteNetworkKubesphereIoV1alpha1CollectionNamespaceNetworkPolicy", + "parameters": [ + { + "uniqueItems": true, + "type": "boolean", + "description": "allowWatchBookmarks requests watch events with type \"BOOKMARK\". Servers that do not implement bookmarks may ignore this flag and bookmarks are sent at the server's discretion. Clients should not assume bookmarks are returned at any specific interval, nor may they assume the server will send any BOOKMARK event during a session. If this is not a watch, this field is ignored. If the feature gate WatchBookmarks is not enabled in apiserver, this field is ignored.", + "name": "allowWatchBookmarks", + "in": "query" + }, + { + "name": "body", + "in": "body", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.DeleteOptions" + } + }, + { + "uniqueItems": true, + "type": "string", + "description": "The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \"next key\".\n\nThis field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.", + "name": "continue", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "name": "dryRun", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", + "name": "fieldSelector", + "in": "query" + }, + { + "uniqueItems": true, + "type": "integer", + "description": "The duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used. Defaults to a per object value if not specified. zero means delete immediately.", + "name": "gracePeriodSeconds", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", + "name": "labelSelector", + "in": "query" + }, + { + "uniqueItems": true, + "type": "integer", + "description": "limit is a maximum number of responses to return for a list call. If more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true.\n\nThe server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.", + "name": "limit", + "in": "query" + }, + { + "uniqueItems": true, + "type": "boolean", + "description": "Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.", + "name": "orphanDependents", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy. Acceptable values are: 'Orphan' - orphan the dependents; 'Background' - allow the garbage collector to delete the dependents in the background; 'Foreground' - a cascading policy that deletes all dependents in the foreground.", + "name": "propagationPolicy", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.", + "name": "resourceVersion", + "in": "query" + }, + { + "uniqueItems": true, + "type": "integer", + "description": "Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.", + "name": "timeoutSeconds", + "in": "query" + }, + { + "uniqueItems": true, + "type": "boolean", + "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", + "name": "watch", + "in": "query" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" + } + } + }, + "x-kubernetes-action": "deletecollection", + "x-kubernetes-group-version-kind": { + "group": "network.kubesphere.io", + "version": "v1alpha1", + "kind": "NamespaceNetworkPolicy" + } + }, + "parameters": [ + { + "uniqueItems": true, + "type": "string", + "description": "If 'true', then the output is pretty printed.", + "name": "pretty", + "in": "query" + } + ] + }, + "/apis/network.kubesphere.io/v1alpha1/namespacenetworkpolicies/{name}": { + "get": { + "description": "read the specified NamespaceNetworkPolicy", + "consumes": [ + "*/*" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "schemes": [ + "https" + ], + "tags": [ + "networkKubesphereIo_v1alpha1" + ], + "operationId": "readNetworkKubesphereIoV1alpha1NamespaceNetworkPolicy", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.network.v1alpha1.NamespaceNetworkPolicy" + } + } + }, + "x-kubernetes-action": "get", + "x-kubernetes-group-version-kind": { + "group": "network.kubesphere.io", + "version": "v1alpha1", + "kind": "NamespaceNetworkPolicy" + } + }, + "put": { + "description": "replace the specified NamespaceNetworkPolicy", + "consumes": [ + "*/*" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "schemes": [ + "https" + ], + "tags": [ + "networkKubesphereIo_v1alpha1" + ], + "operationId": "replaceNetworkKubesphereIoV1alpha1NamespaceNetworkPolicy", + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.network.v1alpha1.NamespaceNetworkPolicy" + } + }, + { + "uniqueItems": true, + "type": "string", + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "name": "dryRun", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "fieldManager is a name associated with the actor or entity that is making these changes. The value must be less than or 128 characters long, and only contain printable characters, as defined by https://golang.org/pkg/unicode/#IsPrint.", + "name": "fieldManager", + "in": "query" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.network.v1alpha1.NamespaceNetworkPolicy" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.network.v1alpha1.NamespaceNetworkPolicy" + } + } + }, + "x-kubernetes-action": "put", + "x-kubernetes-group-version-kind": { + "group": "network.kubesphere.io", + "version": "v1alpha1", + "kind": "NamespaceNetworkPolicy" + } + }, + "delete": { + "description": "delete a NamespaceNetworkPolicy", + "consumes": [ + "*/*" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "schemes": [ + "https" + ], + "tags": [ + "networkKubesphereIo_v1alpha1" + ], + "operationId": "deleteNetworkKubesphereIoV1alpha1NamespaceNetworkPolicy", + "parameters": [ + { + "name": "body", + "in": "body", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.DeleteOptions" + } + }, + { + "uniqueItems": true, + "type": "string", + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "name": "dryRun", + "in": "query" + }, + { + "uniqueItems": true, + "type": "integer", + "description": "The duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used. Defaults to a per object value if not specified. zero means delete immediately.", + "name": "gracePeriodSeconds", + "in": "query" + }, + { + "uniqueItems": true, + "type": "boolean", + "description": "Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.", + "name": "orphanDependents", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy. Acceptable values are: 'Orphan' - orphan the dependents; 'Background' - allow the garbage collector to delete the dependents in the background; 'Foreground' - a cascading policy that deletes all dependents in the foreground.", + "name": "propagationPolicy", + "in": "query" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" + } + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" + } + } + }, + "x-kubernetes-action": "delete", + "x-kubernetes-group-version-kind": { + "group": "network.kubesphere.io", + "version": "v1alpha1", + "kind": "NamespaceNetworkPolicy" + } + }, + "patch": { + "description": "partially update the specified NamespaceNetworkPolicy", + "consumes": [ + "application/json-patch+json", + "application/merge-patch+json", + "application/strategic-merge-patch+json", + "application/apply-patch+yaml" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "schemes": [ + "https" + ], + "tags": [ + "networkKubesphereIo_v1alpha1" + ], + "operationId": "patchNetworkKubesphereIoV1alpha1NamespaceNetworkPolicy", + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Patch" + } + }, + { + "uniqueItems": true, + "type": "string", + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "name": "dryRun", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "fieldManager is a name associated with the actor or entity that is making these changes. The value must be less than or 128 characters long, and only contain printable characters, as defined by https://golang.org/pkg/unicode/#IsPrint. This field is required for apply requests (application/apply-patch) but optional for non-apply patch types (JsonPatch, MergePatch, StrategicMergePatch).", + "name": "fieldManager", + "in": "query" + }, + { + "uniqueItems": true, + "type": "boolean", + "description": "Force is going to \"force\" Apply requests. It means user will re-acquire conflicting fields owned by other people. Force flag must be unset for non-apply patch requests.", + "name": "force", + "in": "query" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.network.v1alpha1.NamespaceNetworkPolicy" + } + } + }, + "x-kubernetes-action": "patch", + "x-kubernetes-group-version-kind": { + "group": "network.kubesphere.io", + "version": "v1alpha1", + "kind": "NamespaceNetworkPolicy" + } + }, + "parameters": [ + { + "uniqueItems": true, + "type": "string", + "description": "name of the NamespaceNetworkPolicy", + "name": "name", + "in": "path", + "required": true + }, + { + "uniqueItems": true, + "type": "string", + "description": "If 'true', then the output is pretty printed.", + "name": "pretty", + "in": "query" + } + ] + }, + "/apis/network.kubesphere.io/v1alpha1/namespacenetworkpolicies/{name}/status": { + "get": { + "description": "read status of the specified NamespaceNetworkPolicy", + "consumes": [ + "*/*" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "schemes": [ + "https" + ], + "tags": [ + "networkKubesphereIo_v1alpha1" + ], + "operationId": "readNetworkKubesphereIoV1alpha1NamespaceNetworkPolicyStatus", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.network.v1alpha1.NamespaceNetworkPolicy" + } + } + }, + "x-kubernetes-action": "get", + "x-kubernetes-group-version-kind": { + "group": "network.kubesphere.io", + "version": "v1alpha1", + "kind": "NamespaceNetworkPolicy" + } + }, + "put": { + "description": "replace status of the specified NamespaceNetworkPolicy", + "consumes": [ + "*/*" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "schemes": [ + "https" + ], + "tags": [ + "networkKubesphereIo_v1alpha1" + ], + "operationId": "replaceNetworkKubesphereIoV1alpha1NamespaceNetworkPolicyStatus", + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.network.v1alpha1.NamespaceNetworkPolicy" + } + }, + { + "uniqueItems": true, + "type": "string", + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "name": "dryRun", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "fieldManager is a name associated with the actor or entity that is making these changes. The value must be less than or 128 characters long, and only contain printable characters, as defined by https://golang.org/pkg/unicode/#IsPrint.", + "name": "fieldManager", + "in": "query" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.network.v1alpha1.NamespaceNetworkPolicy" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.network.v1alpha1.NamespaceNetworkPolicy" + } + } + }, + "x-kubernetes-action": "put", + "x-kubernetes-group-version-kind": { + "group": "network.kubesphere.io", + "version": "v1alpha1", + "kind": "NamespaceNetworkPolicy" + } + }, + "patch": { + "description": "partially update status of the specified NamespaceNetworkPolicy", + "consumes": [ + "application/json-patch+json", + "application/merge-patch+json", + "application/strategic-merge-patch+json", + "application/apply-patch+yaml" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "schemes": [ + "https" + ], + "tags": [ + "networkKubesphereIo_v1alpha1" + ], + "operationId": "patchNetworkKubesphereIoV1alpha1NamespaceNetworkPolicyStatus", + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Patch" + } + }, + { + "uniqueItems": true, + "type": "string", + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "name": "dryRun", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "fieldManager is a name associated with the actor or entity that is making these changes. The value must be less than or 128 characters long, and only contain printable characters, as defined by https://golang.org/pkg/unicode/#IsPrint. This field is required for apply requests (application/apply-patch) but optional for non-apply patch types (JsonPatch, MergePatch, StrategicMergePatch).", + "name": "fieldManager", + "in": "query" + }, + { + "uniqueItems": true, + "type": "boolean", + "description": "Force is going to \"force\" Apply requests. It means user will re-acquire conflicting fields owned by other people. Force flag must be unset for non-apply patch requests.", + "name": "force", + "in": "query" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.network.v1alpha1.NamespaceNetworkPolicy" + } + } + }, + "x-kubernetes-action": "patch", + "x-kubernetes-group-version-kind": { + "group": "network.kubesphere.io", + "version": "v1alpha1", + "kind": "NamespaceNetworkPolicy" + } + }, + "parameters": [ + { + "uniqueItems": true, + "type": "string", + "description": "name of the NamespaceNetworkPolicy", + "name": "name", + "in": "path", + "required": true + }, + { + "uniqueItems": true, + "type": "string", + "description": "If 'true', then the output is pretty printed.", + "name": "pretty", + "in": "query" + } + ] + }, + "/apis/network.kubesphere.io/v1alpha1/watch/namespacenetworkpolicies": { + "get": { + "description": "watch individual changes to a list of NamespaceNetworkPolicy. deprecated: use the 'watch' parameter with a list operation instead.", + "consumes": [ + "*/*" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" + ], + "schemes": [ + "https" + ], + "tags": [ + "networkKubesphereIo_v1alpha1" + ], + "operationId": "watchNetworkKubesphereIoV1alpha1NamespaceNetworkPolicyList", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" + } + } + }, + "x-kubernetes-action": "watchlist", + "x-kubernetes-group-version-kind": { + "group": "network.kubesphere.io", + "version": "v1alpha1", + "kind": "NamespaceNetworkPolicy" + } + }, + "parameters": [ + { + "uniqueItems": true, + "type": "boolean", + "description": "allowWatchBookmarks requests watch events with type \"BOOKMARK\". Servers that do not implement bookmarks may ignore this flag and bookmarks are sent at the server's discretion. Clients should not assume bookmarks are returned at any specific interval, nor may they assume the server will send any BOOKMARK event during a session. If this is not a watch, this field is ignored. If the feature gate WatchBookmarks is not enabled in apiserver, this field is ignored.", + "name": "allowWatchBookmarks", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \"next key\".\n\nThis field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.", + "name": "continue", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", + "name": "fieldSelector", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", + "name": "labelSelector", + "in": "query" + }, + { + "uniqueItems": true, + "type": "integer", + "description": "limit is a maximum number of responses to return for a list call. If more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true.\n\nThe server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.", + "name": "limit", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "If 'true', then the output is pretty printed.", + "name": "pretty", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.", + "name": "resourceVersion", + "in": "query" + }, + { + "uniqueItems": true, + "type": "integer", + "description": "Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.", + "name": "timeoutSeconds", + "in": "query" + }, + { + "uniqueItems": true, + "type": "boolean", + "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", + "name": "watch", + "in": "query" + } + ] + }, + "/apis/network.kubesphere.io/v1alpha1/watch/namespacenetworkpolicies/{name}": { + "get": { + "description": "watch changes to an object of kind NamespaceNetworkPolicy. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", + "consumes": [ + "*/*" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" + ], + "schemes": [ + "https" + ], + "tags": [ + "networkKubesphereIo_v1alpha1" + ], + "operationId": "watchNetworkKubesphereIoV1alpha1NamespaceNetworkPolicy", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" + } + } + }, + "x-kubernetes-action": "watch", + "x-kubernetes-group-version-kind": { + "group": "network.kubesphere.io", + "version": "v1alpha1", + "kind": "NamespaceNetworkPolicy" + } + }, + "parameters": [ + { + "uniqueItems": true, + "type": "boolean", + "description": "allowWatchBookmarks requests watch events with type \"BOOKMARK\". Servers that do not implement bookmarks may ignore this flag and bookmarks are sent at the server's discretion. Clients should not assume bookmarks are returned at any specific interval, nor may they assume the server will send any BOOKMARK event during a session. If this is not a watch, this field is ignored. If the feature gate WatchBookmarks is not enabled in apiserver, this field is ignored.", + "name": "allowWatchBookmarks", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \"next key\".\n\nThis field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.", + "name": "continue", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", + "name": "fieldSelector", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", + "name": "labelSelector", + "in": "query" + }, + { + "uniqueItems": true, + "type": "integer", + "description": "limit is a maximum number of responses to return for a list call. If more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true.\n\nThe server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.", + "name": "limit", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "name of the NamespaceNetworkPolicy", + "name": "name", + "in": "path", + "required": true + }, + { + "uniqueItems": true, + "type": "string", + "description": "If 'true', then the output is pretty printed.", + "name": "pretty", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.", + "name": "resourceVersion", + "in": "query" + }, + { + "uniqueItems": true, + "type": "integer", + "description": "Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.", + "name": "timeoutSeconds", + "in": "query" + }, + { + "uniqueItems": true, + "type": "boolean", + "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", + "name": "watch", + "in": "query" + } + ] + }, + "/apis/tenant.kubesphere.io/": { + "get": { + "description": "get information of a group", + "consumes": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "schemes": [ + "https" + ], + "tags": [ + "tenantKubesphereIo" + ], + "operationId": "getTenantKubesphereIoAPIGroup", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.APIGroup" + } + } + } + } + }, + "/apis/tenant.kubesphere.io/v1alpha1/": { + "get": { + "description": "get available resources", + "consumes": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "schemes": [ + "https" + ], + "tags": [ + "tenantKubesphereIo_v1alpha1" + ], + "operationId": "getTenantKubesphereIoV1alpha1APIResources", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.APIResourceList" + } + } + } + } + }, + "/apis/tenant.kubesphere.io/v1alpha1/watch/workspaces": { + "get": { + "description": "watch individual changes to a list of Workspace. deprecated: use the 'watch' parameter with a list operation instead.", + "consumes": [ + "*/*" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" + ], + "schemes": [ + "https" + ], + "tags": [ + "tenantKubesphereIo_v1alpha1" + ], + "operationId": "watchTenantKubesphereIoV1alpha1WorkspaceList", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" + } + } + }, + "x-kubernetes-action": "watchlist", + "x-kubernetes-group-version-kind": { + "group": "tenant.kubesphere.io", + "version": "v1alpha1", + "kind": "Workspace" + } + }, + "parameters": [ + { + "uniqueItems": true, + "type": "boolean", + "description": "allowWatchBookmarks requests watch events with type \"BOOKMARK\". Servers that do not implement bookmarks may ignore this flag and bookmarks are sent at the server's discretion. Clients should not assume bookmarks are returned at any specific interval, nor may they assume the server will send any BOOKMARK event during a session. If this is not a watch, this field is ignored. If the feature gate WatchBookmarks is not enabled in apiserver, this field is ignored.", + "name": "allowWatchBookmarks", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \"next key\".\n\nThis field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.", + "name": "continue", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", + "name": "fieldSelector", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", + "name": "labelSelector", + "in": "query" + }, + { + "uniqueItems": true, + "type": "integer", + "description": "limit is a maximum number of responses to return for a list call. If more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true.\n\nThe server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.", + "name": "limit", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "If 'true', then the output is pretty printed.", + "name": "pretty", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.", + "name": "resourceVersion", + "in": "query" + }, + { + "uniqueItems": true, + "type": "integer", + "description": "Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.", + "name": "timeoutSeconds", + "in": "query" + }, + { + "uniqueItems": true, + "type": "boolean", + "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", + "name": "watch", + "in": "query" + } + ] + }, + "/apis/tenant.kubesphere.io/v1alpha1/watch/workspaces/{name}": { + "get": { + "description": "watch changes to an object of kind Workspace. deprecated: use the 'watch' parameter with a list operation instead, filtered to a single item with the 'fieldSelector' parameter.", + "consumes": [ + "*/*" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" + ], + "schemes": [ + "https" + ], + "tags": [ + "tenantKubesphereIo_v1alpha1" + ], + "operationId": "watchTenantKubesphereIoV1alpha1Workspace", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent" + } + } + }, + "x-kubernetes-action": "watch", + "x-kubernetes-group-version-kind": { + "group": "tenant.kubesphere.io", + "version": "v1alpha1", + "kind": "Workspace" + } + }, + "parameters": [ + { + "uniqueItems": true, + "type": "boolean", + "description": "allowWatchBookmarks requests watch events with type \"BOOKMARK\". Servers that do not implement bookmarks may ignore this flag and bookmarks are sent at the server's discretion. Clients should not assume bookmarks are returned at any specific interval, nor may they assume the server will send any BOOKMARK event during a session. If this is not a watch, this field is ignored. If the feature gate WatchBookmarks is not enabled in apiserver, this field is ignored.", + "name": "allowWatchBookmarks", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \"next key\".\n\nThis field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.", + "name": "continue", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", + "name": "fieldSelector", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", + "name": "labelSelector", + "in": "query" + }, + { + "uniqueItems": true, + "type": "integer", + "description": "limit is a maximum number of responses to return for a list call. If more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true.\n\nThe server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.", + "name": "limit", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "name of the Workspace", + "name": "name", + "in": "path", + "required": true + }, + { + "uniqueItems": true, + "type": "string", + "description": "If 'true', then the output is pretty printed.", + "name": "pretty", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.", + "name": "resourceVersion", + "in": "query" + }, + { + "uniqueItems": true, + "type": "integer", + "description": "Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.", + "name": "timeoutSeconds", + "in": "query" + }, + { + "uniqueItems": true, + "type": "boolean", + "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", + "name": "watch", + "in": "query" + } + ] + }, + "/apis/tenant.kubesphere.io/v1alpha1/workspaces": { + "get": { + "description": "list or watch objects of kind Workspace", + "consumes": [ + "*/*" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf", + "application/json;stream=watch", + "application/vnd.kubernetes.protobuf;stream=watch" + ], + "schemes": [ + "https" + ], + "tags": [ + "tenantKubesphereIo_v1alpha1" + ], + "operationId": "listTenantKubesphereIoV1alpha1Workspace", + "parameters": [ + { + "uniqueItems": true, + "type": "boolean", + "description": "allowWatchBookmarks requests watch events with type \"BOOKMARK\". Servers that do not implement bookmarks may ignore this flag and bookmarks are sent at the server's discretion. Clients should not assume bookmarks are returned at any specific interval, nor may they assume the server will send any BOOKMARK event during a session. If this is not a watch, this field is ignored. If the feature gate WatchBookmarks is not enabled in apiserver, this field is ignored.", + "name": "allowWatchBookmarks", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \"next key\".\n\nThis field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.", + "name": "continue", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", + "name": "fieldSelector", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", + "name": "labelSelector", + "in": "query" + }, + { + "uniqueItems": true, + "type": "integer", + "description": "limit is a maximum number of responses to return for a list call. If more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true.\n\nThe server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.", + "name": "limit", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.", + "name": "resourceVersion", + "in": "query" + }, + { + "uniqueItems": true, + "type": "integer", + "description": "Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.", + "name": "timeoutSeconds", + "in": "query" + }, + { + "uniqueItems": true, + "type": "boolean", + "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", + "name": "watch", + "in": "query" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.tenant.v1alpha1.WorkspaceList" + } + } + }, + "x-kubernetes-action": "list", + "x-kubernetes-group-version-kind": { + "group": "tenant.kubesphere.io", + "version": "v1alpha1", + "kind": "Workspace" + } + }, + "post": { + "description": "create a Workspace", + "consumes": [ + "*/*" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "schemes": [ + "https" + ], + "tags": [ + "tenantKubesphereIo_v1alpha1" + ], + "operationId": "createTenantKubesphereIoV1alpha1Workspace", + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.tenant.v1alpha1.Workspace" + } + }, + { + "uniqueItems": true, + "type": "string", + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "name": "dryRun", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "fieldManager is a name associated with the actor or entity that is making these changes. The value must be less than or 128 characters long, and only contain printable characters, as defined by https://golang.org/pkg/unicode/#IsPrint.", + "name": "fieldManager", + "in": "query" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.tenant.v1alpha1.Workspace" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.tenant.v1alpha1.Workspace" + } + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.tenant.v1alpha1.Workspace" + } + } + }, + "x-kubernetes-action": "post", + "x-kubernetes-group-version-kind": { + "group": "tenant.kubesphere.io", + "version": "v1alpha1", + "kind": "Workspace" + } + }, + "delete": { + "description": "delete collection of Workspace", + "consumes": [ + "*/*" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "schemes": [ + "https" + ], + "tags": [ + "tenantKubesphereIo_v1alpha1" + ], + "operationId": "deleteTenantKubesphereIoV1alpha1CollectionWorkspace", + "parameters": [ + { + "uniqueItems": true, + "type": "boolean", + "description": "allowWatchBookmarks requests watch events with type \"BOOKMARK\". Servers that do not implement bookmarks may ignore this flag and bookmarks are sent at the server's discretion. Clients should not assume bookmarks are returned at any specific interval, nor may they assume the server will send any BOOKMARK event during a session. If this is not a watch, this field is ignored. If the feature gate WatchBookmarks is not enabled in apiserver, this field is ignored.", + "name": "allowWatchBookmarks", + "in": "query" + }, + { + "name": "body", + "in": "body", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.DeleteOptions" + } + }, + { + "uniqueItems": true, + "type": "string", + "description": "The continue option should be set when retrieving more results from the server. Since this value is server defined, clients may only use the continue value from a previous query result with identical query parameters (except for the value of continue) and the server may reject a continue value it does not recognize. If the specified continue value is no longer valid whether due to expiration (generally five to fifteen minutes) or a configuration change on the server, the server will respond with a 410 ResourceExpired error together with a continue token. If the client needs a consistent list, it must restart their list without the continue field. Otherwise, the client may send another list request with the token received with the 410 error, the server will respond with a list starting from the next key, but from the latest snapshot, which is inconsistent from the previous list results - objects that are created, modified, or deleted after the first list request will be included in the response, as long as their keys are after the \"next key\".\n\nThis field is not supported when watch is true. Clients may start a watch from the last resourceVersion value returned by the server and not miss any modifications.", + "name": "continue", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "name": "dryRun", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "A selector to restrict the list of returned objects by their fields. Defaults to everything.", + "name": "fieldSelector", + "in": "query" + }, + { + "uniqueItems": true, + "type": "integer", + "description": "The duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used. Defaults to a per object value if not specified. zero means delete immediately.", + "name": "gracePeriodSeconds", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "A selector to restrict the list of returned objects by their labels. Defaults to everything.", + "name": "labelSelector", + "in": "query" + }, + { + "uniqueItems": true, + "type": "integer", + "description": "limit is a maximum number of responses to return for a list call. If more items exist, the server will set the `continue` field on the list metadata to a value that can be used with the same initial query to retrieve the next set of results. Setting a limit may return fewer than the requested amount of items (up to zero items) in the event all requested objects are filtered out and clients should only use the presence of the continue field to determine whether more results are available. Servers may choose not to support the limit argument and will return all of the available results. If limit is specified and the continue field is empty, clients may assume that no more results are available. This field is not supported if watch is true.\n\nThe server guarantees that the objects returned when using continue will be identical to issuing a single list call without a limit - that is, no objects created, modified, or deleted after the first request is issued will be included in any subsequent continued requests. This is sometimes referred to as a consistent snapshot, and ensures that a client that is using limit to receive smaller chunks of a very large result can ensure they see all possible objects. If objects are updated during a chunked list the version of the object that was present at the time the first list result was calculated is returned.", + "name": "limit", + "in": "query" + }, + { + "uniqueItems": true, + "type": "boolean", + "description": "Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.", + "name": "orphanDependents", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy. Acceptable values are: 'Orphan' - orphan the dependents; 'Background' - allow the garbage collector to delete the dependents in the background; 'Foreground' - a cascading policy that deletes all dependents in the foreground.", + "name": "propagationPolicy", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "When specified with a watch call, shows changes that occur after that particular version of a resource. Defaults to changes from the beginning of history. When specified for list: - if unset, then the result is returned from remote storage based on quorum-read flag; - if it's 0, then we simply return what we currently have in cache, no guarantee; - if set to non zero, then the result is at least as fresh as given rv.", + "name": "resourceVersion", + "in": "query" + }, + { + "uniqueItems": true, + "type": "integer", + "description": "Timeout for the list/watch call. This limits the duration of the call, regardless of any activity or inactivity.", + "name": "timeoutSeconds", + "in": "query" + }, + { + "uniqueItems": true, + "type": "boolean", + "description": "Watch for changes to the described resources and return them as a stream of add, update, and remove notifications. Specify resourceVersion.", + "name": "watch", + "in": "query" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" + } + } + }, + "x-kubernetes-action": "deletecollection", + "x-kubernetes-group-version-kind": { + "group": "tenant.kubesphere.io", + "version": "v1alpha1", + "kind": "Workspace" + } + }, + "parameters": [ + { + "uniqueItems": true, + "type": "string", + "description": "If 'true', then the output is pretty printed.", + "name": "pretty", + "in": "query" + } + ] + }, + "/apis/tenant.kubesphere.io/v1alpha1/workspaces/{name}": { + "get": { + "description": "read the specified Workspace", + "consumes": [ + "*/*" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "schemes": [ + "https" + ], + "tags": [ + "tenantKubesphereIo_v1alpha1" + ], + "operationId": "readTenantKubesphereIoV1alpha1Workspace", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.tenant.v1alpha1.Workspace" + } + } + }, + "x-kubernetes-action": "get", + "x-kubernetes-group-version-kind": { + "group": "tenant.kubesphere.io", + "version": "v1alpha1", + "kind": "Workspace" + } + }, + "put": { + "description": "replace the specified Workspace", + "consumes": [ + "*/*" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "schemes": [ + "https" + ], + "tags": [ + "tenantKubesphereIo_v1alpha1" + ], + "operationId": "replaceTenantKubesphereIoV1alpha1Workspace", + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.tenant.v1alpha1.Workspace" + } + }, + { + "uniqueItems": true, + "type": "string", + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "name": "dryRun", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "fieldManager is a name associated with the actor or entity that is making these changes. The value must be less than or 128 characters long, and only contain printable characters, as defined by https://golang.org/pkg/unicode/#IsPrint.", + "name": "fieldManager", + "in": "query" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.tenant.v1alpha1.Workspace" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.tenant.v1alpha1.Workspace" + } + } + }, + "x-kubernetes-action": "put", + "x-kubernetes-group-version-kind": { + "group": "tenant.kubesphere.io", + "version": "v1alpha1", + "kind": "Workspace" + } + }, + "delete": { + "description": "delete a Workspace", + "consumes": [ + "*/*" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "schemes": [ + "https" + ], + "tags": [ + "tenantKubesphereIo_v1alpha1" + ], + "operationId": "deleteTenantKubesphereIoV1alpha1Workspace", + "parameters": [ + { + "name": "body", + "in": "body", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.DeleteOptions" + } + }, + { + "uniqueItems": true, + "type": "string", + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "name": "dryRun", + "in": "query" + }, + { + "uniqueItems": true, + "type": "integer", + "description": "The duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used. Defaults to a per object value if not specified. zero means delete immediately.", + "name": "gracePeriodSeconds", + "in": "query" + }, + { + "uniqueItems": true, + "type": "boolean", + "description": "Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.", + "name": "orphanDependents", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy. Acceptable values are: 'Orphan' - orphan the dependents; 'Background' - allow the garbage collector to delete the dependents in the background; 'Foreground' - a cascading policy that deletes all dependents in the foreground.", + "name": "propagationPolicy", + "in": "query" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" + } + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Status" + } + } + }, + "x-kubernetes-action": "delete", + "x-kubernetes-group-version-kind": { + "group": "tenant.kubesphere.io", + "version": "v1alpha1", + "kind": "Workspace" + } + }, + "patch": { + "description": "partially update the specified Workspace", + "consumes": [ + "application/json-patch+json", + "application/merge-patch+json", + "application/strategic-merge-patch+json", + "application/apply-patch+yaml" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "schemes": [ + "https" + ], + "tags": [ + "tenantKubesphereIo_v1alpha1" + ], + "operationId": "patchTenantKubesphereIoV1alpha1Workspace", + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Patch" + } + }, + { + "uniqueItems": true, + "type": "string", + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "name": "dryRun", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "fieldManager is a name associated with the actor or entity that is making these changes. The value must be less than or 128 characters long, and only contain printable characters, as defined by https://golang.org/pkg/unicode/#IsPrint. This field is required for apply requests (application/apply-patch) but optional for non-apply patch types (JsonPatch, MergePatch, StrategicMergePatch).", + "name": "fieldManager", + "in": "query" + }, + { + "uniqueItems": true, + "type": "boolean", + "description": "Force is going to \"force\" Apply requests. It means user will re-acquire conflicting fields owned by other people. Force flag must be unset for non-apply patch requests.", + "name": "force", + "in": "query" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.tenant.v1alpha1.Workspace" + } + } + }, + "x-kubernetes-action": "patch", + "x-kubernetes-group-version-kind": { + "group": "tenant.kubesphere.io", + "version": "v1alpha1", + "kind": "Workspace" + } + }, + "parameters": [ + { + "uniqueItems": true, + "type": "string", + "description": "name of the Workspace", + "name": "name", + "in": "path", + "required": true + }, + { + "uniqueItems": true, + "type": "string", + "description": "If 'true', then the output is pretty printed.", + "name": "pretty", + "in": "query" + } + ] + }, + "/apis/tenant.kubesphere.io/v1alpha1/workspaces/{name}/status": { + "get": { + "description": "read status of the specified Workspace", + "consumes": [ + "*/*" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "schemes": [ + "https" + ], + "tags": [ + "tenantKubesphereIo_v1alpha1" + ], + "operationId": "readTenantKubesphereIoV1alpha1WorkspaceStatus", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.tenant.v1alpha1.Workspace" + } + } + }, + "x-kubernetes-action": "get", + "x-kubernetes-group-version-kind": { + "group": "tenant.kubesphere.io", + "version": "v1alpha1", + "kind": "Workspace" + } + }, + "put": { + "description": "replace status of the specified Workspace", + "consumes": [ + "*/*" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "schemes": [ + "https" + ], + "tags": [ + "tenantKubesphereIo_v1alpha1" + ], + "operationId": "replaceTenantKubesphereIoV1alpha1WorkspaceStatus", + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.tenant.v1alpha1.Workspace" + } + }, + { + "uniqueItems": true, + "type": "string", + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "name": "dryRun", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "fieldManager is a name associated with the actor or entity that is making these changes. The value must be less than or 128 characters long, and only contain printable characters, as defined by https://golang.org/pkg/unicode/#IsPrint.", + "name": "fieldManager", + "in": "query" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.tenant.v1alpha1.Workspace" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.tenant.v1alpha1.Workspace" + } + } + }, + "x-kubernetes-action": "put", + "x-kubernetes-group-version-kind": { + "group": "tenant.kubesphere.io", + "version": "v1alpha1", + "kind": "Workspace" + } + }, + "patch": { + "description": "partially update status of the specified Workspace", + "consumes": [ + "application/json-patch+json", + "application/merge-patch+json", + "application/strategic-merge-patch+json", + "application/apply-patch+yaml" + ], + "produces": [ + "application/json", + "application/yaml", + "application/vnd.kubernetes.protobuf" + ], + "schemes": [ + "https" + ], + "tags": [ + "tenantKubesphereIo_v1alpha1" + ], + "operationId": "patchTenantKubesphereIoV1alpha1WorkspaceStatus", + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Patch" + } + }, + { + "uniqueItems": true, + "type": "string", + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "name": "dryRun", + "in": "query" + }, + { + "uniqueItems": true, + "type": "string", + "description": "fieldManager is a name associated with the actor or entity that is making these changes. The value must be less than or 128 characters long, and only contain printable characters, as defined by https://golang.org/pkg/unicode/#IsPrint. This field is required for apply requests (application/apply-patch) but optional for non-apply patch types (JsonPatch, MergePatch, StrategicMergePatch).", + "name": "fieldManager", + "in": "query" + }, + { + "uniqueItems": true, + "type": "boolean", + "description": "Force is going to \"force\" Apply requests. It means user will re-acquire conflicting fields owned by other people. Force flag must be unset for non-apply patch requests.", + "name": "force", + "in": "query" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.tenant.v1alpha1.Workspace" + } + } + }, + "x-kubernetes-action": "patch", + "x-kubernetes-group-version-kind": { + "group": "tenant.kubesphere.io", + "version": "v1alpha1", + "kind": "Workspace" + } + }, + "parameters": [ + { + "uniqueItems": true, + "type": "string", + "description": "name of the Workspace", + "name": "name", + "in": "path", + "required": true + }, + { + "uniqueItems": true, + "type": "string", + "description": "If 'true', then the output is pretty printed.", + "name": "pretty", + "in": "query" + } + ] + } + }, + "definitions": { + "io.k8s.api.core.v1.LocalObjectReference": { + "description": "LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace.", + "type": "object", + "properties": { + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + } + } + }, + "io.k8s.api.networking.v1.IPBlock": { + "description": "IPBlock describes a particular CIDR (Ex. \"192.168.1.1/24\") that is allowed to the pods matched by a NetworkPolicySpec's podSelector. The except entry describes CIDRs that should not be included within this rule.", + "type": "object", + "required": [ + "cidr" + ], + "properties": { + "cidr": { + "description": "CIDR is a string representing the IP Block Valid examples are \"192.168.1.1/24\"", + "type": "string" + }, + "except": { + "description": "Except is a slice of CIDRs that should not be included within an IP Block Valid examples are \"192.168.1.1/24\" Except values will be rejected if they are outside the CIDR range", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "io.k8s.api.networking.v1.NetworkPolicyPort": { + "description": "NetworkPolicyPort describes a port to allow traffic on", + "type": "object", + "properties": { + "port": { + "description": "The port on the given protocol. This can either be a numerical or named port on a pod. If this field is not provided, this matches all port names and numbers.", + "$ref": "#/definitions/io.k8s.apimachinery.pkg.util.intstr.IntOrString" + }, + "protocol": { + "description": "The protocol (TCP, UDP, or SCTP) which traffic must match. If not specified, this field defaults to TCP.", + "type": "string" + } + } + }, + "io.k8s.apimachinery.pkg.apis.meta.v1.APIGroup": { + "description": "APIGroup contains the name, the supported versions, and the preferred version of a group.", + "type": "object", + "required": [ + "name", + "versions" + ], + "properties": { + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", + "type": "string" + }, + "name": { + "description": "name is the name of the group.", + "type": "string" + }, + "preferredVersion": { + "description": "preferredVersion is the version preferred by the API server, which probably is the storage version.", + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.GroupVersionForDiscovery" + }, + "serverAddressByClientCIDRs": { + "description": "a map of client CIDR to server address that is serving this group. This is to help clients reach servers in the most network-efficient way possible. Clients can use the appropriate server address as per the CIDR that they match. In case of multiple matches, clients should use the longest matching CIDR. The server returns only those CIDRs that it thinks that the client can match. For example: the master will return an internal IP CIDR only, if the client reaches the server using an internal IP. Server looks at X-Forwarded-For header or X-Real-Ip header or request.RemoteAddr (in that order) to get the client IP.", + "type": "array", + "items": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ServerAddressByClientCIDR" + } + }, + "versions": { + "description": "versions are the versions supported in this group.", + "type": "array", + "items": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.GroupVersionForDiscovery" + } + } + }, + "x-kubernetes-group-version-kind": [ + { + "group": "", + "kind": "APIGroup", + "version": "v1" + } + ] + }, + "io.k8s.apimachinery.pkg.apis.meta.v1.APIGroupList": { + "description": "APIGroupList is a list of APIGroup, to allow clients to discover the API at /apis.", + "type": "object", + "required": [ + "groups" + ], + "properties": { + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + "type": "string" + }, + "groups": { + "description": "groups is a list of APIGroup.", + "type": "array", + "items": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.APIGroup" + } + }, + "kind": { + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", + "type": "string" + } + }, + "x-kubernetes-group-version-kind": [ + { + "group": "", + "kind": "APIGroupList", + "version": "v1" + } + ] + }, + "io.k8s.apimachinery.pkg.apis.meta.v1.APIResource": { + "description": "APIResource specifies the name of a resource and whether it is namespaced.", + "type": "object", + "required": [ + "name", + "singularName", + "namespaced", + "kind", + "verbs" + ], + "properties": { + "categories": { + "description": "categories is a list of the grouped resources this resource belongs to (e.g. 'all')", + "type": "array", + "items": { + "type": "string" + } + }, + "group": { + "description": "group is the preferred group of the resource. Empty implies the group of the containing resource list. For subresources, this may have a different value, for example: Scale\".", + "type": "string" + }, + "kind": { + "description": "kind is the kind for the resource (e.g. 'Foo' is the kind for a resource 'foo')", + "type": "string" + }, + "name": { + "description": "name is the plural name of the resource.", + "type": "string" + }, + "namespaced": { + "description": "namespaced indicates if a resource is namespaced or not.", + "type": "boolean" + }, + "shortNames": { + "description": "shortNames is a list of suggested short names of the resource.", + "type": "array", + "items": { + "type": "string" + } + }, + "singularName": { + "description": "singularName is the singular name of the resource. This allows clients to handle plural and singular opaquely. The singularName is more correct for reporting status on a single item and both singular and plural are allowed from the kubectl CLI interface.", + "type": "string" + }, + "storageVersionHash": { + "description": "The hash value of the storage version, the version this resource is converted to when written to the data store. Value must be treated as opaque by clients. Only equality comparison on the value is valid. This is an alpha feature and may change or be removed in the future. The field is populated by the apiserver only if the StorageVersionHash feature gate is enabled. This field will remain optional even if it graduates.", + "type": "string" + }, + "verbs": { + "description": "verbs is a list of supported kube verbs (this includes get, list, watch, create, update, patch, delete, deletecollection, and proxy)", + "type": "array", + "items": { + "type": "string" + } + }, + "version": { + "description": "version is the preferred version of the resource. Empty implies the version of the containing resource list For subresources, this may have a different value, for example: v1 (while inside a v1beta1 version of the core resource's group)\".", + "type": "string" + } + } + }, + "io.k8s.apimachinery.pkg.apis.meta.v1.APIResourceList": { + "description": "APIResourceList is a list of APIResource, it is used to expose the name of the resources supported in a specific group and version, and if the resource is namespaced.", + "type": "object", + "required": [ + "groupVersion", + "resources" + ], + "properties": { + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + "type": "string" + }, + "groupVersion": { + "description": "groupVersion is the group and version this APIResourceList is for.", + "type": "string" + }, + "kind": { + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", + "type": "string" + }, + "resources": { + "description": "resources contains the name of the resources and if they are namespaced.", + "type": "array", + "items": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.APIResource" + } + } + }, + "x-kubernetes-group-version-kind": [ + { + "group": "", + "kind": "APIResourceList", + "version": "v1" + } + ] + }, + "io.k8s.apimachinery.pkg.apis.meta.v1.DeleteOptions": { + "description": "DeleteOptions may be provided when deleting an API object.", + "type": "object", + "properties": { + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + "type": "string" + }, + "dryRun": { + "description": "When present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed", + "type": "array", + "items": { + "type": "string" + } + }, + "gracePeriodSeconds": { + "description": "The duration in seconds before the object should be deleted. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period for the specified type will be used. Defaults to a per object value if not specified. zero means delete immediately.", + "type": "integer", + "format": "int64" + }, + "kind": { + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", + "type": "string" + }, + "orphanDependents": { + "description": "Deprecated: please use the PropagationPolicy, this field will be deprecated in 1.7. Should the dependent objects be orphaned. If true/false, the \"orphan\" finalizer will be added to/removed from the object's finalizers list. Either this field or PropagationPolicy may be set, but not both.", + "type": "boolean" + }, + "preconditions": { + "description": "Must be fulfilled before a deletion is carried out. If not possible, a 409 Conflict status will be returned.", + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Preconditions" + }, + "propagationPolicy": { + "description": "Whether and how garbage collection will be performed. Either this field or OrphanDependents may be set, but not both. The default policy is decided by the existing finalizer set in the metadata.finalizers and the resource-specific default policy. Acceptable values are: 'Orphan' - orphan the dependents; 'Background' - allow the garbage collector to delete the dependents in the background; 'Foreground' - a cascading policy that deletes all dependents in the foreground.", + "type": "string" + } + }, + "x-kubernetes-group-version-kind": [ + { + "group": "", + "kind": "DeleteOptions", + "version": "v1" + }, + { + "group": "cluster.kubesphere.io", + "kind": "DeleteOptions", + "version": "v1alpha1" + }, + { + "group": "devops.kubesphere.io", + "kind": "DeleteOptions", + "version": "v1alpha1" + }, + { + "group": "devops.kubesphere.io", + "kind": "DeleteOptions", + "version": "v1alpha3" + }, + { + "group": "network.kubesphere.io", + "kind": "DeleteOptions", + "version": "v1alpha1" + }, + { + "group": "servicemesh.kubesphere.io", + "kind": "DeleteOptions", + "version": "v1alpha2" + }, + { + "group": "tenant.kubesphere.io", + "kind": "DeleteOptions", + "version": "v1alpha1" + }, + { + "group": "tenant.kubesphere.io", + "kind": "DeleteOptions", + "version": "v1alpha2" + } + ] + }, + "io.k8s.apimachinery.pkg.apis.meta.v1.FieldsV1": { + "description": "FieldsV1 stores a set of fields in a data structure like a Trie, in JSON format.\n\nEach key is either a '.' representing the field itself, and will always map to an empty set, or a string representing a sub-field or item. The string will follow one of these four formats: 'f:\u003cname\u003e', where \u003cname\u003e is the name of a field in a struct, or key in a map 'v:\u003cvalue\u003e', where \u003cvalue\u003e is the exact json formatted value of a list item 'i:\u003cindex\u003e', where \u003cindex\u003e is position of a item in a list 'k:\u003ckeys\u003e', where \u003ckeys\u003e is a map of a list item's key fields to their unique values If a key maps to an empty Fields value, the field that key represents is part of the set.\n\nThe exact format is defined in sigs.k8s.io/structured-merge-diff", + "type": "object" + }, + "io.k8s.apimachinery.pkg.apis.meta.v1.GroupVersionForDiscovery": { + "description": "GroupVersion contains the \"group/version\" and \"version\" string of a version. It is made a struct to keep extensibility.", + "type": "object", + "required": [ + "groupVersion", + "version" + ], + "properties": { + "groupVersion": { + "description": "groupVersion specifies the API group and version in the form \"group/version\"", + "type": "string" + }, + "version": { + "description": "version specifies the version in the form of \"version\". This is to save the clients the trouble of splitting the GroupVersion.", + "type": "string" + } + } + }, + "io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta": { + "description": "ListMeta describes metadata that synthetic resources must have, including lists and various status objects. A resource may have only one of {ObjectMeta, ListMeta}.", + "type": "object", + "properties": { + "continue": { + "description": "continue may be set if the user set a limit on the number of items returned, and indicates that the server has more data available. The value is opaque and may be used to issue another request to the endpoint that served this list to retrieve the next set of available objects. Continuing a consistent list may not be possible if the server configuration has changed or more than a few minutes have passed. The resourceVersion field returned when using this continue value will be identical to the value in the first response, unless you have received this token from an error message.", + "type": "string" + }, + "remainingItemCount": { + "description": "remainingItemCount is the number of subsequent items in the list which are not included in this list response. If the list request contained label or field selectors, then the number of remaining items is unknown and the field will be left unset and omitted during serialization. If the list is complete (either because it is not chunking or because this is the last chunk), then there are no more remaining items and this field will be left unset and omitted during serialization. Servers older than v1.15 do not set this field. The intended use of the remainingItemCount is *estimating* the size of a collection. Clients should not rely on the remainingItemCount to be set or to be exact.", + "type": "integer", + "format": "int64" + }, + "resourceVersion": { + "description": "String that identifies the server's internal version of this object that can be used by clients to determine when objects have changed. Value must be treated as opaque by clients and passed unmodified back to the server. Populated by the system. Read-only. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency", + "type": "string" + }, + "selfLink": { + "description": "selfLink is a URL representing this object. Populated by the system. Read-only.\n\nDEPRECATED Kubernetes will stop propagating this field in 1.20 release and the field is planned to be removed in 1.21 release.", + "type": "string" + } + } + }, + "io.k8s.apimachinery.pkg.apis.meta.v1.ManagedFieldsEntry": { + "description": "ManagedFieldsEntry is a workflow-id, a FieldSet and the group version of the resource that the fieldset applies to.", + "type": "object", + "properties": { + "apiVersion": { + "description": "APIVersion defines the version of this resource that this field set applies to. The format is \"group/version\" just like the top-level APIVersion field. It is necessary to track the version of a field set because it cannot be automatically converted.", + "type": "string" + }, + "fieldsType": { + "description": "FieldsType is the discriminator for the different fields format and version. There is currently only one possible value: \"FieldsV1\"", + "type": "string" + }, + "fieldsV1": { + "description": "FieldsV1 holds the first JSON version format as described in the \"FieldsV1\" type.", + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.FieldsV1" + }, + "manager": { + "description": "Manager is an identifier of the workflow managing these fields.", + "type": "string" + }, + "operation": { + "description": "Operation is the type of operation which lead to this ManagedFieldsEntry being created. The only valid values for this field are 'Apply' and 'Update'.", + "type": "string" + }, + "time": { + "description": "Time is timestamp of when these fields were set. It should always be empty if Operation is 'Apply'", + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Time" + } + } + }, + "io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta": { + "description": "ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.", + "type": "object", + "properties": { + "annotations": { + "description": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "clusterName": { + "description": "The name of the cluster which the object belongs to. This is used to distinguish resources with same name and namespace in different clusters. This field is not set anywhere right now and apiserver is going to ignore it if set in create or update request.", + "type": "string" + }, + "creationTimestamp": { + "description": "CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC.\n\nPopulated by the system. Read-only. Null for lists. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata", + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Time" + }, + "deletionGracePeriodSeconds": { + "description": "Number of seconds allowed for this object to gracefully terminate before it will be removed from the system. Only set when deletionTimestamp is also set. May only be shortened. Read-only.", + "type": "integer", + "format": "int64" + }, + "deletionTimestamp": { + "description": "DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted. This field is set by the server when a graceful deletion is requested by the user, and is not directly settable by a client. The resource is expected to be deleted (no longer visible from resource lists, and not reachable by name) after the time in this field, once the finalizers list is empty. As long as the finalizers list contains items, deletion is blocked. Once the deletionTimestamp is set, this value may not be unset or be set further into the future, although it may be shortened or the resource may be deleted prior to this time. For example, a user may request that a pod is deleted in 30 seconds. The Kubelet will react by sending a graceful termination signal to the containers in the pod. After that 30 seconds, the Kubelet will send a hard termination signal (SIGKILL) to the container and after cleanup, remove the pod from the API. In the presence of network partitions, this object may still exist after this timestamp, until an administrator or automated process can determine the resource is fully terminated. If not set, graceful deletion of the object has not been requested.\n\nPopulated by the system when a graceful deletion is requested. Read-only. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata", + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Time" + }, + "finalizers": { + "description": "Must be empty before the object is deleted from the registry. Each entry is an identifier for the responsible component that will remove the entry from the list. If the deletionTimestamp of the object is non-nil, entries in this list can only be removed. Finalizers may be processed and removed in any order. Order is NOT enforced because it introduces significant risk of stuck finalizers. finalizers is a shared field, any actor with permission can reorder it. If the finalizer list is processed in order, then this can lead to a situation in which the component responsible for the first finalizer in the list is waiting for a signal (field value, external system, or other) produced by a component responsible for a finalizer later in the list, resulting in a deadlock. Without enforced ordering finalizers are free to order amongst themselves and are not vulnerable to ordering changes in the list.", + "type": "array", + "items": { + "type": "string" + }, + "x-kubernetes-patch-strategy": "merge" + }, + "generateName": { + "description": "GenerateName is an optional prefix, used by the server, to generate a unique name ONLY IF the Name field has not been provided. If this field is used, the name returned to the client will be different than the name passed. This value will also be combined with a unique suffix. The provided value has the same validation rules as the Name field, and may be truncated by the length of the suffix required to make the value unique on the server.\n\nIf this field is specified and the generated name exists, the server will NOT return a 409 - instead, it will either return 201 Created or 500 with Reason ServerTimeout indicating a unique name could not be found in the time allotted, and the client should retry (optionally after the time indicated in the Retry-After header).\n\nApplied only if Name is not specified. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#idempotency", + "type": "string" + }, + "generation": { + "description": "A sequence number representing a specific generation of the desired state. Populated by the system. Read-only.", + "type": "integer", + "format": "int64" + }, + "labels": { + "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "managedFields": { + "description": "ManagedFields maps workflow-id and version to the set of fields that are managed by that workflow. This is mostly for internal housekeeping, and users typically shouldn't need to set or understand this field. A workflow can be the user's name, a controller's name, or the name of a specific apply path like \"ci-cd\". The set of fields is always in the version that the workflow used when modifying the object.", + "type": "array", + "items": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ManagedFieldsEntry" + } + }, + "name": { + "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", + "type": "string" + }, + "namespace": { + "description": "Namespace defines the space within each name must be unique. An empty namespace is equivalent to the \"default\" namespace, but \"default\" is the canonical representation. Not all objects are required to be scoped to a namespace - the value of this field for those objects will be empty.\n\nMust be a DNS_LABEL. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/namespaces", + "type": "string" + }, + "ownerReferences": { + "description": "List of objects depended by this object. If ALL objects in the list have been deleted, this object will be garbage collected. If this object is managed by a controller, then an entry in this list will point to this controller, with the controller field set to true. There cannot be more than one managing controller.", + "type": "array", + "items": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.OwnerReference" + }, + "x-kubernetes-patch-merge-key": "uid", + "x-kubernetes-patch-strategy": "merge" + }, + "resourceVersion": { + "description": "An opaque value that represents the internal version of this object that can be used by clients to determine when objects have changed. May be used for optimistic concurrency, change detection, and the watch operation on a resource or set of resources. Clients must treat these values as opaque and passed unmodified back to the server. They may only be valid for a particular resource or set of resources.\n\nPopulated by the system. Read-only. Value must be treated as opaque by clients and . More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency", + "type": "string" + }, + "selfLink": { + "description": "SelfLink is a URL representing this object. Populated by the system. Read-only.\n\nDEPRECATED Kubernetes will stop propagating this field in 1.20 release and the field is planned to be removed in 1.21 release.", + "type": "string" + }, + "uid": { + "description": "UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.\n\nPopulated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", + "type": "string" + } + } + }, + "io.k8s.apimachinery.pkg.apis.meta.v1.OwnerReference": { + "description": "OwnerReference contains enough information to let you identify an owning object. An owning object must be in the same namespace as the dependent, or be cluster-scoped, so there is no namespace field.", + "type": "object", + "required": [ + "apiVersion", + "kind", + "name", + "uid" + ], + "properties": { + "apiVersion": { + "description": "API version of the referent.", + "type": "string" + }, + "blockOwnerDeletion": { + "description": "If true, AND if the owner has the \"foregroundDeletion\" finalizer, then the owner cannot be deleted from the key-value store until this reference is removed. Defaults to false. To set this field, a user needs \"delete\" permission of the owner, otherwise 422 (Unprocessable Entity) will be returned.", + "type": "boolean" + }, + "controller": { + "description": "If true, this reference points to the managing controller.", + "type": "boolean" + }, + "kind": { + "description": "Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names", + "type": "string" + }, + "uid": { + "description": "UID of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#uids", + "type": "string" + } + } + }, + "io.k8s.apimachinery.pkg.apis.meta.v1.Patch": { + "description": "Patch is provided to give a concrete name and type to the Kubernetes PATCH request body.", + "type": "object" + }, + "io.k8s.apimachinery.pkg.apis.meta.v1.Preconditions": { + "description": "Preconditions must be fulfilled before an operation (update, delete, etc.) is carried out.", + "type": "object", + "properties": { + "resourceVersion": { + "description": "Specifies the target ResourceVersion", + "type": "string" + }, + "uid": { + "description": "Specifies the target UID.", + "type": "string" + } + } + }, + "io.k8s.apimachinery.pkg.apis.meta.v1.ServerAddressByClientCIDR": { + "description": "ServerAddressByClientCIDR helps the client to determine the server address that they should use, depending on the clientCIDR that they match.", + "type": "object", + "required": [ + "clientCIDR", + "serverAddress" + ], + "properties": { + "clientCIDR": { + "description": "The CIDR with which clients can match their IP to figure out the server address that they should use.", + "type": "string" + }, + "serverAddress": { + "description": "Address of this server, suitable for a client that matches the above CIDR. This can be a hostname, hostname:port, IP or IP:port.", + "type": "string" + } + } + }, + "io.k8s.apimachinery.pkg.apis.meta.v1.Status": { + "description": "Status is a return value for calls that don't return other objects.", + "type": "object", + "properties": { + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + "type": "string" + }, + "code": { + "description": "Suggested HTTP return code for this status, 0 if not set.", + "type": "integer", + "format": "int32" + }, + "details": { + "description": "Extended data associated with the reason. Each reason may define its own extended details. This field is optional and the data returned is not guaranteed to conform to any schema except that defined by the reason type.", + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.StatusDetails" + }, + "kind": { + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", + "type": "string" + }, + "message": { + "description": "A human-readable description of the status of this operation.", + "type": "string" + }, + "metadata": { + "description": "Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta" + }, + "reason": { + "description": "A machine-readable description of why this operation is in the \"Failure\" status. If this value is empty there is no information available. A Reason clarifies an HTTP status code but does not override it.", + "type": "string" + }, + "status": { + "description": "Status of the operation. One of: \"Success\" or \"Failure\". More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status", + "type": "string" + } + }, + "x-kubernetes-group-version-kind": [ + { + "group": "", + "kind": "Status", + "version": "v1" + } + ] + }, + "io.k8s.apimachinery.pkg.apis.meta.v1.StatusCause": { + "description": "StatusCause provides more information about an api.Status failure, including cases when multiple errors are encountered.", + "type": "object", + "properties": { + "field": { + "description": "The field of the resource that has caused this error, as named by its JSON serialization. May include dot and postfix notation for nested attributes. Arrays are zero-indexed. Fields may appear more than once in an array of causes due to fields having multiple errors. Optional.\n\nExamples:\n \"name\" - the field \"name\" on the current resource\n \"items[0].name\" - the field \"name\" on the first array entry in \"items\"", + "type": "string" + }, + "message": { + "description": "A human-readable description of the cause of the error. This field may be presented as-is to a reader.", + "type": "string" + }, + "reason": { + "description": "A machine-readable description of the cause of the error. If this value is empty there is no information available.", + "type": "string" + } + } + }, + "io.k8s.apimachinery.pkg.apis.meta.v1.StatusDetails": { + "description": "StatusDetails is a set of additional properties that MAY be set by the server to provide additional information about a response. The Reason field of a Status object defines what attributes will be set. Clients must ignore fields that do not match the defined type of each attribute, and should assume that any attribute may be empty, invalid, or under defined.", + "type": "object", + "properties": { + "causes": { + "description": "The Causes array includes more details associated with the StatusReason failure. Not all StatusReasons may provide detailed causes.", + "type": "array", + "items": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.StatusCause" + } + }, + "group": { + "description": "The group attribute of the resource associated with the status StatusReason.", + "type": "string" + }, + "kind": { + "description": "The kind attribute of the resource associated with the status StatusReason. On some operations may differ from the requested resource Kind. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", + "type": "string" + }, + "name": { + "description": "The name attribute of the resource associated with the status StatusReason (when there is a single name which can be described).", + "type": "string" + }, + "retryAfterSeconds": { + "description": "If specified, the time in seconds before the operation should be retried. Some errors may indicate the client must take an alternate action - for those errors this field may indicate how long to wait before taking the alternate action.", + "type": "integer", + "format": "int32" + }, + "uid": { + "description": "UID of the resource. (when there is a single resource which can be described). More info: http://kubernetes.io/docs/user-guide/identifiers#uids", + "type": "string" + } + } + }, + "io.k8s.apimachinery.pkg.apis.meta.v1.Time": { + "description": "Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.", + "type": "string", + "format": "date-time" + }, + "io.k8s.apimachinery.pkg.apis.meta.v1.WatchEvent": { + "description": "Event represents a single event to a watched resource.", + "type": "object", + "required": [ + "type", + "object" + ], + "properties": { + "object": { + "description": "Object is:\n * If Type is Added or Modified: the new state of the object.\n * If Type is Deleted: the state of the object immediately before deletion.\n * If Type is Error: *Status is recommended; other types may make sense\n depending on context.", + "$ref": "#/definitions/io.k8s.apimachinery.pkg.runtime.RawExtension" + }, + "type": { + "type": "string" + } + }, + "x-kubernetes-group-version-kind": [ + { + "group": "", + "kind": "WatchEvent", + "version": "v1" + }, + { + "group": "cluster.kubesphere.io", + "kind": "WatchEvent", + "version": "v1alpha1" + }, + { + "group": "devops.kubesphere.io", + "kind": "WatchEvent", + "version": "v1alpha1" + }, + { + "group": "devops.kubesphere.io", + "kind": "WatchEvent", + "version": "v1alpha3" + }, + { + "group": "network.kubesphere.io", + "kind": "WatchEvent", + "version": "v1alpha1" + }, + { + "group": "servicemesh.kubesphere.io", + "kind": "WatchEvent", + "version": "v1alpha2" + }, + { + "group": "tenant.kubesphere.io", + "kind": "WatchEvent", + "version": "v1alpha1" + }, + { + "group": "tenant.kubesphere.io", + "kind": "WatchEvent", + "version": "v1alpha2" + } + ] + }, + "io.k8s.apimachinery.pkg.runtime.RawExtension": { + "description": "RawExtension is used to hold extensions in external versions.\n\nTo use this, make a field which has RawExtension as its type in your external, versioned struct, and Object in your internal struct. You also need to register your various plugin types.\n\n// Internal package: type MyAPIObject struct {\n\truntime.TypeMeta `json:\",inline\"`\n\tMyPlugin runtime.Object `json:\"myPlugin\"`\n} type PluginA struct {\n\tAOption string `json:\"aOption\"`\n}\n\n// External package: type MyAPIObject struct {\n\truntime.TypeMeta `json:\",inline\"`\n\tMyPlugin runtime.RawExtension `json:\"myPlugin\"`\n} type PluginA struct {\n\tAOption string `json:\"aOption\"`\n}\n\n// On the wire, the JSON will look something like this: {\n\t\"kind\":\"MyAPIObject\",\n\t\"apiVersion\":\"v1\",\n\t\"myPlugin\": {\n\t\t\"kind\":\"PluginA\",\n\t\t\"aOption\":\"foo\",\n\t},\n}\n\nSo what happens? Decode first uses json or yaml to unmarshal the serialized data into your external MyAPIObject. That causes the raw JSON to be stored, but not unpacked. The next step is to copy (using pkg/conversion) into the internal struct. The runtime package's DefaultScheme has conversion functions installed which will unpack the JSON stored in RawExtension, turning it into the correct object type, and storing it in the Object. (TODO: In the case where the object is of an unknown type, a runtime.Unknown object will be created and stored.)", + "type": "object" + }, + "io.k8s.apimachinery.pkg.util.intstr.IntOrString": { + "description": "IntOrString is a type that can hold an int32 or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number.", + "type": "string", + "format": "int-or-string" + }, + "io.kubesphere.kubesphere.pkg.apis.cluster.v1alpha1.Cluster": { + "description": "Cluster is the schema for the clusters API", + "type": "object", + "properties": { + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta" + }, + "spec": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.cluster.v1alpha1.ClusterSpec" + }, + "status": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.cluster.v1alpha1.ClusterStatus" + } + }, + "x-kubernetes-group-version-kind": [ + { + "group": "cluster.kubesphere.io", + "kind": "Cluster", + "version": "v1alpha1" + } + ] + }, + "io.kubesphere.kubesphere.pkg.apis.cluster.v1alpha1.ClusterCondition": { + "type": "object", + "required": [ + "type", + "status" + ], + "properties": { + "lastTransitionTime": { + "description": "Last time the condition transitioned from one status to another.", + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Time" + }, + "lastUpdateTime": { + "description": "The last time this condition was updated.", + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Time" + }, + "message": { + "description": "A human readable message indicating details about the transition.", + "type": "string" + }, + "reason": { + "description": "The reason for the condition's last transition.", + "type": "string" + }, + "status": { + "description": "Status of the condition, one of True, False, Unknown.", + "type": "string" + }, + "type": { + "description": "Type of the condition", + "type": "string" + } + } + }, + "io.kubesphere.kubesphere.pkg.apis.cluster.v1alpha1.ClusterList": { + "type": "object", + "required": [ + "items" + ], + "properties": { + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + "type": "string" + }, + "items": { + "type": "array", + "items": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.cluster.v1alpha1.Cluster" + } + }, + "kind": { + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta" + } + }, + "x-kubernetes-group-version-kind": [ + { + "group": "cluster.kubesphere.io", + "kind": "ClusterList", + "version": "v1alpha1" + } + ] + }, + "io.kubesphere.kubesphere.pkg.apis.cluster.v1alpha1.ClusterSpec": { + "type": "object", + "properties": { + "connection": { + "description": "Connection holds info to connect to the member cluster", + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.cluster.v1alpha1.Connection" + }, + "enable": { + "description": "Desired state of the cluster", + "type": "boolean" + }, + "joinFederation": { + "description": "Join cluster as a kubefed cluster", + "type": "boolean" + }, + "provider": { + "description": "Provider of the cluster, this field is just for description", + "type": "string" + } + } + }, + "io.kubesphere.kubesphere.pkg.apis.cluster.v1alpha1.ClusterStatus": { + "type": "object", + "properties": { + "conditions": { + "description": "Represents the latest available observations of a cluster's current state.", + "type": "array", + "items": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.cluster.v1alpha1.ClusterCondition" + } + }, + "configz": { + "description": "Configz is status of components enabled in the member cluster. This is synchronized with member cluster every amount of time, like 5 minutes.", + "type": "object", + "additionalProperties": { + "type": "boolean" + } + }, + "kubernetesVersion": { + "description": "GitVersion of the kubernetes cluster, this field is populated by cluster controller", + "type": "string" + }, + "nodeCount": { + "description": "Count of the kubernetes cluster nodes This field may not reflect the instant status of the cluster.", + "type": "integer", + "format": "int32" + }, + "region": { + "description": "Region is the name of the region in which all of the nodes in the cluster exist. e.g. 'us-east1'.", + "type": "string" + }, + "zones": { + "description": "Zones are the names of availability zones in which the nodes of the cluster exist, e.g. 'us-east1-a'.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "io.kubesphere.kubesphere.pkg.apis.cluster.v1alpha1.Connection": { + "type": "object", + "properties": { + "kubeconfig": { + "description": "KubeConfig content used to connect to cluster api server Should provide this field explicitly if connection type is direct. Will be populated by ks-proxy if connection type is proxy.", + "type": "string", + "format": "byte" + }, + "kubernetesAPIEndpoint": { + "description": "Kubernetes API Server endpoint. Example: https://10.10.0.1:6443 Should provide this field explicitly if connection type is direct. Will be populated by ks-apiserver if connection type is proxy.", + "type": "string" + }, + "kubernetesAPIServerPort": { + "description": "KubeAPIServerPort is the port which listens for forwarding kube-apiserver traffic Only applicable when connection type is proxy.", + "type": "integer", + "format": "int32" + }, + "kubesphereAPIEndpoint": { + "description": "KubeSphere API Server endpoint. Example: http://10.10.0.11:8080 Should provide this field explicitly if connection type is direct. Will be populated by ks-apiserver if connection type is proxy.", + "type": "string" + }, + "kubesphereAPIServerPort": { + "description": "KubeSphereAPIServerPort is the port which listens for forwarding kubesphere apigateway traffic Only applicable when connection type is proxy.", + "type": "integer", + "format": "int32" + }, + "token": { + "description": "Token used by agents of member cluster to connect to host cluster proxy. This field is populated by apiserver only if connection type is proxy.", + "type": "string" + }, + "type": { + "description": "type defines how host cluster will connect to host cluster ConnectionTypeDirect means direct connection, this requires\n kubeconfig and kubesphere apiserver endpoint provided\nConnectionTypeProxy means using kubesphere proxy, no kubeconfig\n or kubesphere apiserver endpoint required", + "type": "string" + } + } + }, + "io.kubesphere.kubesphere.pkg.apis.devops.v1alpha1.AuthConfig": { + "description": "AuthConfig is our abstraction of the Registry authorization information for whatever docker client we happen to be based on", + "type": "object", + "properties": { + "email": { + "type": "string" + }, + "password": { + "type": "string" + }, + "secretRef": { + "$ref": "#/definitions/io.k8s.api.core.v1.LocalObjectReference" + }, + "serverAddress": { + "type": "string" + }, + "username": { + "type": "string" + } + } + }, + "io.kubesphere.kubesphere.pkg.apis.devops.v1alpha1.CGroupLimits": { + "description": "CGroupLimits holds limits used to constrain container resources.", + "type": "object", + "required": [ + "memoryLimitBytes", + "cpuShares", + "cpuPeriod", + "cpuQuota", + "memorySwap", + "parent" + ], + "properties": { + "cpuPeriod": { + "type": "integer", + "format": "int64" + }, + "cpuQuota": { + "type": "integer", + "format": "int64" + }, + "cpuShares": { + "type": "integer", + "format": "int64" + }, + "memoryLimitBytes": { + "type": "integer", + "format": "int64" + }, + "memorySwap": { + "type": "integer", + "format": "int64" + }, + "parent": { + "type": "string" + } + } + }, + "io.kubesphere.kubesphere.pkg.apis.devops.v1alpha1.ContainerInfo": { + "type": "object", + "properties": { + "buildVolumes": { + "description": "BuildVolumes specifies a list of volumes to mount to container running the build.", + "type": "array", + "items": { + "type": "string" + } + }, + "builderImage": { + "description": "BaseImage are the images this template will use.", + "type": "string" + }, + "runtimeArtifacts": { + "type": "array", + "items": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.devops.v1alpha1.VolumeSpec" + } + }, + "runtimeImage": { + "type": "string" + } + } + }, + "io.kubesphere.kubesphere.pkg.apis.devops.v1alpha1.DockerConfig": { + "description": "DockerConfig contains the configuration for a Docker connection.", + "type": "object", + "required": [ + "endPoint", + "certFile", + "keyFile", + "caFile", + "useTLS", + "tlsVerify" + ], + "properties": { + "caFile": { + "description": "CAFile is the certificate authority file path for a TLS connection", + "type": "string" + }, + "certFile": { + "description": "CertFile is the certificate file path for a TLS connection", + "type": "string" + }, + "endPoint": { + "description": "Endpoint is the docker network endpoint or socket", + "type": "string" + }, + "keyFile": { + "description": "KeyFile is the key file path for a TLS connection", + "type": "string" + }, + "tlsVerify": { + "description": "TLSVerify indicates if TLS peer must be verified", + "type": "boolean" + }, + "useTLS": { + "description": "UseTLS indicates if TLS must be used", + "type": "boolean" + } + } + }, + "io.kubesphere.kubesphere.pkg.apis.devops.v1alpha1.EnvironmentSpec": { + "description": "EnvironmentSpec specifies a single environment variable.", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "name": { + "type": "string" + }, + "value": { + "type": "string" + } + } + }, + "io.kubesphere.kubesphere.pkg.apis.devops.v1alpha1.Parameter": { + "type": "object", + "properties": { + "defaultValue": { + "type": "string" + }, + "description": { + "type": "string" + }, + "key": { + "type": "string" + }, + "optValues": { + "type": "array", + "items": { + "type": "string" + } + }, + "required": { + "type": "boolean" + }, + "type": { + "type": "string" + }, + "value": { + "type": "string" + } + } + }, + "io.kubesphere.kubesphere.pkg.apis.devops.v1alpha1.ProxyConfig": { + "description": "ProxyConfig holds proxy configuration.", + "type": "object", + "properties": { + "httpProxy": { + "type": "string" + }, + "httpsProxy": { + "type": "string" + } + } + }, + "io.kubesphere.kubesphere.pkg.apis.devops.v1alpha1.S2iBinary": { + "description": "S2iBinary is the Schema for the s2ibinaries API", + "type": "object", + "properties": { + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta" + }, + "spec": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.devops.v1alpha1.S2iBinarySpec" + }, + "status": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.devops.v1alpha1.S2iBinaryStatus" + } + }, + "x-kubernetes-group-version-kind": [ + { + "group": "devops.kubesphere.io", + "kind": "S2iBinary", + "version": "v1alpha1" + } + ] + }, + "io.kubesphere.kubesphere.pkg.apis.devops.v1alpha1.S2iBinaryList": { + "description": "S2iBinaryList contains a list of S2iBinary", + "type": "object", + "required": [ + "items" + ], + "properties": { + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + "type": "string" + }, + "items": { + "type": "array", + "items": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.devops.v1alpha1.S2iBinary" + } + }, + "kind": { + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta" + } + }, + "x-kubernetes-group-version-kind": [ + { + "group": "devops.kubesphere.io", + "kind": "S2iBinaryList", + "version": "v1alpha1" + } + ] + }, + "io.kubesphere.kubesphere.pkg.apis.devops.v1alpha1.S2iBinarySpec": { + "description": "S2iBinarySpec defines the desired state of S2iBinary", + "type": "object", + "properties": { + "downloadURL": { + "description": "DownloadURL in KubeSphere", + "type": "string" + }, + "fileName": { + "description": "FileName is filename of binary", + "type": "string" + }, + "md5": { + "description": "MD5 is Binary's MD5 Hash", + "type": "string" + }, + "size": { + "description": "Size is the file size of file", + "type": "string" + }, + "uploadTimeStamp": { + "description": "UploadTime is last upload time", + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Time" + } + } + }, + "io.kubesphere.kubesphere.pkg.apis.devops.v1alpha1.S2iBinaryStatus": { + "description": "S2iBinaryStatus defines the observed state of S2iBinary", + "type": "object", + "properties": { + "phase": { + "description": "Phase is status of S2iBinary . Possible value is \"Ready\",\"UnableToDownload\"", + "type": "string" + } + } + }, + "io.kubesphere.kubesphere.pkg.apis.devops.v1alpha1.S2iBuildResult": { + "type": "object", + "properties": { + "commandPull": { + "description": "Command for pull image.", + "type": "string" + }, + "imageCreated": { + "description": "Image created time.", + "type": "string" + }, + "imageID": { + "description": "Image ID.", + "type": "string" + }, + "imageName": { + "description": "ImageName is the name of artifact", + "type": "string" + }, + "imageRepoTags": { + "description": "image tags.", + "type": "array", + "items": { + "type": "string" + } + }, + "imageSize": { + "description": "The size in bytes of the image", + "type": "integer", + "format": "int64" + } + } + }, + "io.kubesphere.kubesphere.pkg.apis.devops.v1alpha1.S2iBuildSource": { + "type": "object", + "properties": { + "binaryName": { + "description": "Binary file Name", + "type": "string" + }, + "binarySize": { + "description": "Binary file Size", + "type": "integer", + "format": "int64" + }, + "builderImage": { + "description": "// BuilderImage describes which image is used for building the result images.", + "type": "string" + }, + "commitID": { + "description": "CommitID represents an arbitrary extended object reference in Git as SHA-1", + "type": "string" + }, + "committerEmail": { + "description": "CommitterEmail contains the e-mail of the committer", + "type": "string" + }, + "committerName": { + "description": "CommitterName contains the name of the committer", + "type": "string" + }, + "description": { + "description": "Description is a result image description label. The default is no description.", + "type": "string" + }, + "revisionId": { + "description": "The RevisionId is a branch name or a SHA-1 hash of every important thing about the commit", + "type": "string" + }, + "sourceUrl": { + "description": "SourceURL is url of the codes such as https://github.com/a/b.git", + "type": "string" + } + } + }, + "io.kubesphere.kubesphere.pkg.apis.devops.v1alpha1.S2iBuilder": { + "description": "S2iBuilder is the Schema for the s2ibuilders API", + "type": "object", + "properties": { + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta" + }, + "spec": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.devops.v1alpha1.S2iBuilderSpec" + }, + "status": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.devops.v1alpha1.S2iBuilderStatus" + } + }, + "x-kubernetes-group-version-kind": [ + { + "group": "devops.kubesphere.io", + "kind": "S2iBuilder", + "version": "v1alpha1" + } + ] + }, + "io.kubesphere.kubesphere.pkg.apis.devops.v1alpha1.S2iBuilderList": { + "description": "S2iBuilderList contains a list of S2iBuilder", + "type": "object", + "required": [ + "items" + ], + "properties": { + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + "type": "string" + }, + "items": { + "type": "array", + "items": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.devops.v1alpha1.S2iBuilder" + } + }, + "kind": { + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta" + } + }, + "x-kubernetes-group-version-kind": [ + { + "group": "devops.kubesphere.io", + "kind": "S2iBuilderList", + "version": "v1alpha1" + } + ] + }, + "io.kubesphere.kubesphere.pkg.apis.devops.v1alpha1.S2iBuilderSpec": { + "description": "S2iBuilderSpec defines the desired state of S2iBuilder", + "type": "object", + "properties": { + "config": { + "description": "INSERT ADDITIONAL SPEC FIELDS - desired state of cluster Important: Run \"make\" to regenerate code after modifying this file", + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.devops.v1alpha1.S2iConfig" + }, + "fromTemplate": { + "description": "FromTemplate define some inputs from user", + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.devops.v1alpha1.UserDefineTemplate" + } + } + }, + "io.kubesphere.kubesphere.pkg.apis.devops.v1alpha1.S2iBuilderStatus": { + "description": "S2iBuilderStatus defines the observed state of S2iBuilder", + "type": "object", + "required": [ + "runCount" + ], + "properties": { + "lastRunName": { + "description": "LastRunState return the name of the newest run of this builder", + "type": "string" + }, + "lastRunStartTime": { + "description": "LastRunStartTime return the startTime of the newest run of this builder", + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Time" + }, + "lastRunState": { + "description": "LastRunState return the state of the newest run of this builder", + "type": "string" + }, + "runCount": { + "description": "RunCount represent the sum of s2irun of this builder", + "type": "integer", + "format": "int32" + } + } + }, + "io.kubesphere.kubesphere.pkg.apis.devops.v1alpha1.S2iBuilderTemplate": { + "description": "S2iBuilderTemplate is the Schema for the s2ibuildertemplates API", + "type": "object", + "properties": { + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta" + }, + "spec": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.devops.v1alpha1.S2iBuilderTemplateSpec" + }, + "status": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.devops.v1alpha1.S2iBuilderTemplateStatus" + } + }, + "x-kubernetes-group-version-kind": [ + { + "group": "devops.kubesphere.io", + "kind": "S2iBuilderTemplate", + "version": "v1alpha1" + } + ] + }, + "io.kubesphere.kubesphere.pkg.apis.devops.v1alpha1.S2iBuilderTemplateList": { + "description": "S2iBuilderTemplateList contains a list of S2iBuilderTemplate", + "type": "object", + "required": [ + "items" + ], + "properties": { + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + "type": "string" + }, + "items": { + "type": "array", + "items": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.devops.v1alpha1.S2iBuilderTemplate" + } + }, + "kind": { + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta" + } + }, + "x-kubernetes-group-version-kind": [ + { + "group": "devops.kubesphere.io", + "kind": "S2iBuilderTemplateList", + "version": "v1alpha1" + } + ] + }, + "io.kubesphere.kubesphere.pkg.apis.devops.v1alpha1.S2iBuilderTemplateSpec": { + "description": "S2iBuilderTemplateSpec defines the desired state of S2iBuilderTemplate", + "type": "object", + "properties": { + "codeFramework": { + "description": "CodeFramework means which language this template is designed for and which framework is using if has framework. Like Java, NodeJS etc", + "type": "string" + }, + "containerInfo": { + "description": "Images are the images this template will use.", + "type": "array", + "items": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.devops.v1alpha1.ContainerInfo" + } + }, + "defaultBaseImage": { + "description": "DefaultBaseImage is the image that will be used by default", + "type": "string" + }, + "description": { + "description": "Description illustrate the purpose of this template", + "type": "string" + }, + "environment": { + "description": "Parameters is a set of environment variables to be passed to the image.", + "type": "array", + "items": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.devops.v1alpha1.Parameter" + } + }, + "iconPath": { + "description": "IconPath is used for frontend display", + "type": "string" + }, + "version": { + "description": "Version of template", + "type": "string" + } + } + }, + "io.kubesphere.kubesphere.pkg.apis.devops.v1alpha1.S2iBuilderTemplateStatus": { + "description": "S2iBuilderTemplateStatus defines the observed state of S2iBuilderTemplate", + "type": "object" + }, + "io.kubesphere.kubesphere.pkg.apis.devops.v1alpha1.S2iConfig": { + "type": "object", + "required": [ + "imageName", + "sourceUrl" + ], + "properties": { + "addHost": { + "description": "AddHost Add a line to /etc/hosts for test purpose or private use in LAN. Its format is host:IP,muliple hosts can be added by using multiple --add-host", + "type": "array", + "items": { + "type": "string" + } + }, + "asDockerfile": { + "description": "AsDockerfile indicates the path where the Dockerfile should be written instead of building a new image.", + "type": "string" + }, + "assembleUser": { + "description": "AssembleUser specifies the user to run the assemble script in container", + "type": "string" + }, + "blockOnBuild": { + "description": "BlockOnBuild prevents s2i from performing a docker build operation if one is necessary to execute ONBUILD commands, or to layer source code into the container for images that don't have a tar binary available, if the image contains ONBUILD commands that would be executed.", + "type": "boolean" + }, + "branchExpression": { + "description": "Regular expressions, ignoring names that do not match the provided regular expression", + "type": "string" + }, + "buildVolumes": { + "description": "BuildVolumes specifies a list of volumes to mount to container running the build.", + "type": "array", + "items": { + "type": "string" + } + }, + "builderBaseImageVersion": { + "description": "BuilderBaseImageVersion provides optional version information about the builder base image.", + "type": "string" + }, + "builderImage": { + "description": "BuilderImage describes which image is used for building the result images.", + "type": "string" + }, + "builderImageVersion": { + "description": "BuilderImageVersion provides optional version information about the builder image.", + "type": "string" + }, + "builderPullPolicy": { + "description": "BuilderPullPolicy specifies when to pull the builder image", + "type": "string" + }, + "callbackUrl": { + "description": "CallbackURL is a URL which is called upon successful build to inform about that fact.", + "type": "string" + }, + "cgroupLimits": { + "description": "CGroupLimits describes the cgroups limits that will be applied to any containers run by s2i.", + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.devops.v1alpha1.CGroupLimits" + }, + "contextDir": { + "description": "Specify a relative directory inside the application repository that should be used as a root directory for the application.", + "type": "string" + }, + "description": { + "description": "Description is a result image description label. The default is no description.", + "type": "string" + }, + "destination": { + "description": "Destination specifies a location where the untar operation will place its artifacts.", + "type": "string" + }, + "displayName": { + "description": "DisplayName is a result image display-name label. This defaults to the output image name.", + "type": "string" + }, + "dockerConfig": { + "description": "DockerConfig describes how to access host docker daemon.", + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.devops.v1alpha1.DockerConfig" + }, + "dockerNetworkMode": { + "description": "DockerNetworkMode is used to set the docker network setting to --net=container:\u003cid\u003e when the builder is invoked from a container.", + "type": "string" + }, + "dropCapabilities": { + "description": "DropCapabilities contains a list of capabilities to drop when executing containers", + "type": "array", + "items": { + "type": "string" + } + }, + "environment": { + "description": "Environment is a map of environment variables to be passed to the image.", + "type": "array", + "items": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.devops.v1alpha1.EnvironmentSpec" + } + }, + "excludeRegExp": { + "description": "ExcludeRegExp contains a string representation of the regular expression desired for deciding which files to exclude from the tar stream", + "type": "string" + }, + "export": { + "description": "Export Push the result image to specify image registry in tag", + "type": "boolean" + }, + "gitSecretRef": { + "description": "GitSecretRef is the BasicAuth Secret of Git Clone", + "$ref": "#/definitions/io.k8s.api.core.v1.LocalObjectReference" + }, + "hasOnBuild": { + "description": "HasOnBuild will be set to true if the builder image contains ONBUILD instructions", + "type": "boolean" + }, + "imageName": { + "description": "ImageName Contains the registry address and reponame, tag should set by field tag alone", + "type": "string" + }, + "imageScriptsUrl": { + "description": "ImageScriptsURL is the default location to find the assemble/run scripts for a builder image. This url can be a reference within the builder image if the scheme is specified as image://", + "type": "string" + }, + "imageWorkDir": { + "description": "ImageWorkDir is the default working directory for the builder image.", + "type": "string" + }, + "incremental": { + "description": "Incremental describes whether to try to perform incremental build.", + "type": "boolean" + }, + "incrementalAuthentication": { + "description": "IncrementalAuthentication holds the authentication information for pulling the previous image from private repositories", + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.devops.v1alpha1.AuthConfig" + }, + "incrementalFromTag": { + "description": "IncrementalFromTag sets an alternative image tag to look for existing artifacts. Tag is used by default if this is not set.", + "type": "string" + }, + "injections": { + "description": "Injections specifies a list source/destination folders that are injected to the container that runs assemble. All files we inject will be truncated after the assemble script finishes.", + "type": "array", + "items": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.devops.v1alpha1.VolumeSpec" + } + }, + "isBinaryURL": { + "description": "IsBinaryURL explain the type of SourceURL. If it is IsBinaryURL, it will download the file directly without using git.", + "type": "boolean" + }, + "keepSymlinks": { + "description": "KeepSymlinks indicates to copy symlinks as symlinks. Default behavior is to follow symlinks and copy files by content.", + "type": "boolean" + }, + "labelNamespace": { + "description": "LabelNamespace provides the namespace under which the labels will be generated.", + "type": "string" + }, + "labels": { + "description": "Labels specify labels and their values to be applied to the resulting image. Label keys must have non-zero length. The labels defined here override generated labels in case they have the same name.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "layeredBuild": { + "description": "LayeredBuild describes if this is build which layered scripts and sources on top of BuilderImage.", + "type": "boolean" + }, + "nodeAffinityKey": { + "description": "The key of Node Affinity.", + "type": "string" + }, + "nodeAffinityValues": { + "description": "The values of Node Affinity.", + "type": "array", + "items": { + "type": "string" + } + }, + "outputBuildResult": { + "description": "Whether output build result to status.", + "type": "boolean" + }, + "outputImageName": { + "description": "OutputImageName is a result image name without tag, default is latest. tag will append to ImageName in the end", + "type": "string" + }, + "preserveWorkingDir": { + "description": "PreserveWorkingDir describes if working directory should be left after processing.", + "type": "boolean" + }, + "previousImagePullPolicy": { + "description": "PreviousImagePullPolicy specifies when to pull the previously build image when doing incremental build", + "type": "string" + }, + "pullAuthentication": { + "description": "PullAuthentication holds the authentication information for pulling the Docker images from private repositories", + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.devops.v1alpha1.AuthConfig" + }, + "pushAuthentication": { + "description": "PullAuthentication holds the authentication information for pulling the Docker images from private repositories", + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.devops.v1alpha1.AuthConfig" + }, + "removePreviousImage": { + "description": "RemovePreviousImage describes if previous image should be removed after successful build. This applies only to incremental builds.", + "type": "boolean" + }, + "revisionId": { + "description": "The RevisionId is a branch name or a SHA-1 hash of every important thing about the commit", + "type": "string" + }, + "runImage": { + "description": "RunImage will trigger a \"docker run ...\" invocation of the produced image so the user can see if it operates as he would expect", + "type": "boolean" + }, + "runtimeArtifacts": { + "description": "RuntimeArtifacts specifies a list of source/destination pairs that will be copied from builder to a runtime image. Source can be a file or directory. Destination must be a directory. Regardless whether it is an absolute or relative path, it will be placed into image's WORKDIR. Destination also can be empty or equals to \".\", in this case it just refers to a root of WORKDIR. In case it's empty, S2I will try to get this list from io.openshift.s2i.assemble-input-files label on a RuntimeImage.", + "type": "array", + "items": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.devops.v1alpha1.VolumeSpec" + } + }, + "runtimeAuthentication": { + "description": "RuntimeAuthentication holds the authentication information for pulling the runtime Docker images from private repositories.", + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.devops.v1alpha1.AuthConfig" + }, + "runtimeImage": { + "description": "RuntimeImage specifies the image that will be a base for resulting image and will be used for running an application. By default, BuilderImage is used for building and running, but the latter may be overridden.", + "type": "string" + }, + "runtimeImagePullPolicy": { + "description": "RuntimeImagePullPolicy specifies when to pull a runtime image.", + "type": "string" + }, + "scriptDownloadProxyConfig": { + "description": "ScriptDownloadProxyConfig optionally specifies the http and https proxy to use when downloading scripts", + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.devops.v1alpha1.ProxyConfig" + }, + "scriptsUrl": { + "description": "ScriptsURL is a URL describing where to fetch the S2I scripts from during build process. This url can be a reference within the builder image if the scheme is specified as image://", + "type": "string" + }, + "secretCode": { + "description": "SecretCode", + "type": "string" + }, + "securityOpt": { + "description": "SecurityOpt are passed as options to the docker containers launched by s2i.", + "type": "array", + "items": { + "type": "string" + } + }, + "sourceUrl": { + "description": "SourceURL is url of the codes such as https://github.com/a/b.git", + "type": "string" + }, + "tag": { + "description": "Tag is a result image tag name.", + "type": "string" + }, + "taintKey": { + "description": "The name of taint.", + "type": "string" + }, + "usage": { + "description": "Usage allows for properly shortcircuiting s2i logic when `s2i usage` is invoked", + "type": "boolean" + }, + "workingDir": { + "description": "WorkingDir describes temporary directory used for downloading sources, scripts and tar operations.", + "type": "string" + }, + "workingSourceDir": { + "description": "WorkingSourceDir describes the subdirectory off of WorkingDir set up during the repo download that is later used as the root for ignore processing", + "type": "string" + } + } + }, + "io.kubesphere.kubesphere.pkg.apis.devops.v1alpha1.S2iRun": { + "description": "S2iRun is the Schema for the s2iruns API", + "type": "object", + "properties": { + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta" + }, + "spec": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.devops.v1alpha1.S2iRunSpec" + }, + "status": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.devops.v1alpha1.S2iRunStatus" + } + }, + "x-kubernetes-group-version-kind": [ + { + "group": "devops.kubesphere.io", + "kind": "S2iRun", + "version": "v1alpha1" + } + ] + }, + "io.kubesphere.kubesphere.pkg.apis.devops.v1alpha1.S2iRunList": { + "description": "S2iRunList contains a list of S2iRun", + "type": "object", + "required": [ + "items" + ], + "properties": { + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + "type": "string" + }, + "items": { + "type": "array", + "items": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.devops.v1alpha1.S2iRun" + } + }, + "kind": { + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta" + } + }, + "x-kubernetes-group-version-kind": [ + { + "group": "devops.kubesphere.io", + "kind": "S2iRunList", + "version": "v1alpha1" + } + ] + }, + "io.kubesphere.kubesphere.pkg.apis.devops.v1alpha1.S2iRunSpec": { + "description": "S2iRunSpec defines the desired state of S2iRun", + "type": "object", + "required": [ + "builderName" + ], + "properties": { + "backoffLimit": { + "description": "BackoffLimit limits the restart count of each s2irun. Default is 0", + "type": "integer", + "format": "int32" + }, + "builderName": { + "description": "BuilderName specify the name of s2ibuilder, required", + "type": "string" + }, + "newRevisionId": { + "description": "NewRevisionId override the default NewRevisionId in its s2ibuilder.", + "type": "string" + }, + "newSourceURL": { + "description": "NewSourceURL is used to download new binary artifacts", + "type": "string" + }, + "newTag": { + "description": "NewTag override the default tag in its s2ibuilder, image name cannot be changed.", + "type": "string" + }, + "secondsAfterFinished": { + "description": "SecondsAfterFinished if is set and greater than zero, and the job created by s2irun become successful or failed , the job will be auto deleted after SecondsAfterFinished", + "type": "integer", + "format": "int32" + } + } + }, + "io.kubesphere.kubesphere.pkg.apis.devops.v1alpha1.S2iRunStatus": { + "description": "S2iRunStatus defines the observed state of S2iRun", + "type": "object", + "properties": { + "completionTime": { + "description": "Represents time when the job was completed. It is not guaranteed to be set in happens-before order across separate operations. It is represented in RFC3339 form and is in UTC.", + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Time" + }, + "kubernetesJobName": { + "description": "KubernetesJobName is the job name in k8s", + "type": "string" + }, + "logURL": { + "description": "LogURL is uesd for external log handler to let user know where is log located in", + "type": "string" + }, + "runState": { + "description": "RunState indicates whether this job is done or failed", + "type": "string" + }, + "s2iBuildResult": { + "description": "S2i build result info.", + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.devops.v1alpha1.S2iBuildResult" + }, + "s2iBuildSource": { + "description": "S2i build source info.", + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.devops.v1alpha1.S2iBuildSource" + }, + "startTime": { + "description": "StartTime represent when this run began", + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Time" + } + } + }, + "io.kubesphere.kubesphere.pkg.apis.devops.v1alpha1.UserDefineTemplate": { + "type": "object", + "properties": { + "builderImage": { + "description": "BaseImage specify which version of this template to use", + "type": "string" + }, + "name": { + "description": "Name specify a template to use, so many fields in Config can left empty", + "type": "string" + }, + "parameters": { + "description": "Parameters must use with `template`, fill some parameters which template will use", + "type": "array", + "items": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.devops.v1alpha1.Parameter" + } + } + } + }, + "io.kubesphere.kubesphere.pkg.apis.devops.v1alpha1.VolumeSpec": { + "description": "VolumeSpec represents a single volume mount point.", + "type": "object", + "properties": { + "destination": { + "description": "Destination is the path to mount the volume to - absolute or relative.", + "type": "string" + }, + "keep": { + "description": "Keep indicates if the mounted data should be kept in the final image.", + "type": "boolean" + }, + "source": { + "description": "Source is a reference to the volume source.", + "type": "string" + } + } + }, + "io.kubesphere.kubesphere.pkg.apis.devops.v1alpha3.BitbucketServerSource": { + "type": "object", + "properties": { + "api_uri": { + "type": "string" + }, + "credential_id": { + "type": "string" + }, + "discover_branches": { + "type": "integer", + "format": "int32" + }, + "discover_pr_from_forks": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.devops.v1alpha3.DiscoverPRFromForks" + }, + "discover_pr_from_origin": { + "type": "integer", + "format": "int32" + }, + "git_clone_option": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.devops.v1alpha3.GitCloneOption" + }, + "owner": { + "type": "string" + }, + "regex_filter": { + "type": "string" + }, + "repo": { + "type": "string" + }, + "scm_id": { + "type": "string" + } + } + }, + "io.kubesphere.kubesphere.pkg.apis.devops.v1alpha3.DevOpsProject": { + "description": "DevOpsProject is the Schema for the devopsprojects API", + "type": "object", + "properties": { + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta" + }, + "spec": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.devops.v1alpha3.DevOpsProjectSpec" + }, + "status": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.devops.v1alpha3.DevOpsProjectStatus" + } + }, + "x-kubernetes-group-version-kind": [ + { + "group": "devops.kubesphere.io", + "kind": "DevOpsProject", + "version": "v1alpha3" + } + ] + }, + "io.kubesphere.kubesphere.pkg.apis.devops.v1alpha3.DevOpsProjectList": { + "description": "DevOpsProjectList contains a list of DevOpsProject", + "type": "object", + "required": [ + "items" + ], + "properties": { + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + "type": "string" + }, + "items": { + "type": "array", + "items": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.devops.v1alpha3.DevOpsProject" + } + }, + "kind": { + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta" + } + }, + "x-kubernetes-group-version-kind": [ + { + "group": "devops.kubesphere.io", + "kind": "DevOpsProjectList", + "version": "v1alpha3" + } + ] + }, + "io.kubesphere.kubesphere.pkg.apis.devops.v1alpha3.DevOpsProjectSpec": { + "description": "DevOpsProjectSpec defines the desired state of DevOpsProject", + "type": "object" + }, + "io.kubesphere.kubesphere.pkg.apis.devops.v1alpha3.DevOpsProjectStatus": { + "description": "DevOpsProjectStatus defines the observed state of DevOpsProject", + "type": "object", + "properties": { + "adminNamespace": { + "description": "INSERT ADDITIONAL STATUS FIELD - define observed state of cluster Important: Run \"make\" to regenerate code after modifying this file", + "type": "string" + } + } + }, + "io.kubesphere.kubesphere.pkg.apis.devops.v1alpha3.DiscarderProperty": { + "type": "object", + "properties": { + "days_to_keep": { + "type": "string" + }, + "num_to_keep": { + "type": "string" + } + } + }, + "io.kubesphere.kubesphere.pkg.apis.devops.v1alpha3.DiscoverPRFromForks": { + "type": "object", + "properties": { + "strategy": { + "type": "integer", + "format": "int32" + }, + "trust": { + "type": "integer", + "format": "int32" + } + } + }, + "io.kubesphere.kubesphere.pkg.apis.devops.v1alpha3.GitCloneOption": { + "type": "object", + "properties": { + "depth": { + "type": "integer", + "format": "int32" + }, + "shallow": { + "type": "boolean" + }, + "timeout": { + "type": "integer", + "format": "int32" + } + } + }, + "io.kubesphere.kubesphere.pkg.apis.devops.v1alpha3.GitSource": { + "type": "object", + "properties": { + "credential_id": { + "type": "string" + }, + "discover_branches": { + "type": "boolean" + }, + "git_clone_option": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.devops.v1alpha3.GitCloneOption" + }, + "regex_filter": { + "type": "string" + }, + "scm_id": { + "type": "string" + }, + "url": { + "type": "string" + } + } + }, + "io.kubesphere.kubesphere.pkg.apis.devops.v1alpha3.GithubSource": { + "type": "object", + "properties": { + "api_uri": { + "type": "string" + }, + "credential_id": { + "type": "string" + }, + "discover_branches": { + "type": "integer", + "format": "int32" + }, + "discover_pr_from_forks": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.devops.v1alpha3.DiscoverPRFromForks" + }, + "discover_pr_from_origin": { + "type": "integer", + "format": "int32" + }, + "git_clone_option": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.devops.v1alpha3.GitCloneOption" + }, + "owner": { + "type": "string" + }, + "regex_filter": { + "type": "string" + }, + "repo": { + "type": "string" + }, + "scm_id": { + "type": "string" + } + } + }, + "io.kubesphere.kubesphere.pkg.apis.devops.v1alpha3.MultiBranchJobTrigger": { + "type": "object", + "properties": { + "create_action_job_to_trigger": { + "type": "string" + }, + "delete_action_job_to_trigger": { + "type": "string" + } + } + }, + "io.kubesphere.kubesphere.pkg.apis.devops.v1alpha3.MultiBranchPipeline": { + "type": "object", + "required": [ + "name", + "source_type", + "script_path" + ], + "properties": { + "bitbucket_server_source": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.devops.v1alpha3.BitbucketServerSource" + }, + "description": { + "type": "string" + }, + "discarder": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.devops.v1alpha3.DiscarderProperty" + }, + "git_source": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.devops.v1alpha3.GitSource" + }, + "github_source": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.devops.v1alpha3.GithubSource" + }, + "multibranch_job_trigger": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.devops.v1alpha3.MultiBranchJobTrigger" + }, + "name": { + "type": "string" + }, + "script_path": { + "type": "string" + }, + "single_svn_source": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.devops.v1alpha3.SingleSvnSource" + }, + "source_type": { + "type": "string" + }, + "svn_source": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.devops.v1alpha3.SvnSource" + }, + "timer_trigger": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.devops.v1alpha3.TimerTrigger" + } + } + }, + "io.kubesphere.kubesphere.pkg.apis.devops.v1alpha3.NoScmPipeline": { + "type": "object", + "required": [ + "name" + ], + "properties": { + "description": { + "type": "string" + }, + "disable_concurrent": { + "type": "boolean" + }, + "discarder": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.devops.v1alpha3.DiscarderProperty" + }, + "jenkinsfile": { + "type": "string" + }, + "name": { + "type": "string" + }, + "parameters": { + "type": "array", + "items": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.devops.v1alpha3.Parameter" + } + }, + "remote_trigger": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.devops.v1alpha3.RemoteTrigger" + }, + "timer_trigger": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.devops.v1alpha3.TimerTrigger" + } + } + }, + "io.kubesphere.kubesphere.pkg.apis.devops.v1alpha3.Parameter": { + "type": "object", + "required": [ + "name", + "type" + ], + "properties": { + "default_value": { + "type": "string" + }, + "description": { + "type": "string" + }, + "name": { + "type": "string" + }, + "type": { + "type": "string" + } + } + }, + "io.kubesphere.kubesphere.pkg.apis.devops.v1alpha3.Pipeline": { + "description": "Pipeline is the Schema for the pipelines API", + "type": "object", + "properties": { + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta" + }, + "spec": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.devops.v1alpha3.PipelineSpec" + }, + "status": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.devops.v1alpha3.PipelineStatus" + } + }, + "x-kubernetes-group-version-kind": [ + { + "group": "devops.kubesphere.io", + "kind": "Pipeline", + "version": "v1alpha3" + } + ] + }, + "io.kubesphere.kubesphere.pkg.apis.devops.v1alpha3.PipelineList": { + "description": "PipelineList contains a list of Pipeline", + "type": "object", + "required": [ + "items" + ], + "properties": { + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + "type": "string" + }, + "items": { + "type": "array", + "items": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.devops.v1alpha3.Pipeline" + } + }, + "kind": { + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta" + } + }, + "x-kubernetes-group-version-kind": [ + { + "group": "devops.kubesphere.io", + "kind": "PipelineList", + "version": "v1alpha3" + } + ] + }, + "io.kubesphere.kubesphere.pkg.apis.devops.v1alpha3.PipelineSpec": { + "description": "PipelineSpec defines the desired state of Pipeline", + "type": "object", + "required": [ + "type" + ], + "properties": { + "multi_branch_pipeline": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.devops.v1alpha3.MultiBranchPipeline" + }, + "pipeline": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.devops.v1alpha3.NoScmPipeline" + }, + "type": { + "description": "INSERT ADDITIONAL SPEC FIELDS - desired state of cluster Important: Run \"make\" to regenerate code after modifying this file", + "type": "string" + } + } + }, + "io.kubesphere.kubesphere.pkg.apis.devops.v1alpha3.PipelineStatus": { + "description": "PipelineStatus defines the observed state of Pipeline", + "type": "object" + }, + "io.kubesphere.kubesphere.pkg.apis.devops.v1alpha3.RemoteTrigger": { + "type": "object", + "properties": { + "token": { + "type": "string" + } + } + }, + "io.kubesphere.kubesphere.pkg.apis.devops.v1alpha3.SingleSvnSource": { + "type": "object", + "properties": { + "credential_id": { + "type": "string" + }, + "remote": { + "type": "string" + }, + "scm_id": { + "type": "string" + } + } + }, + "io.kubesphere.kubesphere.pkg.apis.devops.v1alpha3.SvnSource": { + "type": "object", + "properties": { + "credential_id": { + "type": "string" + }, + "excludes": { + "type": "string" + }, + "includes": { + "type": "string" + }, + "remote": { + "type": "string" + }, + "scm_id": { + "type": "string" + } + } + }, + "io.kubesphere.kubesphere.pkg.apis.devops.v1alpha3.TimerTrigger": { + "type": "object", + "properties": { + "cron": { + "description": "user in no scm job", + "type": "string" + }, + "interval": { + "description": "use in multi-branch job", + "type": "string" + } + } + }, + "io.kubesphere.kubesphere.pkg.apis.network.v1alpha1.NamespaceNetworkPolicy": { + "description": "NamespaceNetworkPolicy is the Schema for the namespacenetworkpolicies API", + "type": "object", + "properties": { + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta" + }, + "spec": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.network.v1alpha1.NamespaceNetworkPolicySpec" + } + }, + "x-kubernetes-group-version-kind": [ + { + "group": "network.kubesphere.io", + "kind": "NamespaceNetworkPolicy", + "version": "v1alpha1" + } + ] + }, + "io.kubesphere.kubesphere.pkg.apis.network.v1alpha1.NamespaceNetworkPolicyList": { + "description": "NamespaceNetworkPolicyList contains a list of NamespaceNetworkPolicy", + "type": "object", + "required": [ + "items" + ], + "properties": { + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + "type": "string" + }, + "items": { + "type": "array", + "items": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.network.v1alpha1.NamespaceNetworkPolicy" + } + }, + "kind": { + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta" + } + }, + "x-kubernetes-group-version-kind": [ + { + "group": "network.kubesphere.io", + "kind": "NamespaceNetworkPolicyList", + "version": "v1alpha1" + } + ] + }, + "io.kubesphere.kubesphere.pkg.apis.network.v1alpha1.NamespaceNetworkPolicySpec": { + "description": "NamespaceNetworkPolicySpec provides the specification of a NamespaceNetworkPolicy", + "type": "object", + "properties": { + "egress": { + "description": "List of egress rules to be applied to the selected pods. Outgoing traffic is allowed if there are no NetworkPolicies selecting the pod (and cluster policy otherwise allows the traffic), OR if the traffic matches at least one egress rule across all of the NetworkPolicy objects whose podSelector matches the pod. If this field is empty then this NetworkPolicy limits all outgoing traffic (and serves solely to ensure that the pods it selects are isolated by default). This field is beta-level in 1.8", + "type": "array", + "items": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.network.v1alpha1.NetworkPolicyEgressRule" + } + }, + "ingress": { + "description": "List of ingress rules to be applied to the selected pods. Traffic is allowed to a pod if there are no NetworkPolicies selecting the pod (and cluster policy otherwise allows the traffic), OR if the traffic source is the pod's local node, OR if the traffic matches at least one ingress rule across all of the NetworkPolicy objects whose podSelector matches the pod. If this field is empty then this NetworkPolicy does not allow any traffic (and serves solely to ensure that the pods it selects are isolated by default)", + "type": "array", + "items": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.network.v1alpha1.NetworkPolicyIngressRule" + } + }, + "policyTypes": { + "description": "List of rule types that the NetworkPolicy relates to. Valid options are \"Ingress\", \"Egress\", or \"Ingress,Egress\". If this field is not specified, it will default based on the existence of Ingress or Egress rules; policies that contain an Egress section are assumed to affect Egress, and all policies (whether or not they contain an Ingress section) are assumed to affect Ingress. If you want to write an egress-only policy, you must explicitly specify policyTypes [ \"Egress\" ]. Likewise, if you want to write a policy that specifies that no egress is allowed, you must specify a policyTypes value that include \"Egress\" (since such a policy would not include an Egress section and would otherwise default to just [ \"Ingress\" ]). This field is beta-level in 1.8", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "io.kubesphere.kubesphere.pkg.apis.network.v1alpha1.NamespaceSelector": { + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "type": "string" + } + } + }, + "io.kubesphere.kubesphere.pkg.apis.network.v1alpha1.NetworkPolicyEgressRule": { + "description": "NetworkPolicyEgressRule describes a particular set of traffic that is allowed out of pods matched by a NetworkPolicySpec's podSelector. The traffic must match both ports and to. This type is beta-level in 1.8", + "type": "object", + "properties": { + "ports": { + "description": "List of destination ports for outgoing traffic. Each item in this list is combined using a logical OR. If this field is empty or missing, this rule matches all ports (traffic not restricted by port). If this field is present and contains at least one item, then this rule allows traffic only if the traffic matches at least one port in the list.", + "type": "array", + "items": { + "$ref": "#/definitions/io.k8s.api.networking.v1.NetworkPolicyPort" + } + }, + "to": { + "description": "List of destinations for outgoing traffic of pods selected for this rule. Items in this list are combined using a logical OR operation. If this field is empty or missing, this rule matches all destinations (traffic not restricted by destination). If this field is present and contains at least one item, this rule allows traffic only if the traffic matches at least one item in the to list.", + "type": "array", + "items": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.network.v1alpha1.NetworkPolicyPeer" + } + } + } + }, + "io.kubesphere.kubesphere.pkg.apis.network.v1alpha1.NetworkPolicyIngressRule": { + "description": "NetworkPolicyIngressRule describes a particular set of traffic that is allowed to the pods matched by a NetworkPolicySpec's podSelector. The traffic must match both ports and from.", + "type": "object", + "properties": { + "from": { + "description": "List of sources which should be able to access the pods selected for this rule. Items in this list are combined using a logical OR operation. If this field is empty or missing, this rule matches all sources (traffic not restricted by source). If this field is present and contains at least one item, this rule allows traffic only if the traffic matches at least one item in the from list.", + "type": "array", + "items": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.network.v1alpha1.NetworkPolicyPeer" + } + }, + "ports": { + "description": "List of ports which should be made accessible on the pods selected for this rule. Each item in this list is combined using a logical OR. If this field is empty or missing, this rule matches all ports (traffic not restricted by port). If this field is present and contains at least one item, then this rule allows traffic only if the traffic matches at least one port in the list.", + "type": "array", + "items": { + "$ref": "#/definitions/io.k8s.api.networking.v1.NetworkPolicyPort" + } + } + } + }, + "io.kubesphere.kubesphere.pkg.apis.network.v1alpha1.NetworkPolicyPeer": { + "description": "NetworkPolicyPeer describes a peer to allow traffic from. Only certain combinations of fields are allowed", + "type": "object", + "properties": { + "ipBlock": { + "description": "IPBlock defines policy on a particular IPBlock. If this field is set then neither of the other fields can be.", + "$ref": "#/definitions/io.k8s.api.networking.v1.IPBlock" + }, + "namespace": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.network.v1alpha1.NamespaceSelector" + }, + "service": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.network.v1alpha1.ServiceSelector" + } + } + }, + "io.kubesphere.kubesphere.pkg.apis.network.v1alpha1.ServiceSelector": { + "type": "object", + "required": [ + "name", + "namespace" + ], + "properties": { + "name": { + "type": "string" + }, + "namespace": { + "type": "string" + } + } + }, + "io.kubesphere.kubesphere.pkg.apis.tenant.v1alpha1.Workspace": { + "description": "Workspace is the Schema for the workspaces API", + "type": "object", + "properties": { + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta" + }, + "spec": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.tenant.v1alpha1.WorkspaceSpec" + }, + "status": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.tenant.v1alpha1.WorkspaceStatus" + } + }, + "x-kubernetes-group-version-kind": [ + { + "group": "tenant.kubesphere.io", + "kind": "Workspace", + "version": "v1alpha1" + } + ] + }, + "io.kubesphere.kubesphere.pkg.apis.tenant.v1alpha1.WorkspaceList": { + "description": "WorkspaceList contains a list of Workspace", + "type": "object", + "required": [ + "items" + ], + "properties": { + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + "type": "string" + }, + "items": { + "type": "array", + "items": { + "$ref": "#/definitions/io.kubesphere.kubesphere.pkg.apis.tenant.v1alpha1.Workspace" + } + }, + "kind": { + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta" + } + }, + "x-kubernetes-group-version-kind": [ + { + "group": "tenant.kubesphere.io", + "kind": "WorkspaceList", + "version": "v1alpha1" + } + ] + }, + "io.kubesphere.kubesphere.pkg.apis.tenant.v1alpha1.WorkspaceSpec": { + "description": "WorkspaceSpec defines the desired state of Workspace", + "type": "object", + "properties": { + "manager": { + "type": "string" + }, + "networkIsolation": { + "type": "boolean" + } + } + }, + "io.kubesphere.kubesphere.pkg.apis.tenant.v1alpha1.WorkspaceStatus": { + "description": "WorkspaceStatus defines the observed state of Workspace", + "type": "object" + } + } +} \ No newline at end of file diff --git a/static/json/api.json b/static/json/kubesphere.json similarity index 79% rename from static/json/api.json rename to static/json/kubesphere.json index 0aac3b55f..88a761fdc 100644 --- a/static/json/api.json +++ b/static/json/kubesphere.json @@ -12,17 +12,87 @@ "name": "Apache", "url": "http://www.apache.org/licenses/" }, - "version": "v2.1.0", + "version": "v3.0.0", "x-logo": { "url": "/images/ApiDocs.svg" - } + }, + "x-taggroups": [ + { + "name": "IAM", + "tags": [ + "Identity Management", + "Access Management" + ] + }, + { + "name": "Resources", + "tags": [ + "Cluster Resources", + "Namespace Resources", + "User Resources" + ] + }, + { + "name": "AppStore", + "tags": [ + "Openpitrix Resources" + ] + }, + { + "name": "Monitoring", + "tags": [ + "Component Status" + ] + }, + { + "name": "Tenant", + "tags": [ + "Tenant Resources" + ] + }, + { + "name": "Other", + "tags": [ + "Verification", + "Docker Registry" + ] + }, + { + "name": "DevOps", + "tags": [ + "DevOps Project", + "DevOps Project Credential", + "DevOps Pipeline", + "DevOps Project Member", + "DevOps Webhook", + "DevOps Jenkinsfile", + "DevOps Scm" + ] + }, + { + "name": "Monitoring", + "tags": [ + "Cluster Metrics", + "Node Metrics", + "Namespace Metrics", + "Workload Metrics", + "Pod Metrics", + "Container Metrics", + "Workspace Metrics", + "Component Metrics" + ] + }, + { + "name": "Logging", + "tags": [ + "Log Query" + ] + } + ] }, "paths": { "/kapis/devops.kubesphere.io/v1alpha2/crumbissuer": { "get": { - "consumes": [ - "application/json" - ], "produces": [ "application/json" ], @@ -47,93 +117,8 @@ } } }, - "/kapis/devops.kubesphere.io/v1alpha2/devops/{devops}": { - "get": { - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "DevOps Project" - ], - "summary": "Get the specified DevOps Project", - "operationId": "GetDevOpsProjectHandler", - "parameters": [ - { - "type": "string", - "description": "DevOps project's ID, e.g. project-RRRRAzLBlLEm", - "name": "devops", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "ok", - "schema": { - "$ref": "#/definitions/v1alpha2.DevOpsProject" - } - }, - "default": { - "description": "ok", - "schema": { - "$ref": "#/definitions/v1alpha2.DevOpsProject" - } - } - } - }, - "patch": { - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "DevOps Project" - ], - "summary": "Update the specified DevOps Project", - "operationId": "UpdateProjectHandler", - "parameters": [ - { - "type": "string", - "description": "DevOps project's ID, e.g. project-RRRRAzLBlLEm", - "name": "devops", - "in": "path", - "required": true - }, - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/v1alpha2.DevOpsProject" - } - } - ], - "responses": { - "200": { - "description": "ok", - "schema": { - "$ref": "#/definitions/v1alpha2.DevOpsProject" - } - }, - "default": { - "description": "ok", - "schema": { - "$ref": "#/definitions/v1alpha2.DevOpsProject" - } - } - } - } - }, "/kapis/devops.kubesphere.io/v1alpha2/devops/{devops}/checkCron": { "post": { - "consumes": [ - "application/json" - ], "produces": [ "application/json", "charset=utf-8" @@ -151,13 +136,6 @@ "in": "path", "required": true }, - { - "type": "string", - "description": "the name of the CI/CD pipeline", - "name": "pipeline", - "in": "path", - "required": true - }, { "name": "body", "in": "body", @@ -183,189 +161,16 @@ } } }, - "/kapis/devops.kubesphere.io/v1alpha2/devops/{devops}/credentials": { + "/kapis/devops.kubesphere.io/v1alpha2/devops/{devops}/credentials/{credential}/usage": { "get": { - "consumes": [ - "application/json" - ], "produces": [ "application/json" ], "tags": [ "DevOps Project Credential" ], - "summary": "Get all credentials of the specified DevOps project", - "operationId": "GetDevOpsProjectCredentialsHandler", - "parameters": [ - { - "type": "string", - "description": "DevOps project's ID, e.g. project-RRRRAzLBlLEm", - "name": "devops", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "ok", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/devops.JenkinsCredential" - } - } - }, - "default": { - "description": "ok", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/devops.JenkinsCredential" - } - } - } - } - }, - "post": { - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "DevOps Project Credential" - ], - "summary": "Create a credential in the specified DevOps project", - "operationId": "CreateDevOpsProjectCredentialHandler", - "parameters": [ - { - "type": "string", - "description": "DevOps project's ID, e.g. project-RRRRAzLBlLEm", - "name": "devops", - "in": "path", - "required": true - }, - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/devops.JenkinsCredential" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/kapis/devops.kubesphere.io/v1alpha2/devops/{devops}/credentials/{credential}": { - "get": { - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "DevOps Project Credential" - ], - "summary": "Get the specified credential of the DevOps project", - "operationId": "GetDevOpsProjectCredentialHandler", - "parameters": [ - { - "type": "string", - "description": "DevOps project's ID, e.g. project-RRRRAzLBlLEm", - "name": "devops", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "credential's ID, e.g. dockerhub-id", - "name": "credential", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "\nGet extra credential content if this query parameter is set. \nSpecifically, there are three types of info in a credential. One is the basic info that must be returned for each query such as name, id, etc.\nThe second one is non-encrypted info such as the username of the username-password type of credential, which returns when the \"content\" parameter is set to non-empty.\nThe last one is encrypted info, such as the password of the username-password type of credential, which never returns.\n", - "name": "content", - "in": "query" - } - ], - "responses": { - "200": { - "description": "ok", - "schema": { - "$ref": "#/definitions/devops.JenkinsCredential" - } - }, - "default": { - "description": "ok", - "schema": { - "$ref": "#/definitions/devops.JenkinsCredential" - } - } - } - }, - "put": { - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "DevOps Project Credential" - ], - "summary": "Update the specified credential of the DevOps project", - "operationId": "UpdateDevOpsProjectCredentialHandler", - "parameters": [ - { - "type": "string", - "description": "DevOps project's ID, e.g. project-RRRRAzLBlLEm", - "name": "devops", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "credential's ID, e.g. dockerhub-id", - "name": "credential", - "in": "path", - "required": true - }, - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/devops.JenkinsCredential" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - }, - "delete": { - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "DevOps Project Credential" - ], - "summary": "Delete the specified credential of the DevOps project", - "operationId": "DeleteDevOpsProjectCredentialHandler", + "summary": "Get the specified credential usage of the DevOps project", + "operationId": "GetProjectCredentialUsage", "parameters": [ { "type": "string", @@ -382,331 +187,17 @@ "required": true } ], - "responses": { - "200": { - "description": "OK" - } - } - } - }, - "/kapis/devops.kubesphere.io/v1alpha2/devops/{devops}/defaultroles": { - "get": { - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "DevOps Project Member" - ], - "summary": "Get the build-in roles info of the specified DevOps project", - "operationId": "GetDevOpsProjectDefaultRoles", - "parameters": [ - { - "type": "string", - "description": "DevOps project's ID, e.g. project-RRRRAzLBlLEm", - "name": "devops", - "in": "path", - "required": true - } - ], "responses": { "200": { "description": "ok", "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/devops.Role" - } + "$ref": "#/definitions/devops.Credential" } }, "default": { "description": "ok", "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/devops.Role" - } - } - } - } - } - }, - "/kapis/devops.kubesphere.io/v1alpha2/devops/{devops}/members": { - "get": { - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "DevOps Project Member" - ], - "summary": "Get the members of the specified DevOps project", - "operationId": "GetDevOpsProjectMembersHandler", - "parameters": [ - { - "type": "string", - "description": "DevOps project's ID, e.g. project-RRRRAzLBlLEm", - "name": "devops", - "in": "path", - "required": true - }, - { - "type": "string", - "format": "limit=%d,page=%d", - "default": "limit=10,page=1", - "description": "page", - "name": "paging", - "in": "query" - }, - { - "type": "string", - "format": "key=%s,key~%s", - "description": "query conditions, support using key-value pairs separated by comma to search, like 'conditions:somekey=somevalue,anotherkey=anothervalue'", - "name": "conditions", - "in": "query" - } - ], - "responses": { - "200": { - "description": "ok", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/devops.DevOpsProjectMembership" - } - } - }, - "default": { - "description": "ok", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/devops.DevOpsProjectMembership" - } - } - } - } - }, - "post": { - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "DevOps Project Member" - ], - "summary": "Add a member to the specified DevOps project", - "operationId": "AddDevOpsProjectMemberHandler", - "parameters": [ - { - "type": "string", - "description": "DevOps project's ID, e.g. project-RRRRAzLBlLEm", - "name": "devops", - "in": "path", - "required": true - }, - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/devops.DevOpsProjectMembership" - } - } - ], - "responses": { - "200": { - "description": "ok", - "schema": { - "$ref": "#/definitions/devops.DevOpsProjectMembership" - } - }, - "default": { - "description": "ok", - "schema": { - "$ref": "#/definitions/devops.DevOpsProjectMembership" - } - } - } - } - }, - "/kapis/devops.kubesphere.io/v1alpha2/devops/{devops}/members/{member}": { - "get": { - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "DevOps Project Member" - ], - "summary": "Get the specified member of the DevOps project", - "operationId": "GetDevOpsProjectMemberHandler", - "parameters": [ - { - "type": "string", - "description": "DevOps project's ID, e.g. project-RRRRAzLBlLEm", - "name": "devops", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "member's username, e.g. admin", - "name": "member", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "ok", - "schema": { - "$ref": "#/definitions/devops.DevOpsProjectMembership" - } - }, - "default": { - "description": "ok", - "schema": { - "$ref": "#/definitions/devops.DevOpsProjectMembership" - } - } - } - }, - "delete": { - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "DevOps Project Member" - ], - "summary": "Delete the specified member of the DevOps project", - "operationId": "DeleteDevOpsProjectMemberHandler", - "parameters": [ - { - "type": "string", - "description": "DevOps project's ID, e.g. project-RRRRAzLBlLEm", - "name": "devops", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "member's username, e.g. admin", - "name": "member", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK" - } - } - }, - "patch": { - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "DevOps Project Member" - ], - "summary": "Update the specified member of the DevOps project", - "operationId": "UpdateDevOpsProjectMemberHandler", - "parameters": [ - { - "type": "string", - "description": "DevOps project's ID, e.g. project-RRRRAzLBlLEm", - "name": "devops", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "member's username, e.g. admin", - "name": "member", - "in": "path", - "required": true - }, - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/devops.DevOpsProjectMembership" - } - } - ], - "responses": { - "200": { - "description": "ok", - "schema": { - "$ref": "#/definitions/devops.DevOpsProjectMembership" - } - }, - "default": { - "description": "ok", - "schema": { - "$ref": "#/definitions/devops.DevOpsProjectMembership" - } - } - } - } - }, - "/kapis/devops.kubesphere.io/v1alpha2/devops/{devops}/pipelines": { - "post": { - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "DevOps Pipeline" - ], - "summary": "Create a DevOps project pipeline", - "operationId": "CreateDevOpsProjectPipelineHandler", - "parameters": [ - { - "type": "string", - "description": "DevOps project's ID, e.g. project-RRRRAzLBlLEm", - "name": "devops", - "in": "path", - "required": true - }, - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/devops.ProjectPipeline" - } - } - ], - "responses": { - "200": { - "description": "ok", - "schema": { - "$ref": "#/definitions/devops.ProjectPipeline" - } - }, - "default": { - "description": "ok", - "schema": { - "$ref": "#/definitions/devops.ProjectPipeline" + "$ref": "#/definitions/devops.Credential" } } } @@ -714,9 +205,6 @@ }, "/kapis/devops.kubesphere.io/v1alpha2/devops/{devops}/pipelines/{pipeline}": { "get": { - "consumes": [ - "application/json" - ], "produces": [ "application/json" ], @@ -755,89 +243,10 @@ } } } - }, - "put": { - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "DevOps Pipeline" - ], - "summary": "Update the specified pipeline of the DevOps project", - "operationId": "UpdateDevOpsProjectPipelineHandler", - "parameters": [ - { - "type": "string", - "description": "DevOps project's ID, e.g. project-RRRRAzLBlLEm", - "name": "devops", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "the name of pipeline, e.g. sample-pipeline", - "name": "pipeline", - "in": "path", - "required": true - }, - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/devops.ProjectPipeline" - } - } - ], - "responses": { - "200": { - "description": "OK" - } - } - }, - "delete": { - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "DevOps Pipeline" - ], - "summary": "Delete the specified pipeline of the DevOps project", - "operationId": "DeleteDevOpsProjectPipelineHandler", - "parameters": [ - { - "type": "string", - "description": "DevOps project's ID, e.g. project-RRRRAzLBlLEm", - "name": "devops", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "the name of pipeline, e.g. sample-pipeline", - "name": "pipeline", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "OK" - } - } } }, "/kapis/devops.kubesphere.io/v1alpha2/devops/{devops}/pipelines/{pipeline}/branches": { "get": { - "consumes": [ - "application/json" - ], "produces": [ "application/json" ], @@ -845,7 +254,7 @@ "DevOps Pipeline" ], "summary": "(MultiBranchesPipeline) Get all branches in the specified pipeline.", - "operationId": "GetPipeBranch", + "operationId": "GetPipelineBranch", "parameters": [ { "type": "string", @@ -891,7 +300,7 @@ "schema": { "type": "array", "items": { - "$ref": "#/definitions/devops.PipeBranch" + "$ref": "#/definitions/devops.PipelineBranch" } } }, @@ -900,7 +309,7 @@ "schema": { "type": "array", "items": { - "$ref": "#/definitions/devops.PipeBranch" + "$ref": "#/definitions/devops.PipelineBranch" } } } @@ -909,16 +318,13 @@ }, "/kapis/devops.kubesphere.io/v1alpha2/devops/{devops}/pipelines/{pipeline}/branches/{branch}": { "get": { - "consumes": [ - "application/json" - ], "produces": [ "application/json" ], "tags": [ "DevOps Pipeline" ], - "summary": "(MultiBranchesPipeline) Get all activities in the specified pipeline.", + "summary": "(MultiBranchesPipeline) Get the specified branch pipeline of the DevOps project", "operationId": "GetBranchPipeline", "parameters": [ { @@ -961,9 +367,6 @@ }, "/kapis/devops.kubesphere.io/v1alpha2/devops/{devops}/pipelines/{pipeline}/branches/{branch}/runs": { "post": { - "consumes": [ - "application/json" - ], "produces": [ "application/json" ], @@ -1007,13 +410,13 @@ "200": { "description": "ok", "schema": { - "$ref": "#/definitions/devops.QueuedBlueRun" + "$ref": "#/definitions/devops.RunPipeline" } }, "default": { "description": "ok", "schema": { - "$ref": "#/definitions/devops.QueuedBlueRun" + "$ref": "#/definitions/devops.RunPipeline" } } } @@ -1021,16 +424,13 @@ }, "/kapis/devops.kubesphere.io/v1alpha2/devops/{devops}/pipelines/{pipeline}/branches/{branch}/runs/{run}": { "get": { - "consumes": [ - "application/json" - ], "produces": [ "application/json" ], "tags": [ "DevOps Pipeline" ], - "summary": "(MultiBranchesPipeline) Get all runs in the specified branch", + "summary": "(MultiBranchesPipeline) Get details in the specified pipeline activity.", "operationId": "GetBranchPipelineRun", "parameters": [ { @@ -1066,13 +466,13 @@ "200": { "description": "ok", "schema": { - "$ref": "#/definitions/devops.BranchPipelineRun" + "$ref": "#/definitions/devops.PipelineRun" } }, "default": { "description": "ok", "schema": { - "$ref": "#/definitions/devops.BranchPipelineRun" + "$ref": "#/definitions/devops.PipelineRun" } } } @@ -1080,9 +480,6 @@ }, "/kapis/devops.kubesphere.io/v1alpha2/devops/{devops}/pipelines/{pipeline}/branches/{branch}/runs/{run}/artifacts": { "get": { - "consumes": [ - "application/json" - ], "produces": [ "application/json" ], @@ -1159,9 +556,6 @@ }, "/kapis/devops.kubesphere.io/v1alpha2/devops/{devops}/pipelines/{pipeline}/branches/{branch}/runs/{run}/log": { "get": { - "consumes": [ - "application/json" - ], "produces": [ "text/plain; charset=utf-8" ], @@ -1217,9 +611,6 @@ }, "/kapis/devops.kubesphere.io/v1alpha2/devops/{devops}/pipelines/{pipeline}/branches/{branch}/runs/{run}/nodes": { "get": { - "consumes": [ - "application/json" - ], "produces": [ "application/json" ], @@ -1227,7 +618,7 @@ "DevOps Pipeline" ], "summary": "(MultiBranchesPipeline) Get run nodes.", - "operationId": "GetPipelineRunNodesbyBranch", + "operationId": "GetBranchPipelineRunNodes", "parameters": [ { "type": "string", @@ -1290,9 +681,6 @@ }, "/kapis/devops.kubesphere.io/v1alpha2/devops/{devops}/pipelines/{pipeline}/branches/{branch}/runs/{run}/nodes/{node}/steps": { "get": { - "consumes": [ - "application/json" - ], "produces": [ "application/json" ], @@ -1362,9 +750,6 @@ }, "/kapis/devops.kubesphere.io/v1alpha2/devops/{devops}/pipelines/{pipeline}/branches/{branch}/runs/{run}/nodes/{node}/steps/{step}": { "post": { - "consumes": [ - "application/json" - ], "produces": [ "text/plain; charset=utf-8" ], @@ -1434,9 +819,6 @@ }, "/kapis/devops.kubesphere.io/v1alpha2/devops/{devops}/pipelines/{pipeline}/branches/{branch}/runs/{run}/nodes/{node}/steps/{step}/log": { "get": { - "consumes": [ - "application/json" - ], "produces": [ "text/plain; charset=utf-8" ], @@ -1506,9 +888,6 @@ }, "/kapis/devops.kubesphere.io/v1alpha2/devops/{devops}/pipelines/{pipeline}/branches/{branch}/runs/{run}/nodesdetail": { "get": { - "consumes": [ - "application/json" - ], "produces": [ "application/json" ], @@ -1571,9 +950,6 @@ }, "/kapis/devops.kubesphere.io/v1alpha2/devops/{devops}/pipelines/{pipeline}/branches/{branch}/runs/{run}/replay": { "post": { - "consumes": [ - "application/json" - ], "produces": [ "application/json" ], @@ -1616,13 +992,13 @@ "200": { "description": "ok", "schema": { - "$ref": "#/definitions/devops.ReplayPipe" + "$ref": "#/definitions/devops.ReplayPipeline" } }, "default": { "description": "ok", "schema": { - "$ref": "#/definitions/devops.ReplayPipe" + "$ref": "#/definitions/devops.ReplayPipeline" } } } @@ -1630,9 +1006,6 @@ }, "/kapis/devops.kubesphere.io/v1alpha2/devops/{devops}/pipelines/{pipeline}/branches/{branch}/runs/{run}/stop": { "post": { - "consumes": [ - "application/json" - ], "produces": [ "application/json" ], @@ -1691,71 +1064,13 @@ "200": { "description": "ok", "schema": { - "$ref": "#/definitions/devops.StopPipe" + "$ref": "#/definitions/devops.StopPipeline" } }, "default": { "description": "ok", "schema": { - "$ref": "#/definitions/devops.StopPipe" - } - } - } - } - }, - "/kapis/devops.kubesphere.io/v1alpha2/devops/{devops}/pipelines/{pipeline}/branches/{branch}/sonarstatus": { - "get": { - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "DevOps Pipeline" - ], - "summary": "Get the sonar quality check information for the specified pipeline branch of the DevOps project. More info: https://docs.sonarqube.org/7.4/user-guide/metric-definitions/", - "operationId": "GetMultiBranchesPipelineSonarStatusHandler", - "parameters": [ - { - "type": "string", - "description": "DevOps project's ID, e.g. project-RRRRAzLBlLEm", - "name": "devops", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "the name of pipeline, e.g. sample-pipeline", - "name": "pipeline", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "branch name, e.g. master", - "name": "branch", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "ok", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/devops.SonarStatus" - } - } - }, - "default": { - "description": "ok", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/devops.SonarStatus" - } + "$ref": "#/definitions/devops.StopPipeline" } } } @@ -1789,7 +1104,8 @@ "format": "pipeline=%s", "description": "the name of the CI/CD pipeline", "name": "pipeline", - "in": "query" + "in": "path", + "required": true }, { "name": "body", @@ -1816,56 +1132,8 @@ } } }, - "/kapis/devops.kubesphere.io/v1alpha2/devops/{devops}/pipelines/{pipeline}/config": { - "get": { - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "DevOps Pipeline" - ], - "summary": "Get the configuration information of the specified pipeline of the DevOps Project", - "operationId": "GetDevOpsProjectPipelineHandler", - "parameters": [ - { - "type": "string", - "description": "DevOps project's ID, e.g. project-RRRRAzLBlLEm", - "name": "devops", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "the name of pipeline, e.g. sample-pipeline", - "name": "pipeline", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "ok", - "schema": { - "$ref": "#/definitions/devops.ProjectPipeline" - } - }, - "default": { - "description": "ok", - "schema": { - "$ref": "#/definitions/devops.ProjectPipeline" - } - } - } - } - }, "/kapis/devops.kubesphere.io/v1alpha2/devops/{devops}/pipelines/{pipeline}/consolelog": { "get": { - "consumes": [ - "application/json" - ], "produces": [ "text/plain; charset=utf-8" ], @@ -1899,9 +1167,6 @@ }, "/kapis/devops.kubesphere.io/v1alpha2/devops/{devops}/pipelines/{pipeline}/runs": { "get": { - "consumes": [ - "application/json" - ], "produces": [ "application/json" ], @@ -1909,7 +1174,7 @@ "DevOps Pipeline" ], "summary": "Get all runs of the specified pipeline", - "operationId": "SearchPipelineRuns", + "operationId": "ListPipelineRuns", "parameters": [ { "type": "string", @@ -1951,21 +1216,18 @@ "200": { "description": "ok", "schema": { - "$ref": "#/definitions/devops.BranchPipelineRuns" + "$ref": "#/definitions/devops.PipelineRunList" } }, "default": { "description": "ok", "schema": { - "$ref": "#/definitions/devops.BranchPipelineRuns" + "$ref": "#/definitions/devops.PipelineRunList" } } } }, "post": { - "consumes": [ - "application/json" - ], "produces": [ "application/json" ], @@ -2002,13 +1264,13 @@ "200": { "description": "ok", "schema": { - "$ref": "#/definitions/devops.QueuedBlueRun" + "$ref": "#/definitions/devops.RunPipeline" } }, "default": { "description": "ok", "schema": { - "$ref": "#/definitions/devops.QueuedBlueRun" + "$ref": "#/definitions/devops.RunPipeline" } } } @@ -2016,16 +1278,13 @@ }, "/kapis/devops.kubesphere.io/v1alpha2/devops/{devops}/pipelines/{pipeline}/runs/{run}": { "get": { - "consumes": [ - "application/json" - ], "produces": [ "application/json" ], "tags": [ "DevOps Pipeline" ], - "summary": "Get all activities in the specified pipeline.", + "summary": "Get details in the specified pipeline activity.", "operationId": "GetPipelineRun", "parameters": [ { @@ -2068,9 +1327,6 @@ }, "/kapis/devops.kubesphere.io/v1alpha2/devops/{devops}/pipelines/{pipeline}/runs/{run}/artifacts": { "get": { - "consumes": [ - "application/json" - ], "produces": [ "application/json" ], @@ -2140,9 +1396,6 @@ }, "/kapis/devops.kubesphere.io/v1alpha2/devops/{devops}/pipelines/{pipeline}/runs/{run}/log": { "get": { - "consumes": [ - "application/json" - ], "produces": [ "text/plain; charset=utf-8" ], @@ -2191,9 +1444,6 @@ }, "/kapis/devops.kubesphere.io/v1alpha2/devops/{devops}/pipelines/{pipeline}/runs/{run}/nodes": { "get": { - "consumes": [ - "application/json" - ], "produces": [ "application/json" ], @@ -2249,9 +1499,6 @@ }, "/kapis/devops.kubesphere.io/v1alpha2/devops/{devops}/pipelines/{pipeline}/runs/{run}/nodes/{node}/steps": { "get": { - "consumes": [ - "application/json" - ], "produces": [ "application/json" ], @@ -2314,9 +1561,6 @@ }, "/kapis/devops.kubesphere.io/v1alpha2/devops/{devops}/pipelines/{pipeline}/runs/{run}/nodes/{node}/steps/{step}": { "post": { - "consumes": [ - "application/json" - ], "produces": [ "text/plain; charset=utf-8" ], @@ -2379,9 +1623,6 @@ }, "/kapis/devops.kubesphere.io/v1alpha2/devops/{devops}/pipelines/{pipeline}/runs/{run}/nodes/{node}/steps/{step}/log": { "get": { - "consumes": [ - "application/json" - ], "produces": [ "text/plain; charset=utf-8" ], @@ -2444,9 +1685,6 @@ }, "/kapis/devops.kubesphere.io/v1alpha2/devops/{devops}/pipelines/{pipeline}/runs/{run}/nodesdetail": { "get": { - "consumes": [ - "application/json" - ], "produces": [ "application/json" ], @@ -2470,13 +1708,6 @@ "in": "path", "required": true }, - { - "type": "string", - "description": "the name of branch, same as repository branch.", - "name": "branch", - "in": "path", - "required": true - }, { "type": "string", "description": "pipeline run ID, the unique ID for a pipeline once build.", @@ -2509,9 +1740,6 @@ }, "/kapis/devops.kubesphere.io/v1alpha2/devops/{devops}/pipelines/{pipeline}/runs/{run}/replay": { "post": { - "consumes": [ - "application/json" - ], "produces": [ "application/json" ], @@ -2547,13 +1775,13 @@ "200": { "description": "ok", "schema": { - "$ref": "#/definitions/devops.ReplayPipe" + "$ref": "#/definitions/devops.ReplayPipeline" } }, "default": { "description": "ok", "schema": { - "$ref": "#/definitions/devops.ReplayPipe" + "$ref": "#/definitions/devops.ReplayPipeline" } } } @@ -2561,9 +1789,6 @@ }, "/kapis/devops.kubesphere.io/v1alpha2/devops/{devops}/pipelines/{pipeline}/runs/{run}/stop": { "post": { - "consumes": [ - "application/json" - ], "produces": [ "application/json" ], @@ -2615,13 +1840,13 @@ "200": { "description": "ok", "schema": { - "$ref": "#/definitions/devops.StopPipe" + "$ref": "#/definitions/devops.StopPipeline" } }, "default": { "description": "ok", "schema": { - "$ref": "#/definitions/devops.StopPipe" + "$ref": "#/definitions/devops.StopPipeline" } } } @@ -2629,9 +1854,6 @@ }, "/kapis/devops.kubesphere.io/v1alpha2/devops/{devops}/pipelines/{pipeline}/scan": { "post": { - "consumes": [ - "application/json" - ], "produces": [ "text/html; charset=utf-8" ], @@ -2670,140 +1892,18 @@ } } }, - "/kapis/devops.kubesphere.io/v1alpha2/devops/{devops}/pipelines/{pipeline}/sonarstatus": { + "/kapis/devops.kubesphere.io/v1alpha2/jenkins/{path}": { "get": { - "consumes": [ - "application/json" - ], "produces": [ "application/json" ], - "tags": [ - "DevOps Pipeline" - ], - "summary": "Get the sonar quality information for the specified pipeline of the DevOps project. More info: https://docs.sonarqube.org/7.4/user-guide/metric-definitions/", - "operationId": "GetPipelineSonarStatusHandler", + "operationId": "func1", "parameters": [ { + "pattern": "*", "type": "string", - "description": "DevOps project's ID, e.g. project-RRRRAzLBlLEm", - "name": "devops", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "the name of pipeline, e.g. sample-pipeline", - "name": "pipeline", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "ok", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/devops.SonarStatus" - } - } - }, - "default": { - "description": "ok", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/devops.SonarStatus" - } - } - } - } - } - }, - "/kapis/devops.kubesphere.io/v1alpha2/namespaces/{namespace}/s2ibinaries/{s2ibinary}/file": { - "put": { - "consumes": [ - "multipart/form-data" - ], - "produces": [ - "application/json" - ], - "summary": "Upload S2iBinary file", - "operationId": "UploadS2iBinary", - "parameters": [ - { - "type": "string", - "description": "the name of namespaces", - "name": "namespace", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "the name of s2ibinary", - "name": "s2ibinary", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "file to upload", - "name": "s2ibinary", - "in": "formData" - }, - { - "type": "string", - "description": "md5 of file", - "name": "md5", - "in": "formData" - } - ], - "responses": { - "200": { - "description": "ok", - "schema": { - "$ref": "#/definitions/v1alpha1.S2iBinary" - } - }, - "default": { - "description": "ok", - "schema": { - "$ref": "#/definitions/v1alpha1.S2iBinary" - } - } - } - } - }, - "/kapis/devops.kubesphere.io/v1alpha2/namespaces/{namespace}/s2ibinaries/{s2ibinary}/file/{file}": { - "get": { - "consumes": [ - "application/json" - ], - "produces": [ - "application/octet-stream" - ], - "summary": "Download S2iBinary file", - "operationId": "DownloadS2iBinary", - "parameters": [ - { - "type": "string", - "description": "the name of namespaces", - "name": "namespace", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "the name of s2ibinary", - "name": "s2ibinary", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "the name of binary file", - "name": "file", + "description": "Path stands for any suffix path.", + "name": "path", "in": "path", "required": true } @@ -2820,9 +1920,6 @@ }, "/kapis/devops.kubesphere.io/v1alpha2/scms/{scm}/organizations": { "get": { - "consumes": [ - "application/json" - ], "produces": [ "application/json" ], @@ -2872,9 +1969,6 @@ }, "/kapis/devops.kubesphere.io/v1alpha2/scms/{scm}/organizations/{organization}/repositories": { "get": { - "consumes": [ - "application/json" - ], "produces": [ "application/json" ], @@ -2927,19 +2021,13 @@ "200": { "description": "ok", "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/devops.OrgRepo" - } + "$ref": "#/definitions/devops.OrgRepo" } }, "default": { "description": "ok", "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/devops.OrgRepo" - } + "$ref": "#/definitions/devops.OrgRepo" } } } @@ -2947,9 +2035,6 @@ }, "/kapis/devops.kubesphere.io/v1alpha2/scms/{scm}/servers": { "get": { - "consumes": [ - "application/json" - ], "produces": [ "application/json" ], @@ -2989,9 +2074,6 @@ } }, "post": { - "consumes": [ - "application/json" - ], "produces": [ "application/json" ], @@ -3035,9 +2117,6 @@ }, "/kapis/devops.kubesphere.io/v1alpha2/scms/{scm}/verify": { "post": { - "consumes": [ - "application/json" - ], "produces": [ "application/json" ], @@ -3073,9 +2152,6 @@ }, "/kapis/devops.kubesphere.io/v1alpha2/search": { "get": { - "consumes": [ - "application/json" - ], "produces": [ "application/json" ], @@ -3083,7 +2159,7 @@ "DevOps Pipeline" ], "summary": "Search DevOps resource. More info: https://github.com/jenkinsci/blueocean-plugin/tree/master/blueocean-rest#get-pipelines-across-organization", - "operationId": "SearchPipelines", + "operationId": "ListPipelines", "parameters": [ { "type": "string", @@ -3119,13 +2195,13 @@ "200": { "description": "ok", "schema": { - "$ref": "#/definitions/devops.BranchPipelineRuns" + "$ref": "#/definitions/devops.PipelineList" } }, "default": { "description": "ok", "schema": { - "$ref": "#/definitions/devops.BranchPipelineRuns" + "$ref": "#/definitions/devops.PipelineList" } } } @@ -3213,9 +2289,6 @@ }, "/kapis/devops.kubesphere.io/v1alpha2/webhook/git": { "get": { - "consumes": [ - "application/json" - ], "produces": [ "text/plain; charset=utf-8" ], @@ -3290,26 +2363,741 @@ } } }, - "/kapis/iam.kubesphere.io/v1alpha2/authenticate": { - "post": { - "consumes": [ - "application/json" - ], + "/kapis/devops.kubesphere.io/v1alpha3/devops/{devops}/credentials": { + "get": { "produces": [ "application/json" ], "tags": [ - "Identity Management" + "DevOps Project" ], - "summary": "TokenReview attempts to authenticate a token to a known user. Note: TokenReview requests may be cached by the webhook token authenticator plugin in the kube-apiserver.", - "operationId": "TokenReviewHandler", + "summary": "list the credentials of the specified devops for the current user", + "operationId": "ListCredential", + "parameters": [ + { + "type": "string", + "description": "devops name", + "name": "devops", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name used to do filtering", + "name": "name", + "in": "query" + }, + { + "type": "string", + "format": "page=%d", + "default": "page=1", + "description": "page", + "name": "page", + "in": "query" + }, + { + "type": "string", + "description": "limit", + "name": "limit", + "in": "query" + }, + { + "type": "string", + "default": "ascending=false", + "description": "sort parameters, e.g. ascending=false", + "name": "ascending", + "in": "query" + }, + { + "type": "string", + "description": "sort parameters, e.g. orderBy=createTime", + "name": "sortBy", + "in": "query" + } + ], + "responses": { + "200": { + "description": "ok", + "schema": { + "$ref": "#/definitions/api.ListResult" + } + }, + "default": { + "description": "ok", + "schema": { + "$ref": "#/definitions/api.ListResult" + } + } + } + }, + "post": { + "produces": [ + "application/json" + ], + "tags": [ + "DevOps Project" + ], + "summary": "create the credential of the specified devops for the current user", + "operationId": "CreateCredential", + "parameters": [ + { + "type": "string", + "description": "devops name", + "name": "devops", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "ok", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/v1alpha3.Pipeline" + } + } + }, + "default": { + "description": "ok", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/v1alpha3.Pipeline" + } + } + } + } + } + }, + "/kapis/devops.kubesphere.io/v1alpha3/devops/{devops}/credentials/{credential}": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "DevOps Project" + ], + "summary": "get the credential of the specified devops for the current user", + "operationId": "GetCredential", + "parameters": [ + { + "type": "string", + "description": "project name", + "name": "devops", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "pipeline name", + "name": "credential", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "ok", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/v1.Secret" + } + } + }, + "default": { + "description": "ok", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/v1.Secret" + } + } + } + } + }, + "put": { + "produces": [ + "application/json" + ], + "tags": [ + "DevOps Project" + ], + "summary": "put the credential of the specified devops for the current user", + "operationId": "UpdateCredential", + "parameters": [ + { + "type": "string", + "description": "project name", + "name": "devops", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "credential name", + "name": "credential", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "ok", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/v1.Secret" + } + } + }, + "default": { + "description": "ok", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/v1.Secret" + } + } + } + } + }, + "delete": { + "produces": [ + "application/json" + ], + "tags": [ + "DevOps Pipeline" + ], + "summary": "delete the credential of the specified devops for the current user", + "operationId": "DeleteCredential", + "parameters": [ + { + "type": "string", + "description": "project name", + "name": "devops", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "credential name", + "name": "credential", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "ok", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/v1.Secret" + } + } + }, + "default": { + "description": "ok", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/v1.Secret" + } + } + } + } + } + }, + "/kapis/devops.kubesphere.io/v1alpha3/devops/{devops}/pipelines": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "DevOps Project" + ], + "summary": "list the pipelines of the specified devops for the current user", + "operationId": "ListPipeline", + "parameters": [ + { + "type": "string", + "description": "devops name", + "name": "devops", + "in": "path", + "required": true + }, + { + "type": "string", + "format": "limit=%d,page=%d", + "default": "limit=10,page=1", + "description": "paging query, e.g. limit=100,page=1", + "name": "paging", + "in": "query" + } + ], + "responses": { + "200": { + "description": "ok", + "schema": { + "$ref": "#/definitions/api.ListResult" + } + }, + "default": { + "description": "ok", + "schema": { + "$ref": "#/definitions/api.ListResult" + } + } + } + }, + "post": { + "produces": [ + "application/json" + ], + "tags": [ + "DevOps Project" + ], + "summary": "create the pipeline of the specified devops for the current user", + "operationId": "CreatePipeline", + "parameters": [ + { + "type": "string", + "description": "devops name", + "name": "devops", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "ok", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/v1alpha3.Pipeline" + } + } + }, + "default": { + "description": "ok", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/v1alpha3.Pipeline" + } + } + } + } + } + }, + "/kapis/devops.kubesphere.io/v1alpha3/devops/{devops}/pipelines/{pipeline}": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "DevOps Project" + ], + "summary": "get the pipeline of the specified devops for the current user", + "operationId": "getPipelineByName", + "parameters": [ + { + "type": "string", + "description": "project name", + "name": "devops", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "pipeline name", + "name": "pipeline", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "ok", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/v1alpha3.Pipeline" + } + } + }, + "default": { + "description": "ok", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/v1alpha3.Pipeline" + } + } + } + } + }, + "put": { + "produces": [ + "application/json" + ], + "tags": [ + "DevOps Project" + ], + "summary": "put the pipeline of the specified devops for the current user", + "operationId": "UpdatePipeline", + "parameters": [ + { + "type": "string", + "description": "project name", + "name": "devops", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "pipeline name", + "name": "pipeline", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "ok", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/v1alpha3.Pipeline" + } + } + }, + "default": { + "description": "ok", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/v1alpha3.Pipeline" + } + } + } + } + }, + "delete": { + "produces": [ + "application/json" + ], + "tags": [ + "DevOps Pipeline" + ], + "summary": "delete the pipeline of the specified devops for the current user", + "operationId": "DeletePipeline", + "parameters": [ + { + "type": "string", + "description": "project name", + "name": "devops", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "pipeline name", + "name": "pipeline", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "ok", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/v1alpha3.Pipeline" + } + } + }, + "default": { + "description": "ok", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/v1alpha3.Pipeline" + } + } + } + } + } + }, + "/kapis/devops.kubesphere.io/v1alpha3/workspaces/{workspace}/devops": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "DevOps Project" + ], + "summary": "List the devopsproject of the specified workspace for the current user", + "operationId": "ListDevOpsProject", + "parameters": [ + { + "type": "string", + "description": "workspace name", + "name": "workspace", + "in": "path", + "required": true + }, + { + "type": "string", + "format": "limit=%d,page=%d", + "default": "limit=10,page=1", + "description": "paging query, e.g. limit=100,page=1", + "name": "paging", + "in": "query" + } + ], + "responses": { + "200": { + "description": "ok", + "schema": { + "$ref": "#/definitions/api.ListResult" + } + }, + "default": { + "description": "ok", + "schema": { + "$ref": "#/definitions/api.ListResult" + } + } + } + }, + "post": { + "produces": [ + "application/json" + ], + "tags": [ + "DevOps Project" + ], + "summary": "Create the devopsproject of the specified workspace for the current user", + "operationId": "CreateDevOpsProject", + "parameters": [ + { + "type": "string", + "description": "workspace name", + "name": "workspace", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "ok", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/v1alpha3.DevOpsProject" + } + } + }, + "default": { + "description": "ok", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/v1alpha3.DevOpsProject" + } + } + } + } + } + }, + "/kapis/devops.kubesphere.io/v1alpha3/workspaces/{workspace}/devops/{devops}": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "DevOps Project" + ], + "summary": "Get the devopsproject of the specified workspace for the current user", + "operationId": "GetDevOpsProject", + "parameters": [ + { + "type": "string", + "description": "workspace name", + "name": "workspace", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "project name", + "name": "devops", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "ok", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/v1alpha3.DevOpsProject" + } + } + }, + "default": { + "description": "ok", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/v1alpha3.DevOpsProject" + } + } + } + } + }, + "put": { + "produces": [ + "application/json" + ], + "tags": [ + "DevOps Project" + ], + "summary": "Put the devopsproject of the specified workspace for the current user", + "operationId": "UpdateDevOpsProject", + "parameters": [ + { + "type": "string", + "description": "workspace name", + "name": "workspace", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "project name", + "name": "devops", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "ok", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/v1alpha3.DevOpsProject" + } + } + }, + "default": { + "description": "ok", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/v1alpha3.DevOpsProject" + } + } + } + } + }, + "delete": { + "produces": [ + "application/json" + ], + "tags": [ + "DevOps Project" + ], + "summary": "Get the devopsproject of the specified workspace for the current user", + "operationId": "DeleteDevOpsProject", + "parameters": [ + { + "type": "string", + "description": "workspace name", + "name": "workspace", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "project name", + "name": "devops", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "ok", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/v1alpha3.DevOpsProject" + } + } + }, + "default": { + "description": "ok", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/v1alpha3.DevOpsProject" + } + } + } + } + } + }, + "/kapis/iam.kubesphere.io/v1alpha2/clustermembers": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "Access Management" + ], + "summary": "List all members in cluster.", + "operationId": "ListClusterMembers", + "responses": { + "200": { + "description": "ok", + "schema": { + "$ref": "#/definitions/api.ListResult" + } + }, + "default": { + "description": "ok", + "schema": { + "$ref": "#/definitions/api.ListResult" + } + } + } + }, + "post": { + "produces": [ + "application/json" + ], + "tags": [ + "Access Management" + ], + "summary": "Add user to current cluster.", + "operationId": "CreateClusterMembers", "parameters": [ { "name": "body", "in": "body", "required": true, "schema": { - "$ref": "#/definitions/iam.TokenReview" + "type": "array", + "items": { + "$ref": "#/definitions/v1alpha2.Member" + } } } ], @@ -3317,13 +3105,163 @@ "200": { "description": "ok", "schema": { - "$ref": "#/definitions/iam.TokenReview" + "type": "array", + "items": { + "$ref": "#/definitions/v1alpha2.Member" + } } }, "default": { "description": "ok", "schema": { - "$ref": "#/definitions/iam.TokenReview" + "type": "array", + "items": { + "$ref": "#/definitions/v1alpha2.Member" + } + } + } + } + } + }, + "/kapis/iam.kubesphere.io/v1alpha2/clustermembers/{clustermember}": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "Access Management" + ], + "summary": "Retrieve member details in cluster.", + "operationId": "DescribeClusterMember", + "parameters": [ + { + "type": "string", + "description": "cluster member's username", + "name": "clustermember", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "ok", + "schema": { + "$ref": "#/definitions/v1alpha2.User" + } + }, + "default": { + "description": "ok", + "schema": { + "$ref": "#/definitions/v1alpha2.User" + } + } + } + }, + "put": { + "produces": [ + "application/json" + ], + "tags": [ + "Access Management" + ], + "summary": "Update cluster member role bind.", + "operationId": "UpdateClusterMember", + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/v1alpha2.Member" + } + }, + { + "type": "string", + "description": "cluster member's username", + "name": "clustermember", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "ok", + "schema": { + "$ref": "#/definitions/v1alpha2.Member" + } + }, + "default": { + "description": "ok", + "schema": { + "$ref": "#/definitions/v1alpha2.Member" + } + } + } + }, + "delete": { + "produces": [ + "application/json" + ], + "tags": [ + "Access Management" + ], + "summary": "Delete member in cluster scope.", + "operationId": "RemoveClusterMember", + "parameters": [ + { + "type": "string", + "description": "cluster member's username", + "name": "clustermember", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "ok", + "schema": { + "$ref": "#/definitions/errors.Error" + } + }, + "default": { + "description": "ok", + "schema": { + "$ref": "#/definitions/errors.Error" + } + } + } + } + }, + "/kapis/iam.kubesphere.io/v1alpha2/clustermembers/{clustermember}/clusterroles": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "Access Management" + ], + "summary": "Retrieve user's role templates in cluster.", + "operationId": "RetrieveMemberRoleTemplates", + "parameters": [ + { + "type": "string", + "description": "cluster member's username", + "name": "clustermember", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "ok", + "schema": { + "$ref": "#/definitions/api.ListResult" + } + }, + "default": { + "description": "ok", + "schema": { + "$ref": "#/definitions/api.ListResult" } } } @@ -3331,9 +3269,6 @@ }, "/kapis/iam.kubesphere.io/v1alpha2/clusterroles": { "get": { - "consumes": [ - "application/json" - ], "produces": [ "application/json" ], @@ -3346,31 +3281,62 @@ "200": { "description": "ok", "schema": { - "$ref": "#/definitions/v1alpha2.ClusterRoleList" + "$ref": "#/definitions/api.ListResult" } }, "default": { "description": "ok", "schema": { - "$ref": "#/definitions/v1alpha2.ClusterRoleList" + "$ref": "#/definitions/api.ListResult" } } } - } - }, - "/kapis/iam.kubesphere.io/v1alpha2/clusterroles/{clusterrole}/rules": { - "get": { - "consumes": [ - "application/json" - ], + }, + "post": { "produces": [ "application/json" ], "tags": [ "Access Management" ], - "summary": "List all policy rules of the specified cluster role.", - "operationId": "ListClusterRoleRules", + "summary": "Create cluster role. Automatically aggregate policy rules according to annotation.", + "operationId": "CreateClusterRole", + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/v1.ClusterRole" + } + } + ], + "responses": { + "200": { + "description": "ok", + "schema": { + "$ref": "#/definitions/v1.ClusterRole" + } + }, + "default": { + "description": "ok", + "schema": { + "$ref": "#/definitions/v1.ClusterRole" + } + } + } + } + }, + "/kapis/iam.kubesphere.io/v1alpha2/clusterroles/{clusterrole}": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "Access Management" + ], + "summary": "Retrieve cluster role details.", + "operationId": "DescribeClusterRole", "parameters": [ { "type": "string", @@ -3384,37 +3350,67 @@ "200": { "description": "ok", "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/models.SimpleRule" - } + "$ref": "#/definitions/v1.ClusterRole" } }, "default": { "description": "ok", "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/models.SimpleRule" - } + "$ref": "#/definitions/v1.ClusterRole" } } } - } - }, - "/kapis/iam.kubesphere.io/v1alpha2/clusterroles/{clusterrole}/users": { - "get": { - "consumes": [ - "application/json" - ], + }, + "put": { "produces": [ "application/json" ], "tags": [ "Access Management" ], - "summary": "List all users that are bound to the specified cluster role.", - "operationId": "ListClusterRoleUsers", + "summary": "Update cluster role. Automatically aggregate policy rules according to annotation.", + "operationId": "UpdateClusterRole", + "parameters": [ + { + "type": "string", + "description": "cluster role name", + "name": "clusterrole", + "in": "path", + "required": true + }, + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/v1.ClusterRole" + } + } + ], + "responses": { + "200": { + "description": "ok", + "schema": { + "$ref": "#/definitions/v1.ClusterRole" + } + }, + "default": { + "description": "ok", + "schema": { + "$ref": "#/definitions/v1.ClusterRole" + } + } + } + }, + "delete": { + "produces": [ + "application/json" + ], + "tags": [ + "Access Management" + ], + "summary": "Delete cluster role.", + "operationId": "DeleteClusterRole", "parameters": [ { "type": "string", @@ -3428,42 +3424,413 @@ "200": { "description": "ok", "schema": { - "$ref": "#/definitions/v1alpha2.UserList" + "$ref": "#/definitions/errors.Error" } }, "default": { "description": "ok", "schema": { - "$ref": "#/definitions/v1alpha2.UserList" + "$ref": "#/definitions/errors.Error" } } } - } - }, - "/kapis/iam.kubesphere.io/v1alpha2/devops/{devops}/roles/{role}/rules": { - "get": { - "consumes": [ - "application/json" - ], + }, + "patch": { "produces": [ "application/json" ], "tags": [ "Access Management" ], - "summary": "List all policy rules of the specified role in the given devops project.", - "operationId": "ListDevopsRoleRules", + "summary": "Patch cluster role. Automatically aggregate policy rules according to annotation.", + "operationId": "PatchClusterRole", "parameters": [ { "type": "string", - "description": "devops project ID", + "description": "cluster role name", + "name": "clusterrole", + "in": "path", + "required": true + }, + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/v1.ClusterRole" + } + } + ], + "responses": { + "200": { + "description": "ok", + "schema": { + "$ref": "#/definitions/v1.ClusterRole" + } + }, + "default": { + "description": "ok", + "schema": { + "$ref": "#/definitions/v1.ClusterRole" + } + } + } + } + }, + "/kapis/iam.kubesphere.io/v1alpha2/devops/{devops}/members": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "Access Management" + ], + "summary": "List all members in the specified devops project.", + "operationId": "ListNamespaceMembers", + "parameters": [ + { + "type": "string", + "description": "devops project name", + "name": "devops", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "ok", + "schema": { + "$ref": "#/definitions/api.ListResult" + } + }, + "default": { + "description": "ok", + "schema": { + "$ref": "#/definitions/api.ListResult" + } + } + } + }, + "post": { + "produces": [ + "application/json" + ], + "tags": [ + "Access Management" + ], + "summary": "Batch add devops project members.", + "operationId": "CreateNamespaceMembers", + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/v1alpha2.Member" + } + } + }, + { + "type": "string", + "description": "devops project name", + "name": "devops", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "ok", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/v1alpha2.Member" + } + } + }, + "default": { + "description": "ok", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/v1alpha2.Member" + } + } + } + } + } + }, + "/kapis/iam.kubesphere.io/v1alpha2/devops/{devops}/members/{member}": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "Access Management" + ], + "summary": "Retrieve devops project member details.", + "operationId": "DescribeNamespaceMember", + "parameters": [ + { + "type": "string", + "description": "devops project name", "name": "devops", "in": "path", "required": true }, { "type": "string", - "description": "devops role name", + "description": "devops project member's username", + "name": "member", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "ok", + "schema": { + "$ref": "#/definitions/v1alpha2.User" + } + }, + "default": { + "description": "ok", + "schema": { + "$ref": "#/definitions/v1alpha2.User" + } + } + } + }, + "put": { + "produces": [ + "application/json" + ], + "tags": [ + "Access Management" + ], + "summary": "Update member in devops project.", + "operationId": "UpdateNamespaceMember", + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/v1alpha2.Member" + } + }, + { + "type": "string", + "description": "devops project name", + "name": "devops", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "devops project member's username", + "name": "member", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "ok", + "schema": { + "$ref": "#/definitions/v1alpha2.Member" + } + }, + "default": { + "description": "ok", + "schema": { + "$ref": "#/definitions/v1alpha2.Member" + } + } + } + }, + "delete": { + "produces": [ + "application/json" + ], + "tags": [ + "Access Management" + ], + "summary": "Remove member in namespace.", + "operationId": "RemoveNamespaceMember", + "parameters": [ + { + "type": "string", + "description": "devops project name", + "name": "devops", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "devops project member's username", + "name": "member", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "ok", + "schema": { + "$ref": "#/definitions/errors.Error" + } + }, + "default": { + "description": "ok", + "schema": { + "$ref": "#/definitions/errors.Error" + } + } + } + } + }, + "/kapis/iam.kubesphere.io/v1alpha2/devops/{devops}/members/{member}/roles": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "Access Management" + ], + "summary": "Retrieve member's role templates in devops project.", + "operationId": "RetrieveMemberRoleTemplates", + "parameters": [ + { + "type": "string", + "description": "devops project name", + "name": "devops", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "devops project member's username", + "name": "member", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "ok", + "schema": { + "$ref": "#/definitions/api.ListResult" + } + }, + "default": { + "description": "ok", + "schema": { + "$ref": "#/definitions/api.ListResult" + } + } + } + } + }, + "/kapis/iam.kubesphere.io/v1alpha2/devops/{devops}/roles": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "Access Management" + ], + "summary": "List all roles in the specified devops project.", + "operationId": "ListRoles", + "parameters": [ + { + "type": "string", + "description": "devops project name", + "name": "devops", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "ok", + "schema": { + "$ref": "#/definitions/api.ListResult" + } + }, + "default": { + "description": "ok", + "schema": { + "$ref": "#/definitions/api.ListResult" + } + } + } + }, + "post": { + "produces": [ + "application/json" + ], + "tags": [ + "Access Management" + ], + "summary": "Create role in the specified devops project. Automatically aggregate policy rules according to annotation.", + "operationId": "CreateNamespaceRole", + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/v1.Role" + } + }, + { + "type": "string", + "description": "devops project name", + "name": "devops", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "ok", + "schema": { + "$ref": "#/definitions/v1.Role" + } + }, + "default": { + "description": "ok", + "schema": { + "$ref": "#/definitions/v1.Role" + } + } + } + } + }, + "/kapis/iam.kubesphere.io/v1alpha2/devops/{devops}/roles/{role}": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "Access Management" + ], + "summary": "Retrieve devops project role details.", + "operationId": "DescribeNamespaceRole", + "parameters": [ + { + "type": "string", + "description": "devops project name", + "name": "devops", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "role name", "name": "role", "in": "path", "required": true @@ -3473,44 +3840,47 @@ "200": { "description": "ok", "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/models.SimpleRule" - } + "$ref": "#/definitions/v1.Role" } }, "default": { "description": "ok", "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/models.SimpleRule" - } + "$ref": "#/definitions/v1.Role" } } } - } - }, - "/kapis/iam.kubesphere.io/v1alpha2/login": { - "post": { - "consumes": [ - "application/json" - ], + }, + "put": { "produces": [ "application/json" ], "tags": [ - "Identity Management" + "Access Management" ], - "summary": "KubeSphere APIs support token-based authentication via the Authtoken request header. The POST Login API is used to retrieve the authentication token. After the authentication token is obtained, it must be inserted into the Authtoken header for all requests.", - "operationId": "Login", + "summary": "Update devops project role. Automatically aggregate policy rules according to annotation.", + "operationId": "UpdateNamespaceRole", "parameters": [ + { + "type": "string", + "description": "devops project name", + "name": "devops", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "role name", + "name": "role", + "in": "path", + "required": true + }, { "name": "body", "in": "body", "required": true, "schema": { - "$ref": "#/definitions/iam.LoginRequest" + "$ref": "#/definitions/v1.Role" } } ], @@ -3518,13 +3888,568 @@ "200": { "description": "ok", "schema": { - "$ref": "#/definitions/models.AuthGrantResponse" + "$ref": "#/definitions/v1.Role" } }, "default": { "description": "ok", "schema": { - "$ref": "#/definitions/models.AuthGrantResponse" + "$ref": "#/definitions/v1.Role" + } + } + } + }, + "delete": { + "produces": [ + "application/json" + ], + "tags": [ + "Access Management" + ], + "summary": "Delete role in the specified devops project.", + "operationId": "DeleteNamespaceRole", + "parameters": [ + { + "type": "string", + "description": "devops project name", + "name": "devops", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "role name", + "name": "role", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "ok", + "schema": { + "$ref": "#/definitions/errors.Error" + } + }, + "default": { + "description": "ok", + "schema": { + "$ref": "#/definitions/errors.Error" + } + } + } + }, + "patch": { + "produces": [ + "application/json" + ], + "tags": [ + "Access Management" + ], + "summary": "Patch devops project role. Automatically aggregate policy rules according to annotation.", + "operationId": "PatchNamespaceRole", + "parameters": [ + { + "type": "string", + "description": "devops project name", + "name": "devops", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "role name", + "name": "role", + "in": "path", + "required": true + }, + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/v1.Role" + } + } + ], + "responses": { + "200": { + "description": "ok", + "schema": { + "$ref": "#/definitions/v1.Role" + } + }, + "default": { + "description": "ok", + "schema": { + "$ref": "#/definitions/v1.Role" + } + } + } + } + }, + "/kapis/iam.kubesphere.io/v1alpha2/globalroles": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "Access Management" + ], + "summary": "List all global roles.", + "operationId": "ListGlobalRoles", + "responses": { + "200": { + "description": "ok", + "schema": { + "$ref": "#/definitions/api.ListResult" + } + }, + "default": { + "description": "ok", + "schema": { + "$ref": "#/definitions/api.ListResult" + } + } + } + }, + "post": { + "produces": [ + "application/json" + ], + "tags": [ + "Access Management" + ], + "summary": "Create global role. Automatically aggregate policy rules according to annotation.", + "operationId": "CreateGlobalRole", + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/v1alpha2.GlobalRole" + } + } + ], + "responses": { + "200": { + "description": "ok", + "schema": { + "$ref": "#/definitions/v1alpha2.GlobalRole" + } + }, + "default": { + "description": "ok", + "schema": { + "$ref": "#/definitions/v1alpha2.GlobalRole" + } + } + } + } + }, + "/kapis/iam.kubesphere.io/v1alpha2/globalroles/{globalrole}": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "Access Management" + ], + "summary": "Retrieve global role details.", + "operationId": "DescribeGlobalRole", + "parameters": [ + { + "type": "string", + "description": "global role name", + "name": "globalrole", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "ok", + "schema": { + "$ref": "#/definitions/v1alpha2.GlobalRole" + } + }, + "default": { + "description": "ok", + "schema": { + "$ref": "#/definitions/v1alpha2.GlobalRole" + } + } + } + }, + "put": { + "produces": [ + "application/json" + ], + "tags": [ + "Access Management" + ], + "summary": "Update global role. Automatically aggregate policy rules according to annotation.", + "operationId": "UpdateGlobalRole", + "parameters": [ + { + "type": "string", + "description": "global role name", + "name": "globalrole", + "in": "path", + "required": true + }, + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/v1alpha2.GlobalRole" + } + } + ], + "responses": { + "200": { + "description": "ok", + "schema": { + "$ref": "#/definitions/v1alpha2.GlobalRole" + } + }, + "default": { + "description": "ok", + "schema": { + "$ref": "#/definitions/v1alpha2.GlobalRole" + } + } + } + }, + "delete": { + "produces": [ + "application/json" + ], + "tags": [ + "Access Management" + ], + "summary": "Delete global role.", + "operationId": "DeleteGlobalRole", + "parameters": [ + { + "type": "string", + "description": "global role name", + "name": "globalrole", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "ok", + "schema": { + "$ref": "#/definitions/errors.Error" + } + }, + "default": { + "description": "ok", + "schema": { + "$ref": "#/definitions/errors.Error" + } + } + } + }, + "patch": { + "produces": [ + "application/json" + ], + "tags": [ + "Access Management" + ], + "summary": "Patch global role. Automatically aggregate policy rules according to annotation.", + "operationId": "PatchGlobalRole", + "parameters": [ + { + "type": "string", + "description": "global role name", + "name": "globalrole", + "in": "path", + "required": true + }, + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/v1alpha2.GlobalRole" + } + } + ], + "responses": { + "200": { + "description": "ok", + "schema": { + "$ref": "#/definitions/v1alpha2.GlobalRole" + } + }, + "default": { + "description": "ok", + "schema": { + "$ref": "#/definitions/v1alpha2.GlobalRole" + } + } + } + } + }, + "/kapis/iam.kubesphere.io/v1alpha2/namespaces/{namespace}/members": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "Access Management" + ], + "summary": "List all members in the specified namespace.", + "operationId": "ListNamespaceMembers", + "parameters": [ + { + "type": "string", + "description": "namespace", + "name": "namespace", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "ok", + "schema": { + "$ref": "#/definitions/api.ListResult" + } + }, + "default": { + "description": "ok", + "schema": { + "$ref": "#/definitions/api.ListResult" + } + } + } + }, + "post": { + "produces": [ + "application/json" + ], + "tags": [ + "Access Management" + ], + "summary": "Batch add namespace members.", + "operationId": "CreateNamespaceMembers", + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/v1alpha2.Member" + } + } + }, + { + "type": "string", + "description": "namespace", + "name": "namespace", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "ok", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/v1alpha2.Member" + } + } + }, + "default": { + "description": "ok", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/v1alpha2.Member" + } + } + } + } + } + }, + "/kapis/iam.kubesphere.io/v1alpha2/namespaces/{namespace}/members/{member}": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "Access Management" + ], + "summary": "Retrieve namespace member details.", + "operationId": "DescribeNamespaceMember", + "parameters": [ + { + "type": "string", + "description": "namespace", + "name": "namespace", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "namespace member's username", + "name": "member", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "ok", + "schema": { + "$ref": "#/definitions/v1alpha2.User" + } + }, + "default": { + "description": "ok", + "schema": { + "$ref": "#/definitions/v1alpha2.User" + } + } + } + }, + "put": { + "produces": [ + "application/json" + ], + "tags": [ + "Access Management" + ], + "summary": "Update member in namespace.", + "operationId": "UpdateNamespaceMember", + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/v1alpha2.Member" + } + }, + { + "type": "string", + "description": "namespace", + "name": "namespace", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "namespace member's username", + "name": "member", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "ok", + "schema": { + "$ref": "#/definitions/v1alpha2.Member" + } + }, + "default": { + "description": "ok", + "schema": { + "$ref": "#/definitions/v1alpha2.Member" + } + } + } + }, + "delete": { + "produces": [ + "application/json" + ], + "tags": [ + "Access Management" + ], + "summary": "Delete member in namespace scope.", + "operationId": "RemoveNamespaceMember", + "parameters": [ + { + "type": "string", + "description": "namespace", + "name": "namespace", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "namespace member's username", + "name": "member", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "ok", + "schema": { + "$ref": "#/definitions/errors.Error" + } + }, + "default": { + "description": "ok", + "schema": { + "$ref": "#/definitions/errors.Error" + } + } + } + } + }, + "/kapis/iam.kubesphere.io/v1alpha2/namespaces/{namespace}/members/{member}/roles": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "Access Management" + ], + "summary": "Retrieve member's role templates in namespace.", + "operationId": "RetrieveMemberRoleTemplates", + "parameters": [ + { + "type": "string", + "description": "namespace", + "name": "namespace", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "namespace member's username", + "name": "member", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "ok", + "schema": { + "$ref": "#/definitions/api.ListResult" + } + }, + "default": { + "description": "ok", + "schema": { + "$ref": "#/definitions/api.ListResult" } } } @@ -3532,21 +4457,18 @@ }, "/kapis/iam.kubesphere.io/v1alpha2/namespaces/{namespace}/roles": { "get": { - "consumes": [ - "application/json" - ], "produces": [ "application/json" ], "tags": [ "Access Management" ], - "summary": "Retrieve the roles that are assigned to the user in the specified namespace.", + "summary": "List all roles in the specified namespace.", "operationId": "ListRoles", "parameters": [ { "type": "string", - "description": "kubernetes namespace", + "description": "namespace", "name": "namespace", "in": "path", "required": true @@ -3556,254 +4478,130 @@ "200": { "description": "ok", "schema": { - "$ref": "#/definitions/v1alpha2.RoleList" + "$ref": "#/definitions/api.ListResult" } }, "default": { "description": "ok", "schema": { - "$ref": "#/definitions/v1alpha2.RoleList" + "$ref": "#/definitions/api.ListResult" } } } - } - }, - "/kapis/iam.kubesphere.io/v1alpha2/namespaces/{namespace}/roles/{role}/rules": { - "get": { - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Access Management" - ], - "summary": "List all policy rules of the specified role in the given namespace.", - "operationId": "ListRoleRules", - "parameters": [ - { - "type": "string", - "description": "kubernetes namespace", - "name": "namespace", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "role name", - "name": "role", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "ok", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/models.SimpleRule" - } - } - }, - "default": { - "description": "ok", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/models.SimpleRule" - } - } - } - } - } - }, - "/kapis/iam.kubesphere.io/v1alpha2/namespaces/{namespace}/roles/{role}/users": { - "get": { - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Access Management" - ], - "summary": "Retrieve the users that are bound to the role in the specified namespace.", - "operationId": "ListRoleUsers", - "parameters": [ - { - "type": "string", - "description": "kubernetes namespace", - "name": "namespace", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "role name", - "name": "role", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "ok", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/v1alpha2.NamespacedUser" - } - } - }, - "default": { - "description": "ok", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/v1alpha2.NamespacedUser" - } - } - } - } - } - }, - "/kapis/iam.kubesphere.io/v1alpha2/namespaces/{namespace}/users": { - "get": { - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Access Management" - ], - "summary": "List all users in the specified namespace.", - "operationId": "ListNamespaceUsers", - "parameters": [ - { - "type": "string", - "description": "kubernetes namespace", - "name": "namespace", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "ok", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/v1alpha2.NamespacedUser" - } - } - }, - "default": { - "description": "ok", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/v1alpha2.NamespacedUser" - } - } - } - } - } - }, - "/kapis/iam.kubesphere.io/v1alpha2/rulesmapping/clusterroles": { - "get": { - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Access Management" - ], - "summary": "Get the mapping relationships between cluster roles and policy rules.", - "operationId": "ClusterRulesMapping", - "responses": { - "200": { - "description": "ok", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/models.Rule" - } - } - }, - "default": { - "description": "ok", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/models.Rule" - } - } - } - } - } - }, - "/kapis/iam.kubesphere.io/v1alpha2/rulesmapping/roles": { - "get": { - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Access Management" - ], - "summary": "Get the mapping relationships between namespaced roles and policy rules.", - "operationId": "RulesMapping", - "responses": { - "200": { - "description": "ok", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/models.Rule" - } - } - }, - "default": { - "description": "ok", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/models.Rule" - } - } - } - } - } - }, - "/kapis/iam.kubesphere.io/v1alpha2/token": { + }, "post": { - "consumes": [ - "application/json" - ], "produces": [ "application/json" ], "tags": [ - "Identity Management" + "Access Management" ], - "summary": "OAuth API,only support resource owner password credentials grant", - "operationId": "OAuth", + "summary": "Create role in the specified namespace. Automatically aggregate policy rules according to annotation.", + "operationId": "CreateNamespaceRole", "parameters": [ { "name": "body", "in": "body", "required": true, "schema": { - "$ref": "#/definitions/iam.LoginRequest" + "$ref": "#/definitions/v1.Role" + } + }, + { + "type": "string", + "description": "namespace", + "name": "namespace", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "ok", + "schema": { + "$ref": "#/definitions/v1.Role" + } + }, + "default": { + "description": "ok", + "schema": { + "$ref": "#/definitions/v1.Role" + } + } + } + } + }, + "/kapis/iam.kubesphere.io/v1alpha2/namespaces/{namespace}/roles/{role}": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "Access Management" + ], + "summary": "Retrieve role details.", + "operationId": "DescribeNamespaceRole", + "parameters": [ + { + "type": "string", + "description": "namespace", + "name": "namespace", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "role name", + "name": "role", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "ok", + "schema": { + "$ref": "#/definitions/v1.Role" + } + }, + "default": { + "description": "ok", + "schema": { + "$ref": "#/definitions/v1.Role" + } + } + } + }, + "put": { + "produces": [ + "application/json" + ], + "tags": [ + "Access Management" + ], + "summary": "Update namespace role. Automatically aggregate policy rules according to annotation.", + "operationId": "UpdateNamespaceRole", + "parameters": [ + { + "type": "string", + "description": "namespace", + "name": "namespace", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "role name", + "name": "role", + "in": "path", + "required": true + }, + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/v1.Role" } } ], @@ -3811,13 +4609,101 @@ "200": { "description": "ok", "schema": { - "$ref": "#/definitions/models.AuthGrantResponse" + "$ref": "#/definitions/v1.Role" } }, "default": { "description": "ok", "schema": { - "$ref": "#/definitions/models.AuthGrantResponse" + "$ref": "#/definitions/v1.Role" + } + } + } + }, + "delete": { + "produces": [ + "application/json" + ], + "tags": [ + "Access Management" + ], + "summary": "Delete role in the specified namespace.", + "operationId": "DeleteNamespaceRole", + "parameters": [ + { + "type": "string", + "description": "namespace", + "name": "namespace", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "role name", + "name": "role", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "ok", + "schema": { + "$ref": "#/definitions/errors.Error" + } + }, + "default": { + "description": "ok", + "schema": { + "$ref": "#/definitions/errors.Error" + } + } + } + }, + "patch": { + "produces": [ + "application/json" + ], + "tags": [ + "Access Management" + ], + "summary": "Patch namespace role.", + "operationId": "PatchNamespaceRole", + "parameters": [ + { + "type": "string", + "description": "namespace", + "name": "namespace", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "role name", + "name": "role", + "in": "path", + "required": true + }, + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/v1.Role" + } + } + ], + "responses": { + "200": { + "description": "ok", + "schema": { + "$ref": "#/definitions/v1.Role" + } + }, + "default": { + "description": "ok", + "schema": { + "$ref": "#/definitions/v1.Role" } } } @@ -3825,43 +4711,37 @@ }, "/kapis/iam.kubesphere.io/v1alpha2/users": { "get": { - "consumes": [ - "application/json" - ], "produces": [ "application/json" ], "tags": [ - "Identity Management" + "Access Management" ], - "summary": "List all users.", + "summary": "List all users in global scope.", "operationId": "ListUsers", "responses": { "200": { "description": "ok", "schema": { - "$ref": "#/definitions/v1alpha2.UserList" + "$ref": "#/definitions/api.ListResult" } }, "default": { "description": "ok", "schema": { - "$ref": "#/definitions/v1alpha2.UserList" + "$ref": "#/definitions/api.ListResult" } } } }, "post": { - "consumes": [ - "application/json" - ], "produces": [ "application/json" ], "tags": [ - "Identity Management" + "Access Management" ], - "summary": "Create a user account.", + "summary": "Create user in global scope.", "operationId": "CreateUser", "parameters": [ { @@ -3869,7 +4749,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1alpha2.CreateUserRequest" + "$ref": "#/definitions/v1alpha2.User" } } ], @@ -3877,13 +4757,13 @@ "200": { "description": "ok", "schema": { - "$ref": "#/definitions/errors.Error" + "$ref": "#/definitions/v1alpha2.User" } }, "default": { "description": "ok", "schema": { - "$ref": "#/definitions/errors.Error" + "$ref": "#/definitions/v1alpha2.User" } } } @@ -3891,16 +4771,13 @@ }, "/kapis/iam.kubesphere.io/v1alpha2/users/{user}": { "get": { - "consumes": [ - "application/json" - ], "produces": [ "application/json" ], "tags": [ - "Identity Management" + "Access Management" ], - "summary": "Describe the specified user.", + "summary": "Retrieve user details.", "operationId": "DescribeUser", "parameters": [ { @@ -3915,72 +4792,66 @@ "200": { "description": "ok", "schema": { - "$ref": "#/definitions/models.User" + "$ref": "#/definitions/v1alpha2.User" } }, "default": { "description": "ok", "schema": { - "$ref": "#/definitions/models.User" + "$ref": "#/definitions/v1alpha2.User" } } } }, "put": { - "consumes": [ - "application/json" - ], "produces": [ "application/json" ], "tags": [ - "Identity Management" + "Access Management" ], - "summary": "Update information about the specified user.", + "summary": "Update user info.", "operationId": "UpdateUser", "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/v1alpha2.User" + } + }, { "type": "string", "description": "username", "name": "user", "in": "path", "required": true - }, - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/v1alpha2.UserUpdateRequest" - } } ], "responses": { "200": { "description": "ok", "schema": { - "$ref": "#/definitions/errors.Error" + "$ref": "#/definitions/v1alpha2.User" } }, "default": { "description": "ok", "schema": { - "$ref": "#/definitions/errors.Error" + "$ref": "#/definitions/v1alpha2.User" } } } }, "delete": { - "consumes": [ - "application/json" - ], "produces": [ "application/json" ], "tags": [ - "Identity Management" + "Access Management" ], - "summary": "Delete the specified user.", + "summary": "Delete user.", "operationId": "DeleteUser", "parameters": [ { @@ -4007,57 +4878,16 @@ } } }, - "/kapis/iam.kubesphere.io/v1alpha2/users/{user}/logs": { + "/kapis/iam.kubesphere.io/v1alpha2/users/{user}/globalroles": { "get": { - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Identity Management" - ], - "summary": "Retrieve the \"login logs\" for the specified user.", - "operationId": "UserLoginLogs", - "parameters": [ - { - "type": "string", - "description": "username", - "name": "user", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "ok", - "schema": { - "$ref": "#/definitions/v1alpha2.LoginLog" - } - }, - "default": { - "description": "ok", - "schema": { - "$ref": "#/definitions/v1alpha2.LoginLog" - } - } - } - } - }, - "/kapis/iam.kubesphere.io/v1alpha2/users/{user}/roles": { - "get": { - "consumes": [ - "application/json" - ], "produces": [ "application/json" ], "tags": [ "Access Management" ], - "summary": "Retrieve all the roles that are assigned to the specified user.", - "operationId": "ListUserRoles", + "summary": "Retrieve user's global role templates.", + "operationId": "RetrieveMemberRoleTemplates", "parameters": [ { "type": "string", @@ -4071,23 +4901,98 @@ "200": { "description": "ok", "schema": { - "$ref": "#/definitions/iam.RoleList" + "$ref": "#/definitions/api.ListResult" } }, "default": { "description": "ok", "schema": { - "$ref": "#/definitions/iam.RoleList" + "$ref": "#/definitions/api.ListResult" } } } } }, - "/kapis/iam.kubesphere.io/v1alpha2/workspaces/{workspace}/members": { + "/kapis/iam.kubesphere.io/v1alpha2/users/{user}/loginrecords": { "get": { - "consumes": [ + "produces": [ "application/json" ], + "tags": [ + "Access Management" + ], + "summary": "List user's login records.", + "operationId": "ListUserLoginRecords", + "parameters": [ + { + "type": "string", + "description": "username of the user", + "name": "user", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "ok", + "schema": { + "$ref": "#/definitions/api.ListResult" + } + }, + "default": { + "description": "ok", + "schema": { + "$ref": "#/definitions/api.ListResult" + } + } + } + } + }, + "/kapis/iam.kubesphere.io/v1alpha2/users/{user}/password": { + "put": { + "produces": [ + "application/json" + ], + "tags": [ + "Access Management" + ], + "summary": "Modify user's password.", + "operationId": "ModifyPassword", + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/iam.PasswordReset" + } + }, + { + "type": "string", + "description": "username", + "name": "user", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "ok", + "schema": { + "$ref": "#/definitions/errors.Error" + } + }, + "default": { + "description": "ok", + "schema": { + "$ref": "#/definitions/errors.Error" + } + } + } + } + }, + "/kapis/iam.kubesphere.io/v1alpha2/workspaces/{workspace}/workspacemembers": { + "get": { "produces": [ "application/json" ], @@ -4095,7 +5000,7 @@ "Access Management" ], "summary": "List all members in the specified workspace.", - "operationId": "ListWorkspaceUsers", + "operationId": "ListWorkspaceMembers", "parameters": [ { "type": "string", @@ -4109,75 +5014,78 @@ "200": { "description": "ok", "schema": { - "$ref": "#/definitions/v1alpha2.UserList" + "$ref": "#/definitions/api.ListResult" } }, "default": { "description": "ok", "schema": { - "$ref": "#/definitions/v1alpha2.UserList" + "$ref": "#/definitions/api.ListResult" } } } }, "post": { - "consumes": [ - "application/json" - ], "produces": [ "application/json" ], "tags": [ "Access Management" ], - "summary": "Invite a member to the specified workspace.", - "operationId": "InviteUser", + "summary": "Batch add workspace members.", + "operationId": "CreateWorkspaceMembers", "parameters": [ - { - "type": "string", - "description": "workspace name", - "name": "workspace", - "in": "path", - "required": true - }, { "name": "body", "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1alpha2.InviteUserRequest" + "type": "array", + "items": { + "$ref": "#/definitions/v1alpha2.Member" + } } + }, + { + "type": "string", + "description": "workspace name", + "name": "workspace", + "in": "path", + "required": true } ], "responses": { "200": { "description": "ok", "schema": { - "$ref": "#/definitions/errors.Error" + "type": "array", + "items": { + "$ref": "#/definitions/v1alpha2.Member" + } } }, "default": { "description": "ok", "schema": { - "$ref": "#/definitions/errors.Error" + "type": "array", + "items": { + "$ref": "#/definitions/v1alpha2.Member" + } } } } } }, - "/kapis/iam.kubesphere.io/v1alpha2/workspaces/{workspace}/members/{member}": { + "/kapis/iam.kubesphere.io/v1alpha2/workspaces/{workspace}/workspacemembers/{workspacemember}": { "get": { - "consumes": [ - "application/json" - ], "produces": [ "application/json" ], "tags": [ "Access Management" ], - "summary": "Describe the specified user in the given workspace.", - "operationId": "DescribeWorkspaceUser", + "summary": "Retrieve workspace member details.", + "operationId": "DescribeWorkspaceMember", "parameters": [ { "type": "string", @@ -4188,8 +5096,8 @@ }, { "type": "string", - "description": "username", - "name": "member", + "description": "workspace member's username", + "name": "workspacemember", "in": "path", "required": true } @@ -4198,29 +5106,74 @@ "200": { "description": "ok", "schema": { - "$ref": "#/definitions/v1alpha2.DescribeWorkspaceUserResponse" + "$ref": "#/definitions/v1alpha2.User" } }, "default": { "description": "ok", "schema": { - "$ref": "#/definitions/v1alpha2.DescribeWorkspaceUserResponse" + "$ref": "#/definitions/v1alpha2.User" + } + } + } + }, + "put": { + "produces": [ + "application/json" + ], + "tags": [ + "Access Management" + ], + "summary": "Update member in workspace.", + "operationId": "UpdateWorkspaceMember", + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/v1alpha2.Member" + } + }, + { + "type": "string", + "description": "workspace name", + "name": "workspace", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "workspace member's username", + "name": "workspacemember", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "ok", + "schema": { + "$ref": "#/definitions/v1alpha2.Member" + } + }, + "default": { + "description": "ok", + "schema": { + "$ref": "#/definitions/v1alpha2.Member" } } } }, "delete": { - "consumes": [ - "application/json" - ], "produces": [ "application/json" ], "tags": [ "Access Management" ], - "summary": "Remove the specified member from the workspace.", - "operationId": "RemoveUser", + "summary": "Delete member in workspace scope.", + "operationId": "RemoveWorkspaceMember", "parameters": [ { "type": "string", @@ -4231,8 +5184,8 @@ }, { "type": "string", - "description": "username", - "name": "member", + "description": "workspace member's username", + "name": "workspacemember", "in": "path", "required": true } @@ -4253,11 +5206,50 @@ } } }, - "/kapis/iam.kubesphere.io/v1alpha2/workspaces/{workspace}/roles": { + "/kapis/iam.kubesphere.io/v1alpha2/workspaces/{workspace}/workspacemembers/{workspacemember}/workspaceroles": { "get": { - "consumes": [ + "produces": [ "application/json" ], + "tags": [ + "Access Management" + ], + "summary": "Retrieve member's role templates in workspace.", + "operationId": "RetrieveMemberRoleTemplates", + "parameters": [ + { + "type": "string", + "description": "workspace", + "name": "workspace", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "workspace member's username", + "name": "workspacemember", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "ok", + "schema": { + "$ref": "#/definitions/api.ListResult" + } + }, + "default": { + "description": "ok", + "schema": { + "$ref": "#/definitions/api.ListResult" + } + } + } + } + }, + "/kapis/iam.kubesphere.io/v1alpha2/workspaces/{workspace}/workspaceroles": { + "get": { "produces": [ "application/json" ], @@ -4279,30 +5271,68 @@ "200": { "description": "ok", "schema": { - "$ref": "#/definitions/v1alpha2.ClusterRoleList" + "$ref": "#/definitions/api.ListResult" } }, "default": { "description": "ok", "schema": { - "$ref": "#/definitions/v1alpha2.ClusterRoleList" + "$ref": "#/definitions/api.ListResult" } } } - } - }, - "/kapis/iam.kubesphere.io/v1alpha2/workspaces/{workspace}/roles/{role}": { - "get": { - "consumes": [ - "application/json" - ], + }, + "post": { "produces": [ "application/json" ], "tags": [ "Access Management" ], - "summary": "Describe the workspace role.", + "summary": "Create workspace role. Automatically aggregate policy rules according to annotation.", + "operationId": "CreateWorkspaceRole", + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/v1alpha2.WorkspaceRole" + } + }, + { + "type": "string", + "description": "workspace name", + "name": "workspace", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "ok", + "schema": { + "$ref": "#/definitions/v1alpha2.WorkspaceRole" + } + }, + "default": { + "description": "ok", + "schema": { + "$ref": "#/definitions/v1alpha2.WorkspaceRole" + } + } + } + } + }, + "/kapis/iam.kubesphere.io/v1alpha2/workspaces/{workspace}/workspaceroles/{workspacerole}": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "Access Management" + ], + "summary": "Retrieve workspace role details.", "operationId": "DescribeWorkspaceRole", "parameters": [ { @@ -4315,7 +5345,7 @@ { "type": "string", "description": "workspace role name", - "name": "role", + "name": "workspacerole", "in": "path", "required": true } @@ -4324,31 +5354,26 @@ "200": { "description": "ok", "schema": { - "$ref": "#/definitions/v1.ClusterRole" + "$ref": "#/definitions/v1alpha2.WorkspaceRole" } }, "default": { "description": "ok", "schema": { - "$ref": "#/definitions/v1.ClusterRole" + "$ref": "#/definitions/v1alpha2.WorkspaceRole" } } } - } - }, - "/kapis/iam.kubesphere.io/v1alpha2/workspaces/{workspace}/roles/{role}/rules": { - "get": { - "consumes": [ - "application/json" - ], + }, + "put": { "produces": [ "application/json" ], "tags": [ "Access Management" ], - "summary": "List all policy rules of the specified workspace role.", - "operationId": "ListWorkspaceRoleRules", + "summary": "Update workspace role. Automatically aggregate policy rules according to annotation.", + "operationId": "UpdateWorkspaceRole", "parameters": [ { "type": "string", @@ -4360,265 +5385,7 @@ { "type": "string", "description": "workspace role name", - "name": "role", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "ok", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/models.SimpleRule" - } - } - }, - "default": { - "description": "ok", - "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/models.SimpleRule" - } - } - } - } - } - }, - "/kapis/logging.kubesphere.io/v1alpha2/cluster": { - "get": { - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Log Query" - ], - "summary": "Query logs against the cluster.", - "operationId": "LoggingQueryCluster", - "parameters": [ - { - "type": "string", - "default": "query", - "description": "Operation type. This can be one of four types: query (for querying logs), statistics (for retrieving statistical data), histogram (for displaying log count by time interval) and export (for exporting logs). Defaults to query.", - "name": "operation", - "in": "query" - }, - { - "type": "string", - "description": "A comma-separated list of workspaces. This field restricts the query to specified workspaces. For example, the following filter matches the workspace my-ws and demo-ws: `my-ws,demo-ws`", - "name": "workspaces", - "in": "query" - }, - { - "type": "string", - "description": "A comma-separated list of keywords. Differing from **workspaces**, this field performs fuzzy matching on workspaces. For example, the following value limits the query to workspaces whose name contains the word my(My,MY,...) *OR* demo(Demo,DemO,...): `my,demo`.", - "name": "workspace_query", - "in": "query" - }, - { - "type": "string", - "description": "A comma-separated list of namespaces. This field restricts the query to specified namespaces. For example, the following filter matches the namespace my-ns and demo-ns: `my-ns,demo-ns`", - "name": "namespaces", - "in": "query" - }, - { - "type": "string", - "description": "A comma-separated list of keywords. Differing from **namespaces**, this field performs fuzzy matching on namespaces. For example, the following value limits the query to namespaces whose name contains the word my(My,MY,...) *OR* demo(Demo,DemO,...): `my,demo`.", - "name": "namespace_query", - "in": "query" - }, - { - "type": "string", - "description": "A comma-separated list of workloads. This field restricts the query to specified workloads. For example, the following filter matches the workload my-wl and demo-wl: `my-wl,demo-wl`", - "name": "workloads", - "in": "query" - }, - { - "type": "string", - "description": "A comma-separated list of keywords. Differing from **workloads**, this field performs fuzzy matching on workloads. For example, the following value limits the query to workloads whose name contains the word my(My,MY,...) *OR* demo(Demo,DemO,...): `my,demo`.", - "name": "workload_query", - "in": "query" - }, - { - "type": "string", - "description": "A comma-separated list of pods. This field restricts the query to specified pods. For example, the following filter matches the pod my-po and demo-po: `my-po,demo-po`", - "name": "pods", - "in": "query" - }, - { - "type": "string", - "description": "A comma-separated list of keywords. Differing from **pods**, this field performs fuzzy matching on pods. For example, the following value limits the query to pods whose name contains the word my(My,MY,...) *OR* demo(Demo,DemO,...): `my,demo`.", - "name": "pod_query", - "in": "query" - }, - { - "type": "string", - "description": "A comma-separated list of containers. This field restricts the query to specified containers. For example, the following filter matches the container my-cont and demo-cont: `my-cont,demo-cont`", - "name": "containers", - "in": "query" - }, - { - "type": "string", - "description": "A comma-separated list of keywords. Differing from **containers**, this field performs fuzzy matching on containers. For example, the following value limits the query to containers whose name contains the word my(My,MY,...) *OR* demo(Demo,DemO,...): `my,demo`.", - "name": "container_query", - "in": "query" - }, - { - "type": "string", - "description": "A comma-separated list of keywords. The query returns logs which contain at least one keyword. Case-insensitive matching. For example, if the field is set to `err,INFO`, the query returns any log containing err(ERR,Err,...) *OR* INFO(info,InFo,...).", - "name": "log_query", - "in": "query" - }, - { - "type": "string", - "default": "15m", - "description": "Time interval. It requires **operation** is set to histogram. The format is [0-9]+[smhdwMqy]. Defaults to 15m (i.e. 15 min).", - "name": "interval", - "in": "query" - }, - { - "type": "string", - "description": "Start time of query. Default to 0. The format is a string representing milliseconds since the epoch, eg. 1559664000000.", - "name": "start_time", - "in": "query" - }, - { - "type": "string", - "description": "End time of query. Default to now. The format is a string representing milliseconds since the epoch, eg. 1559664000000.", - "name": "end_time", - "in": "query" - }, - { - "type": "string", - "default": "desc", - "description": "Sort order. One of acs, desc. This field sorts logs by timestamp.", - "name": "sort", - "in": "query" - }, - { - "type": "integer", - "default": 0, - "description": "The offset from the result set. This field returns query results from the specified offset. It requires **operation** is set to query. Defaults to 0 (i.e. from the beginning of the result set).", - "name": "from", - "in": "query" - }, - { - "type": "integer", - "default": 10, - "description": "Size of result to return. It requires **operation** is set to query. Defaults to 10 (i.e. 10 log records).", - "name": "size", - "in": "query" - } - ], - "responses": { - "200": { - "description": "ok", - "schema": { - "$ref": "#/definitions/v1alpha2.QueryResult" - } - }, - "default": { - "description": "ok", - "schema": { - "$ref": "#/definitions/v1alpha2.QueryResult" - } - } - } - } - }, - "/kapis/logging.kubesphere.io/v1alpha2/fluentbit/outputs": { - "get": { - "consumes": [ - "application/json", - "application/xml" - ], - "produces": [ - "application/json", - "application/octet-stream" - ], - "tags": [ - "Fluent Bit Setting" - ], - "summary": "List all Fluent bit output plugins.", - "operationId": "LoggingQueryFluentbitOutputs", - "responses": { - "200": { - "description": "ok", - "schema": { - "$ref": "#/definitions/log.FluentbitOutputsResult" - } - }, - "default": { - "description": "ok", - "schema": { - "$ref": "#/definitions/log.FluentbitOutputsResult" - } - } - } - }, - "post": { - "consumes": [ - "application/json", - "application/xml" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Fluent Bit Setting" - ], - "summary": "Add a new Fluent bit output plugin.", - "operationId": "LoggingInsertFluentbitOutput", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/fluentbitclient.OutputPlugin" - } - } - ], - "responses": { - "200": { - "description": "ok", - "schema": { - "$ref": "#/definitions/log.FluentbitOutputsResult" - } - }, - "default": { - "description": "ok", - "schema": { - "$ref": "#/definitions/log.FluentbitOutputsResult" - } - } - } - } - }, - "/kapis/logging.kubesphere.io/v1alpha2/fluentbit/outputs/{output}": { - "put": { - "consumes": [ - "application/json", - "application/xml" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Fluent Bit Setting" - ], - "summary": "Update the specific Fluent bit output plugin.", - "operationId": "LoggingUpdateFluentbitOutput", - "parameters": [ - { - "type": "string", - "description": "ID of the output.", - "name": "output", + "name": "workspacerole", "in": "path", "required": true }, @@ -4627,7 +5394,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/fluentbitclient.OutputPlugin" + "$ref": "#/definitions/v1alpha2.WorkspaceRole" } } ], @@ -4635,669 +5402,108 @@ "200": { "description": "ok", "schema": { - "$ref": "#/definitions/log.FluentbitOutputsResult" + "$ref": "#/definitions/v1alpha2.WorkspaceRole" } }, "default": { "description": "ok", "schema": { - "$ref": "#/definitions/log.FluentbitOutputsResult" + "$ref": "#/definitions/v1alpha2.WorkspaceRole" } } } }, "delete": { - "consumes": [ - "application/json", - "application/xml" - ], "produces": [ "application/json" ], "tags": [ - "Fluent Bit Setting" + "Access Management" ], - "summary": "Delete the specific Fluent bit output plugin.", - "operationId": "LoggingDeleteFluentbitOutput", + "summary": "Delete workspace role.", + "operationId": "DeleteWorkspaceRole", "parameters": [ { "type": "string", - "description": "ID of the output.", - "name": "output", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "ok", - "schema": { - "$ref": "#/definitions/log.FluentbitOutputsResult" - } - }, - "default": { - "description": "ok", - "schema": { - "$ref": "#/definitions/log.FluentbitOutputsResult" - } - } - } - } - }, - "/kapis/logging.kubesphere.io/v1alpha2/namespaces/{namespace}": { - "get": { - "consumes": [ - "application/json", - "application/xml" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Log Query" - ], - "summary": "Query logs against the specific namespace.", - "operationId": "LoggingQueryNamespace", - "parameters": [ - { - "type": "string", - "description": "The name of the namespace.", - "name": "namespace", - "in": "path", - "required": true - }, - { - "type": "string", - "default": "query", - "description": "Query type. This can be one of three types: query (for querying logs), statistics (for retrieving statistical data), and histogram (for displaying log count by time interval). Defaults to query.", - "name": "operation", - "in": "query" - }, - { - "type": "string", - "description": "A comma-separated list of workloads. This field restricts the query to specified workloads. For example, the following filter matches the workload my-wl and demo-wl: `my-wl,demo-wl`", - "name": "workloads", - "in": "query" - }, - { - "type": "string", - "description": "A comma-separated list of keywords. Differing from **workloads**, this field performs fuzzy matching on workloads. For example, the following value limits the query to workloads whose name contains the word my(My,MY,...) *OR* demo(Demo,DemO,...): `my,demo`.", - "name": "workload_query", - "in": "query" - }, - { - "type": "string", - "description": "A comma-separated list of pods. This field restricts the query to specified pods. For example, the following filter matches the pod my-po and demo-po: `my-po,demo-po`", - "name": "pods", - "in": "query" - }, - { - "type": "string", - "description": "A comma-separated list of keywords. Differing from **pods**, this field performs fuzzy matching on pods. For example, the following value limits the query to pods whose name contains the word my(My,MY,...) *OR* demo(Demo,DemO,...): `my,demo`.", - "name": "pod_query", - "in": "query" - }, - { - "type": "string", - "description": "A comma-separated list of containers. This field restricts the query to specified containers. For example, the following filter matches the container my-cont and demo-cont: `my-cont,demo-cont`", - "name": "containers", - "in": "query" - }, - { - "type": "string", - "description": "A comma-separated list of keywords. Differing from **containers**, this field performs fuzzy matching on containers. For example, the following value limits the query to containers whose name contains the word my(My,MY,...) *OR* demo(Demo,DemO,...): `my,demo`.", - "name": "container_query", - "in": "query" - }, - { - "type": "string", - "description": "A comma-separated list of keywords. The query returns logs which contain at least one keyword. Case-insensitive matching. For example, if the field is set to `err,INFO`, the query returns any log containing err(ERR,Err,...) *OR* INFO(info,InFo,...).", - "name": "log_query", - "in": "query" - }, - { - "type": "string", - "default": "15m", - "description": "Time interval. It requires **operation** is set to histogram. The format is [0-9]+[smhdwMqy]. Defaults to 15m (i.e. 15 min).", - "name": "interval", - "in": "query" - }, - { - "type": "string", - "description": "Start time of query. Default to 0. The format is a string representing milliseconds since the epoch, eg. 1559664000000.", - "name": "start_time", - "in": "query" - }, - { - "type": "string", - "description": "End time of query. Default to now. The format is a string representing milliseconds since the epoch, eg. 1559664000000.", - "name": "end_time", - "in": "query" - }, - { - "type": "string", - "default": "desc", - "description": "Sort order. One of acs, desc. This field sorts logs by timestamp.", - "name": "sort", - "in": "query" - }, - { - "type": "integer", - "default": 0, - "description": "The offset from the result set. This field returns query results from the specified offset. It requires **operation** is set to query. Defaults to 0 (i.e. from the beginning of the result set).", - "name": "from", - "in": "query" - }, - { - "type": "integer", - "default": 10, - "description": "Size of result to return. It requires **operation** is set to query. Defaults to 10 (i.e. 10 log records).", - "name": "size", - "in": "query" - } - ], - "responses": { - "200": { - "description": "ok", - "schema": { - "$ref": "#/definitions/v1alpha2.QueryResult" - } - }, - "default": { - "description": "ok", - "schema": { - "$ref": "#/definitions/v1alpha2.QueryResult" - } - } - } - } - }, - "/kapis/logging.kubesphere.io/v1alpha2/namespaces/{namespace}/pods/{pod}": { - "get": { - "consumes": [ - "application/json", - "application/xml" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Log Query" - ], - "summary": "Query logs against the specific pod.", - "operationId": "LoggingQueryPod", - "parameters": [ - { - "type": "string", - "description": "The name of the namespace.", - "name": "namespace", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Pod name.", - "name": "pod", - "in": "path", - "required": true - }, - { - "type": "string", - "default": "query", - "description": "Query type. This can be one of three types: query (for querying logs), statistics (for retrieving statistical data), and histogram (for displaying log count by time interval). Defaults to query.", - "name": "operation", - "in": "query" - }, - { - "type": "string", - "description": "A comma-separated list of containers. This field restricts the query to specified containers. For example, the following filter matches the container my-cont and demo-cont: `my-cont,demo-cont`", - "name": "containers", - "in": "query" - }, - { - "type": "string", - "description": "A comma-separated list of keywords. Differing from **containers**, this field performs fuzzy matching on containers. For example, the following value limits the query to containers whose name contains the word my(My,MY,...) *OR* demo(Demo,DemO,...): `my,demo`.", - "name": "container_query", - "in": "query" - }, - { - "type": "string", - "description": "A comma-separated list of keywords. The query returns logs which contain at least one keyword. Case-insensitive matching. For example, if the field is set to `err,INFO`, the query returns any log containing err(ERR,Err,...) *OR* INFO(info,InFo,...).", - "name": "log_query", - "in": "query" - }, - { - "type": "string", - "default": "15m", - "description": "Time interval. It requires **operation** is set to histogram. The format is [0-9]+[smhdwMqy]. Defaults to 15m (i.e. 15 min).", - "name": "interval", - "in": "query" - }, - { - "type": "string", - "description": "Start time of query. Default to 0. The format is a string representing milliseconds since the epoch, eg. 1559664000000.", - "name": "start_time", - "in": "query" - }, - { - "type": "string", - "description": "End time of query. Default to now. The format is a string representing milliseconds since the epoch, eg. 1559664000000.", - "name": "end_time", - "in": "query" - }, - { - "type": "string", - "default": "desc", - "description": "Sort order. One of acs, desc. This field sorts logs by timestamp.", - "name": "sort", - "in": "query" - }, - { - "type": "integer", - "default": 0, - "description": "The offset from the result set. This field returns query results from the specified offset. It requires **operation** is set to query. Defaults to 0 (i.e. from the beginning of the result set).", - "name": "from", - "in": "query" - }, - { - "type": "integer", - "default": 10, - "description": "Size of result to return. It requires **operation** is set to query. Defaults to 10 (i.e. 10 log records).", - "name": "size", - "in": "query" - } - ], - "responses": { - "200": { - "description": "ok", - "schema": { - "$ref": "#/definitions/v1alpha2.QueryResult" - } - }, - "default": { - "description": "ok", - "schema": { - "$ref": "#/definitions/v1alpha2.QueryResult" - } - } - } - } - }, - "/kapis/logging.kubesphere.io/v1alpha2/namespaces/{namespace}/pods/{pod}/containers/{container}": { - "get": { - "consumes": [ - "application/json", - "application/xml" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Log Query" - ], - "summary": "Query logs against the specific container.", - "operationId": "LoggingQueryContainer", - "parameters": [ - { - "type": "string", - "description": "The name of the namespace.", - "name": "namespace", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Pod name.", - "name": "pod", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "Container name.", - "name": "container", - "in": "path", - "required": true - }, - { - "type": "string", - "default": "query", - "description": "Operation type. This can be one of four types: query (for querying logs), statistics (for retrieving statistical data), histogram (for displaying log count by time interval) and export (for exporting logs). Defaults to query.", - "name": "operation", - "in": "query" - }, - { - "type": "string", - "description": "A comma-separated list of keywords. The query returns logs which contain at least one keyword. Case-insensitive matching. For example, if the field is set to `err,INFO`, the query returns any log containing err(ERR,Err,...) *OR* INFO(info,InFo,...).", - "name": "log_query", - "in": "query" - }, - { - "type": "string", - "default": "15m", - "description": "Time interval. It requires **operation** is set to histogram. The format is [0-9]+[smhdwMqy]. Defaults to 15m (i.e. 15 min).", - "name": "interval", - "in": "query" - }, - { - "type": "string", - "description": "Start time of query. Default to 0. The format is a string representing milliseconds since the epoch, eg. 1559664000000.", - "name": "start_time", - "in": "query" - }, - { - "type": "string", - "description": "End time of query. Default to now. The format is a string representing milliseconds since the epoch, eg. 1559664000000.", - "name": "end_time", - "in": "query" - }, - { - "type": "string", - "default": "desc", - "description": "Sort order. One of acs, desc. This field sorts logs by timestamp.", - "name": "sort", - "in": "query" - }, - { - "type": "integer", - "default": 0, - "description": "The offset from the result set. This field returns query results from the specified offset. It requires **operation** is set to query. Defaults to 0 (i.e. from the beginning of the result set).", - "name": "from", - "in": "query" - }, - { - "type": "integer", - "default": 10, - "description": "Size of result to return. It requires **operation** is set to query. Defaults to 10 (i.e. 10 log records).", - "name": "size", - "in": "query" - } - ], - "responses": { - "200": { - "description": "ok", - "schema": { - "$ref": "#/definitions/v1alpha2.QueryResult" - } - }, - "default": { - "description": "ok", - "schema": { - "$ref": "#/definitions/v1alpha2.QueryResult" - } - } - } - } - }, - "/kapis/logging.kubesphere.io/v1alpha2/namespaces/{namespace}/workloads/{workload}": { - "get": { - "consumes": [ - "application/json", - "application/xml" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Log Query" - ], - "summary": "Query logs against the specific workload.", - "operationId": "LoggingQueryWorkload", - "parameters": [ - { - "type": "string", - "description": "The name of the namespace.", - "name": "namespace", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "The name of the workload.", - "name": "workload", - "in": "path", - "required": true - }, - { - "type": "string", - "default": "query", - "description": "Query type. This can be one of three types: query (for querying logs), statistics (for retrieving statistical data), and histogram (for displaying log count by time interval). Defaults to query.", - "name": "operation", - "in": "query" - }, - { - "type": "string", - "description": "A comma-separated list of pods. This field restricts the query to specified pods. For example, the following filter matches the pod my-po and demo-po: `my-po,demo-po`", - "name": "pods", - "in": "query" - }, - { - "type": "string", - "description": "A comma-separated list of keywords. Differing from **pods**, this field performs fuzzy matching on pods. For example, the following value limits the query to pods whose name contains the word my(My,MY,...) *OR* demo(Demo,DemO,...): `my,demo`.", - "name": "pod_query", - "in": "query" - }, - { - "type": "string", - "description": "A comma-separated list of containers. This field restricts the query to specified containers. For example, the following filter matches the container my-cont and demo-cont: `my-cont,demo-cont`", - "name": "containers", - "in": "query" - }, - { - "type": "string", - "description": "A comma-separated list of keywords. Differing from **containers**, this field performs fuzzy matching on containers. For example, the following value limits the query to containers whose name contains the word my(My,MY,...) *OR* demo(Demo,DemO,...): `my,demo`.", - "name": "container_query", - "in": "query" - }, - { - "type": "string", - "description": "A comma-separated list of keywords. The query returns logs which contain at least one keyword. Case-insensitive matching. For example, if the field is set to `err,INFO`, the query returns any log containing err(ERR,Err,...) *OR* INFO(info,InFo,...).", - "name": "log_query", - "in": "query" - }, - { - "type": "string", - "default": "15m", - "description": "Time interval. It requires **operation** is set to histogram. The format is [0-9]+[smhdwMqy]. Defaults to 15m (i.e. 15 min).", - "name": "interval", - "in": "query" - }, - { - "type": "string", - "description": "Start time of query. Default to 0. The format is a string representing milliseconds since the epoch, eg. 1559664000000.", - "name": "start_time", - "in": "query" - }, - { - "type": "string", - "description": "End time of query. Default to now. The format is a string representing milliseconds since the epoch, eg. 1559664000000.", - "name": "end_time", - "in": "query" - }, - { - "type": "string", - "default": "desc", - "description": "Sort order. One of acs, desc. This field sorts logs by timestamp.", - "name": "sort", - "in": "query" - }, - { - "type": "integer", - "default": 0, - "description": "The offset from the result set. This field returns query results from the specified offset. It requires **operation** is set to query. Defaults to 0 (i.e. from the beginning of the result set).", - "name": "from", - "in": "query" - }, - { - "type": "integer", - "default": 10, - "description": "Size of result to return. It requires **operation** is set to query. Defaults to 10 (i.e. 10 log records).", - "name": "size", - "in": "query" - } - ], - "responses": { - "200": { - "description": "ok", - "schema": { - "$ref": "#/definitions/v1alpha2.QueryResult" - } - }, - "default": { - "description": "ok", - "schema": { - "$ref": "#/definitions/v1alpha2.QueryResult" - } - } - } - } - }, - "/kapis/logging.kubesphere.io/v1alpha2/workspaces/{workspace}": { - "get": { - "consumes": [ - "application/json", - "application/xml" - ], - "produces": [ - "application/json", - "text/plain" - ], - "tags": [ - "Log Query" - ], - "summary": "Query logs against the specific workspace.", - "operationId": "LoggingQueryWorkspace", - "parameters": [ - { - "type": "string", - "description": "The name of the workspace.", + "description": "workspace name", "name": "workspace", "in": "path", "required": true }, { "type": "string", - "default": "query", - "description": "Query type. This can be one of three types: query (for querying logs), statistics (for retrieving statistical data), and histogram (for displaying log count by time interval). Defaults to query.", - "name": "operation", - "in": "query" - }, - { - "type": "string", - "description": "A comma-separated list of namespaces. This field restricts the query to specified namespaces. For example, the following filter matches the namespace my-ns and demo-ns: `my-ns,demo-ns`", - "name": "namespaces", - "in": "query" - }, - { - "type": "string", - "description": "A comma-separated list of keywords. Differing from **namespaces**, this field performs fuzzy matching on namespaces. For example, the following value limits the query to namespaces whose name contains the word my(My,MY,...) *OR* demo(Demo,DemO,...): `my,demo`.", - "name": "namespace_query", - "in": "query" - }, - { - "type": "string", - "description": "A comma-separated list of workloads. This field restricts the query to specified workloads. For example, the following filter matches the workload my-wl and demo-wl: `my-wl,demo-wl`", - "name": "workloads", - "in": "query" - }, - { - "type": "string", - "description": "A comma-separated list of keywords. Differing from **workloads**, this field performs fuzzy matching on workloads. For example, the following value limits the query to workloads whose name contains the word my(My,MY,...) *OR* demo(Demo,DemO,...): `my,demo`.", - "name": "workload_query", - "in": "query" - }, - { - "type": "string", - "description": "A comma-separated list of pods. This field restricts the query to specified pods. For example, the following filter matches the pod my-po and demo-po: `my-po,demo-po`", - "name": "pods", - "in": "query" - }, - { - "type": "string", - "description": "A comma-separated list of keywords. Differing from **pods**, this field performs fuzzy matching on pods. For example, the following value limits the query to pods whose name contains the word my(My,MY,...) *OR* demo(Demo,DemO,...): `my,demo`.", - "name": "pod_query", - "in": "query" - }, - { - "type": "string", - "description": "A comma-separated list of containers. This field restricts the query to specified containers. For example, the following filter matches the container my-cont and demo-cont: `my-cont,demo-cont`", - "name": "containers", - "in": "query" - }, - { - "type": "string", - "description": "A comma-separated list of keywords. Differing from **containers**, this field performs fuzzy matching on containers. For example, the following value limits the query to containers whose name contains the word my(My,MY,...) *OR* demo(Demo,DemO,...): `my,demo`.", - "name": "container_query", - "in": "query" - }, - { - "type": "string", - "description": "A comma-separated list of keywords. The query returns logs which contain at least one keyword. Case-insensitive matching. For example, if the field is set to `err,INFO`, the query returns any log containing err(ERR,Err,...) *OR* INFO(info,InFo,...).", - "name": "log_query", - "in": "query" - }, - { - "type": "string", - "default": "15m", - "description": "Time interval. It requires **operation** is set to histogram. The format is [0-9]+[smhdwMqy]. Defaults to 15m (i.e. 15 min).", - "name": "interval", - "in": "query" - }, - { - "type": "string", - "description": "Start time of query. Default to 0. The format is a string representing milliseconds since the epoch, eg. 1559664000000.", - "name": "start_time", - "in": "query" - }, - { - "type": "string", - "description": "End time of query. Default to now. The format is a string representing milliseconds since the epoch, eg. 1559664000000.", - "name": "end_time", - "in": "query" - }, - { - "type": "string", - "default": "desc", - "description": "Sort order. One of acs, desc. This field sorts logs by timestamp.", - "name": "sort", - "in": "query" - }, - { - "type": "integer", - "default": 0, - "description": "The offset from the result set. This field returns query results from the specified offset. It requires **operation** is set to query. Defaults to 0 (i.e. from the beginning of the result set).", - "name": "from", - "in": "query" - }, - { - "type": "integer", - "default": 10, - "description": "Size of result to return. It requires **operation** is set to query. Defaults to 10 (i.e. 10 log records).", - "name": "size", - "in": "query" + "description": "workspace role name", + "name": "workspacerole", + "in": "path", + "required": true } ], "responses": { "200": { "description": "ok", "schema": { - "$ref": "#/definitions/v1alpha2.QueryResult" + "$ref": "#/definitions/errors.Error" } }, "default": { "description": "ok", "schema": { - "$ref": "#/definitions/v1alpha2.QueryResult" + "$ref": "#/definitions/errors.Error" + } + } + } + }, + "patch": { + "produces": [ + "application/json" + ], + "tags": [ + "Access Management" + ], + "summary": "Patch workspace role. Automatically aggregate policy rules according to annotation.", + "operationId": "PatchWorkspaceRole", + "parameters": [ + { + "type": "string", + "description": "workspace name", + "name": "workspace", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "workspace role name", + "name": "workspacerole", + "in": "path", + "required": true + }, + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/v1alpha2.WorkspaceRole" + } + } + ], + "responses": { + "200": { + "description": "ok", + "schema": { + "$ref": "#/definitions/errors.Error" + } + }, + "default": { + "description": "ok", + "schema": { + "$ref": "#/definitions/errors.Error" } } } } }, - "/kapis/monitoring.kubesphere.io/v1alpha2/cluster": { + "/kapis/monitoring.kubesphere.io/v1alpha3/cluster": { "get": { - "consumes": [ - "application/json" - ], "produces": [ "application/json" ], @@ -5305,7 +5511,7 @@ "Cluster Metrics" ], "summary": "Get cluster-level metric data.", - "operationId": "MonitorCluster", + "operationId": "handleClusterMetricsQuery", "parameters": [ { "type": "string", @@ -5337,36 +5543,26 @@ "description": "A timestamp in Unix time format. Retrieve metric data at a single point in time. Defaults to now. Time and the combination of start, end, step are mutually exclusive.", "name": "time", "in": "query" - }, - { - "type": "string", - "description": "Additional operations. Currently available types is statistics. It retrieves the total number of workspaces, devops projects, namespaces, accounts in the cluster at the moment.", - "name": "type", - "in": "query" } ], "responses": { "200": { "description": "ok", "schema": { - "$ref": "#/definitions/metrics.Response" + "$ref": "#/definitions/monitoring.Metrics" } }, "default": { "description": "ok", "schema": { - "$ref": "#/definitions/metrics.Response" + "$ref": "#/definitions/monitoring.Metrics" } } } } }, - "/kapis/monitoring.kubesphere.io/v1alpha2/components/{component}": { + "/kapis/monitoring.kubesphere.io/v1alpha3/components/{component}": { "get": { - "consumes": [ - "application/json", - "application/xml" - ], "produces": [ "application/json" ], @@ -5374,11 +5570,11 @@ "Component Metrics" ], "summary": "Get component-level metric data of the specific system component.", - "operationId": "MonitorComponent", + "operationId": "handleComponentMetricsQuery", "parameters": [ { "type": "string", - "description": "system component to monitor. One of etcd, apiserver, scheduler, controller_manager, coredns, prometheus.", + "description": "system component to monitor. One of etcd, apiserver, scheduler.", "name": "component", "in": "path", "required": true @@ -5419,24 +5615,46 @@ "200": { "description": "ok", "schema": { - "$ref": "#/definitions/metrics.Response" + "$ref": "#/definitions/monitoring.Metrics" } }, "default": { "description": "ok", "schema": { - "$ref": "#/definitions/metrics.Response" + "$ref": "#/definitions/monitoring.Metrics" } } } } }, - "/kapis/monitoring.kubesphere.io/v1alpha2/namespaces": { + "/kapis/monitoring.kubesphere.io/v1alpha3/kubesphere": { "get": { - "consumes": [ - "application/json", - "application/xml" + "produces": [ + "application/json" ], + "tags": [ + "KubeSphere Metrics" + ], + "summary": "Get platform-level metric data.", + "operationId": "handleKubeSphereMetricsQuery", + "responses": { + "200": { + "description": "ok", + "schema": { + "$ref": "#/definitions/monitoring.Metrics" + } + }, + "default": { + "description": "ok", + "schema": { + "$ref": "#/definitions/monitoring.Metrics" + } + } + } + } + }, + "/kapis/monitoring.kubesphere.io/v1alpha3/namespaces": { + "get": { "produces": [ "application/json" ], @@ -5444,7 +5662,7 @@ "Namespace Metrics" ], "summary": "Get namespace-level metric data of all namespaces.", - "operationId": "MonitorNamespace", + "operationId": "handleNamespaceMetricsQuery", "parameters": [ { "type": "string", @@ -5514,24 +5732,20 @@ "200": { "description": "ok", "schema": { - "$ref": "#/definitions/metrics.Response" + "$ref": "#/definitions/monitoring.Metrics" } }, "default": { "description": "ok", "schema": { - "$ref": "#/definitions/metrics.Response" + "$ref": "#/definitions/monitoring.Metrics" } } } } }, - "/kapis/monitoring.kubesphere.io/v1alpha2/namespaces/{namespace}": { + "/kapis/monitoring.kubesphere.io/v1alpha3/namespaces/{namespace}": { "get": { - "consumes": [ - "application/json", - "application/xml" - ], "produces": [ "application/json" ], @@ -5539,7 +5753,7 @@ "Namespace Metrics" ], "summary": "Get namespace-level metric data of the specific namespace.", - "operationId": "MonitorNamespace", + "operationId": "handleNamespaceMetricsQuery", "parameters": [ { "type": "string", @@ -5584,24 +5798,20 @@ "200": { "description": "ok", "schema": { - "$ref": "#/definitions/metrics.Response" + "$ref": "#/definitions/monitoring.Metrics" } }, "default": { "description": "ok", "schema": { - "$ref": "#/definitions/metrics.Response" + "$ref": "#/definitions/monitoring.Metrics" } } } } }, - "/kapis/monitoring.kubesphere.io/v1alpha2/namespaces/{namespace}/persistentvolumeclaims": { + "/kapis/monitoring.kubesphere.io/v1alpha3/namespaces/{namespace}/persistentvolumeclaims": { "get": { - "consumes": [ - "application/json", - "application/xml" - ], "produces": [ "application/json" ], @@ -5609,7 +5819,7 @@ "PVC Metrics" ], "summary": "Get PVC-level metric data of the specific namespace's PVCs.", - "operationId": "MonitorPVC", + "operationId": "handlePVCMetricsQuery", "parameters": [ { "type": "string", @@ -5686,24 +5896,20 @@ "200": { "description": "ok", "schema": { - "$ref": "#/definitions/metrics.Response" + "$ref": "#/definitions/monitoring.Metrics" } }, "default": { "description": "ok", "schema": { - "$ref": "#/definitions/metrics.Response" + "$ref": "#/definitions/monitoring.Metrics" } } } } }, - "/kapis/monitoring.kubesphere.io/v1alpha2/namespaces/{namespace}/persistentvolumeclaims/{pvc}": { + "/kapis/monitoring.kubesphere.io/v1alpha3/namespaces/{namespace}/persistentvolumeclaims/{pvc}": { "get": { - "consumes": [ - "application/json", - "application/xml" - ], "produces": [ "application/json" ], @@ -5711,7 +5917,7 @@ "PVC Metrics" ], "summary": "Get PVC-level metric data of a specific PVC. Navigate to the PVC by the PVC's namespace.", - "operationId": "MonitorPVC", + "operationId": "handlePVCMetricsQuery", "parameters": [ { "type": "string", @@ -5763,24 +5969,20 @@ "200": { "description": "ok", "schema": { - "$ref": "#/definitions/metrics.Response" + "$ref": "#/definitions/monitoring.Metrics" } }, "default": { "description": "ok", "schema": { - "$ref": "#/definitions/metrics.Response" + "$ref": "#/definitions/monitoring.Metrics" } } } } }, - "/kapis/monitoring.kubesphere.io/v1alpha2/namespaces/{namespace}/pods": { + "/kapis/monitoring.kubesphere.io/v1alpha3/namespaces/{namespace}/pods": { "get": { - "consumes": [ - "application/json", - "application/xml" - ], "produces": [ "application/json" ], @@ -5788,7 +5990,7 @@ "Pod Metrics" ], "summary": "Get pod-level metric data of the specific namespace's pods.", - "operationId": "MonitorPod", + "operationId": "handlePodMetricsQuery", "parameters": [ { "type": "string", @@ -5865,24 +6067,20 @@ "200": { "description": "ok", "schema": { - "$ref": "#/definitions/metrics.Response" + "$ref": "#/definitions/monitoring.Metrics" } }, "default": { "description": "ok", "schema": { - "$ref": "#/definitions/metrics.Response" + "$ref": "#/definitions/monitoring.Metrics" } } } } }, - "/kapis/monitoring.kubesphere.io/v1alpha2/namespaces/{namespace}/pods/{pod}": { + "/kapis/monitoring.kubesphere.io/v1alpha3/namespaces/{namespace}/pods/{pod}": { "get": { - "consumes": [ - "application/json", - "application/xml" - ], "produces": [ "application/json" ], @@ -5890,7 +6088,7 @@ "Pod Metrics" ], "summary": "Get pod-level metric data of a specific pod. Navigate to the pod by the pod's namespace.", - "operationId": "MonitorPod", + "operationId": "handlePodMetricsQuery", "parameters": [ { "type": "string", @@ -5942,24 +6140,20 @@ "200": { "description": "ok", "schema": { - "$ref": "#/definitions/metrics.Response" + "$ref": "#/definitions/monitoring.Metrics" } }, "default": { "description": "ok", "schema": { - "$ref": "#/definitions/metrics.Response" + "$ref": "#/definitions/monitoring.Metrics" } } } } }, - "/kapis/monitoring.kubesphere.io/v1alpha2/namespaces/{namespace}/pods/{pod}/containers": { + "/kapis/monitoring.kubesphere.io/v1alpha3/namespaces/{namespace}/pods/{pod}/containers": { "get": { - "consumes": [ - "application/json", - "application/xml" - ], "produces": [ "application/json" ], @@ -5967,7 +6161,7 @@ "Container Metrics" ], "summary": "Get container-level metric data of a specific pod's containers. Navigate to the pod by the pod's namespace.", - "operationId": "MonitorContainer", + "operationId": "handleContainerMetricsQuery", "parameters": [ { "type": "string", @@ -6051,24 +6245,20 @@ "200": { "description": "ok", "schema": { - "$ref": "#/definitions/metrics.Response" + "$ref": "#/definitions/monitoring.Metrics" } }, "default": { "description": "ok", "schema": { - "$ref": "#/definitions/metrics.Response" + "$ref": "#/definitions/monitoring.Metrics" } } } } }, - "/kapis/monitoring.kubesphere.io/v1alpha2/namespaces/{namespace}/pods/{pod}/containers/{container}": { + "/kapis/monitoring.kubesphere.io/v1alpha3/namespaces/{namespace}/pods/{pod}/containers/{container}": { "get": { - "consumes": [ - "application/json", - "application/xml" - ], "produces": [ "application/json" ], @@ -6076,7 +6266,7 @@ "Container Metrics" ], "summary": "Get container-level metric data of a specific container. Navigate to the container by the pod name and the namespace.", - "operationId": "MonitorContainer", + "operationId": "handleContainerMetricsQuery", "parameters": [ { "type": "string", @@ -6135,24 +6325,177 @@ "200": { "description": "ok", "schema": { - "$ref": "#/definitions/metrics.Response" + "$ref": "#/definitions/monitoring.Metrics" } }, "default": { "description": "ok", "schema": { - "$ref": "#/definitions/metrics.Response" + "$ref": "#/definitions/monitoring.Metrics" } } } } }, - "/kapis/monitoring.kubesphere.io/v1alpha2/namespaces/{namespace}/workloads": { + "/kapis/monitoring.kubesphere.io/v1alpha3/namespaces/{namespace}/targets/labelsets": { "get": { - "consumes": [ - "application/json", - "application/xml" + "produces": [ + "application/json" ], + "tags": [ + "Custom Metrics" + ], + "summary": "List all available labels and values of a metric within a specific time span.", + "operationId": "handleMetricLabelSetQuery", + "parameters": [ + { + "type": "string", + "description": "The name of the namespace.", + "name": "namespace", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "The name of the metric", + "name": "metric", + "in": "query", + "required": true + }, + { + "type": "string", + "description": "Start time of query. It is a string with Unix time format, eg. 1559347200. ", + "name": "start", + "in": "query", + "required": true + }, + { + "type": "string", + "description": "End time of query. It is a string with Unix time format, eg. 1561939200. ", + "name": "end", + "in": "query", + "required": true + } + ], + "responses": { + "200": { + "description": "ok", + "schema": { + "$ref": "#/definitions/monitoring.MetricLabelSet" + } + }, + "default": { + "description": "ok", + "schema": { + "$ref": "#/definitions/monitoring.MetricLabelSet" + } + } + } + } + }, + "/kapis/monitoring.kubesphere.io/v1alpha3/namespaces/{namespace}/targets/metadata": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "Custom Metrics" + ], + "summary": "Get metadata of metrics for the specific namespace.", + "operationId": "handleMetadataQuery", + "parameters": [ + { + "type": "string", + "description": "The name of the namespace.", + "name": "namespace", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "ok", + "schema": { + "$ref": "#/definitions/monitoring.Metadata" + } + }, + "default": { + "description": "ok", + "schema": { + "$ref": "#/definitions/monitoring.Metadata" + } + } + } + } + }, + "/kapis/monitoring.kubesphere.io/v1alpha3/namespaces/{namespace}/targets/query": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "Custom Metrics" + ], + "summary": "Make an ad-hoc query in the specific namespace.", + "operationId": "handleAdhocQuery", + "parameters": [ + { + "type": "string", + "description": "The name of the namespace.", + "name": "namespace", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "The expression to be evaluated.", + "name": "expr", + "in": "query" + }, + { + "type": "string", + "description": "Start time of query. Use **start** and **end** to retrieve metric data over a time span. It is a string with Unix time format, eg. 1559347200. ", + "name": "start", + "in": "query" + }, + { + "type": "string", + "description": "End time of query. Use **start** and **end** to retrieve metric data over a time span. It is a string with Unix time format, eg. 1561939200. ", + "name": "end", + "in": "query" + }, + { + "type": "string", + "default": "10m", + "description": "Time interval. Retrieve metric data at a fixed interval within the time range of start and end. It requires both **start** and **end** are provided. The format is [0-9]+[smhdwy]. Defaults to 10m (i.e. 10 min).", + "name": "step", + "in": "query" + }, + { + "type": "string", + "description": "A timestamp in Unix time format. Retrieve metric data at a single point in time. Defaults to now. Time and the combination of start, end, step are mutually exclusive.", + "name": "time", + "in": "query" + } + ], + "responses": { + "200": { + "description": "ok", + "schema": { + "$ref": "#/definitions/monitoring.Metric" + } + }, + "default": { + "description": "ok", + "schema": { + "$ref": "#/definitions/monitoring.Metric" + } + } + } + } + }, + "/kapis/monitoring.kubesphere.io/v1alpha3/namespaces/{namespace}/workloads": { + "get": { "produces": [ "application/json" ], @@ -6160,7 +6503,7 @@ "Workload Metrics" ], "summary": "Get workload-level metric data of a specific namespace's workloads.", - "operationId": "MonitorWorkload", + "operationId": "handleWorkloadMetricsQuery", "parameters": [ { "type": "string", @@ -6237,24 +6580,20 @@ "200": { "description": "ok", "schema": { - "$ref": "#/definitions/metrics.Response" + "$ref": "#/definitions/monitoring.Metrics" } }, "default": { "description": "ok", "schema": { - "$ref": "#/definitions/metrics.Response" + "$ref": "#/definitions/monitoring.Metrics" } } } } }, - "/kapis/monitoring.kubesphere.io/v1alpha2/namespaces/{namespace}/workloads/{kind}": { + "/kapis/monitoring.kubesphere.io/v1alpha3/namespaces/{namespace}/workloads/{kind}": { "get": { - "consumes": [ - "application/json", - "application/xml" - ], "produces": [ "application/json" ], @@ -6262,7 +6601,7 @@ "Workload Metrics" ], "summary": "Get workload-level metric data of all workloads which belongs to a specific kind.", - "operationId": "MonitorWorkload", + "operationId": "handleWorkloadMetricsQuery", "parameters": [ { "type": "string", @@ -6346,24 +6685,20 @@ "200": { "description": "ok", "schema": { - "$ref": "#/definitions/metrics.Response" + "$ref": "#/definitions/monitoring.Metrics" } }, "default": { "description": "ok", "schema": { - "$ref": "#/definitions/metrics.Response" + "$ref": "#/definitions/monitoring.Metrics" } } } } }, - "/kapis/monitoring.kubesphere.io/v1alpha2/namespaces/{namespace}/workloads/{kind}/{workload}/pods": { + "/kapis/monitoring.kubesphere.io/v1alpha3/namespaces/{namespace}/workloads/{kind}/{workload}/pods": { "get": { - "consumes": [ - "application/json", - "application/xml" - ], "produces": [ "application/json" ], @@ -6371,7 +6706,7 @@ "Pod Metrics" ], "summary": "Get pod-level metric data of a specific workload's pods. Navigate to the workload by the namespace.", - "operationId": "MonitorPod", + "operationId": "handlePodMetricsQuery", "parameters": [ { "type": "string", @@ -6462,24 +6797,20 @@ "200": { "description": "ok", "schema": { - "$ref": "#/definitions/metrics.Response" + "$ref": "#/definitions/monitoring.Metrics" } }, "default": { "description": "ok", "schema": { - "$ref": "#/definitions/metrics.Response" + "$ref": "#/definitions/monitoring.Metrics" } } } } }, - "/kapis/monitoring.kubesphere.io/v1alpha2/nodes": { + "/kapis/monitoring.kubesphere.io/v1alpha3/nodes": { "get": { - "consumes": [ - "application/json", - "application/xml" - ], "produces": [ "application/json" ], @@ -6487,7 +6818,7 @@ "Node Metrics" ], "summary": "Get node-level metric data of all nodes.", - "operationId": "MonitorNode", + "operationId": "handleNodeMetricsQuery", "parameters": [ { "type": "string", @@ -6557,24 +6888,20 @@ "200": { "description": "ok", "schema": { - "$ref": "#/definitions/metrics.Response" + "$ref": "#/definitions/monitoring.Metrics" } }, "default": { "description": "ok", "schema": { - "$ref": "#/definitions/metrics.Response" + "$ref": "#/definitions/monitoring.Metrics" } } } } }, - "/kapis/monitoring.kubesphere.io/v1alpha2/nodes/{node}": { + "/kapis/monitoring.kubesphere.io/v1alpha3/nodes/{node}": { "get": { - "consumes": [ - "application/json", - "application/xml" - ], "produces": [ "application/json" ], @@ -6582,7 +6909,7 @@ "Node Metrics" ], "summary": "Get node-level metric data of the specific node.", - "operationId": "MonitorNode", + "operationId": "handleNodeMetricsQuery", "parameters": [ { "type": "string", @@ -6627,24 +6954,20 @@ "200": { "description": "ok", "schema": { - "$ref": "#/definitions/metrics.Response" + "$ref": "#/definitions/monitoring.Metrics" } }, "default": { "description": "ok", "schema": { - "$ref": "#/definitions/metrics.Response" + "$ref": "#/definitions/monitoring.Metrics" } } } } }, - "/kapis/monitoring.kubesphere.io/v1alpha2/nodes/{node}/pods": { + "/kapis/monitoring.kubesphere.io/v1alpha3/nodes/{node}/pods": { "get": { - "consumes": [ - "application/json", - "application/xml" - ], "produces": [ "application/json" ], @@ -6652,7 +6975,7 @@ "Pod Metrics" ], "summary": "Get pod-level metric data of all pods on a specific node.", - "operationId": "MonitorPod", + "operationId": "handlePodMetricsQuery", "parameters": [ { "type": "string", @@ -6729,24 +7052,20 @@ "200": { "description": "ok", "schema": { - "$ref": "#/definitions/metrics.Response" + "$ref": "#/definitions/monitoring.Metrics" } }, "default": { "description": "ok", "schema": { - "$ref": "#/definitions/metrics.Response" + "$ref": "#/definitions/monitoring.Metrics" } } } } }, - "/kapis/monitoring.kubesphere.io/v1alpha2/nodes/{node}/pods/{pod}": { + "/kapis/monitoring.kubesphere.io/v1alpha3/nodes/{node}/pods/{pod}": { "get": { - "consumes": [ - "application/json", - "application/xml" - ], "produces": [ "application/json" ], @@ -6754,7 +7073,7 @@ "Pod Metrics" ], "summary": "Get pod-level metric data of a specific pod. Navigate to the pod by the node where it is scheduled.", - "operationId": "MonitorPod", + "operationId": "handlePodMetricsQuery", "parameters": [ { "type": "string", @@ -6806,24 +7125,20 @@ "200": { "description": "ok", "schema": { - "$ref": "#/definitions/metrics.Response" + "$ref": "#/definitions/monitoring.Metrics" } }, "default": { "description": "ok", "schema": { - "$ref": "#/definitions/metrics.Response" + "$ref": "#/definitions/monitoring.Metrics" } } } } }, - "/kapis/monitoring.kubesphere.io/v1alpha2/storageclasses/{storageclass}/persistentvolumeclaims": { + "/kapis/monitoring.kubesphere.io/v1alpha3/storageclasses/{storageclass}/persistentvolumeclaims": { "get": { - "consumes": [ - "application/json", - "application/xml" - ], "produces": [ "application/json" ], @@ -6831,7 +7146,7 @@ "PVC Metrics" ], "summary": "Get PVC-level metric data of the specific storageclass's PVCs.", - "operationId": "MonitorPVC", + "operationId": "handlePVCMetricsQuery", "parameters": [ { "type": "string", @@ -6908,24 +7223,20 @@ "200": { "description": "ok", "schema": { - "$ref": "#/definitions/metrics.Response" + "$ref": "#/definitions/monitoring.Metrics" } }, "default": { "description": "ok", "schema": { - "$ref": "#/definitions/metrics.Response" + "$ref": "#/definitions/monitoring.Metrics" } } } } }, - "/kapis/monitoring.kubesphere.io/v1alpha2/workspaces": { + "/kapis/monitoring.kubesphere.io/v1alpha3/workspaces": { "get": { - "consumes": [ - "application/json", - "application/xml" - ], "produces": [ "application/json" ], @@ -6933,7 +7244,7 @@ "Workspace Metrics" ], "summary": "Get workspace-level metric data of all workspaces.", - "operationId": "MonitorWorkspace", + "operationId": "handleWorkspaceMetricsQuery", "parameters": [ { "type": "string", @@ -7003,24 +7314,20 @@ "200": { "description": "ok", "schema": { - "$ref": "#/definitions/metrics.Response" + "$ref": "#/definitions/monitoring.Metrics" } }, "default": { "description": "ok", "schema": { - "$ref": "#/definitions/metrics.Response" + "$ref": "#/definitions/monitoring.Metrics" } } } } }, - "/kapis/monitoring.kubesphere.io/v1alpha2/workspaces/{workspace}": { + "/kapis/monitoring.kubesphere.io/v1alpha3/workspaces/{workspace}": { "get": { - "consumes": [ - "application/json", - "application/xml" - ], "produces": [ "application/json" ], @@ -7028,7 +7335,7 @@ "Workspace Metrics" ], "summary": "Get workspace-level metric data of a specific workspace.", - "operationId": "MonitorWorkspace", + "operationId": "handleWorkspaceMetricsQuery", "parameters": [ { "type": "string", @@ -7079,24 +7386,20 @@ "200": { "description": "ok", "schema": { - "$ref": "#/definitions/metrics.Response" + "$ref": "#/definitions/monitoring.Metrics" } }, "default": { "description": "ok", "schema": { - "$ref": "#/definitions/metrics.Response" + "$ref": "#/definitions/monitoring.Metrics" } } } } }, - "/kapis/monitoring.kubesphere.io/v1alpha2/workspaces/{workspace}/namespaces": { + "/kapis/monitoring.kubesphere.io/v1alpha3/workspaces/{workspace}/namespaces": { "get": { - "consumes": [ - "application/json", - "application/xml" - ], "produces": [ "application/json" ], @@ -7104,7 +7407,7 @@ "Namespace Metrics" ], "summary": "Get namespace-level metric data of a specific workspace.", - "operationId": "MonitorNamespace", + "operationId": "handleNamespaceMetricsQuery", "parameters": [ { "type": "string", @@ -7181,13 +7484,90 @@ "200": { "description": "ok", "schema": { - "$ref": "#/definitions/metrics.Response" + "$ref": "#/definitions/monitoring.Metrics" } }, "default": { "description": "ok", "schema": { - "$ref": "#/definitions/metrics.Response" + "$ref": "#/definitions/monitoring.Metrics" + } + } + } + } + }, + "/kapis/network.kubesphere.io/v1alpha2/namespaces/{namespace}/topology": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "Network Topology" + ], + "summary": "Get the topology with specifying a namespace", + "operationId": "getNamespaceTopology", + "parameters": [ + { + "type": "string", + "description": "name of the namespace", + "name": "namespace", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "ok", + "schema": { + "$ref": "#/definitions/v1alpha2.TopologyResponse" + } + }, + "default": { + "description": "ok", + "schema": { + "$ref": "#/definitions/v1alpha2.TopologyResponse" + } + } + } + } + }, + "/kapis/network.kubesphere.io/v1alpha2/namespaces/{namespace}/topology/{node_id}": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "Network Topology" + ], + "summary": "Get the topology with specifying a node id in the whole topology and specifying a namespace", + "operationId": "getNamespaceNodeTopology", + "parameters": [ + { + "type": "string", + "description": "name of the namespace", + "name": "namespace", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "id of the node in the whole topology", + "name": "node_id", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "ok", + "schema": { + "$ref": "#/definitions/v1alpha2.NodeResponse" + } + }, + "default": { + "description": "ok", + "schema": { + "$ref": "#/definitions/v1alpha2.NodeResponse" } } } @@ -7195,14 +7575,11 @@ }, "/kapis/openpitrix.io/v1/applications": { "get": { - "consumes": [ - "application/json" - ], "produces": [ "application/json" ], "tags": [ - "Namespace Resources" + "Openpitrix Resources" ], "summary": "List all applications", "operationId": "ListApplications", @@ -7214,13 +7591,6 @@ "name": "conditions", "in": "query" }, - { - "type": "string", - "description": "the name of the project", - "name": "namespace", - "in": "path", - "required": true - }, { "type": "string", "format": "limit=%d,page=%d", @@ -7248,12 +7618,12 @@ }, "/kapis/openpitrix.io/v1/apps": { "get": { - "consumes": [ - "application/json" - ], "produces": [ "application/json" ], + "tags": [ + "Openpitrix Resources" + ], "summary": "List app templates", "operationId": "ListApps", "parameters": [ @@ -7301,9 +7671,6 @@ } }, "post": { - "consumes": [ - "application/json" - ], "produces": [ "application/json" ], @@ -7347,9 +7714,6 @@ }, "/kapis/openpitrix.io/v1/apps/{app}": { "get": { - "consumes": [ - "application/json" - ], "produces": [ "application/json" ], @@ -7383,9 +7747,6 @@ } }, "delete": { - "consumes": [ - "application/json" - ], "produces": [ "application/json" ], @@ -7467,12 +7828,12 @@ }, "/kapis/openpitrix.io/v1/apps/{app}/action": { "post": { - "consumes": [ - "application/json" - ], "produces": [ "application/json" ], + "tags": [ + "Openpitrix Resources" + ], "summary": "Perform recover or suspend operation on app", "operationId": "DoAppAction", "parameters": [ @@ -7509,12 +7870,12 @@ }, "/kapis/openpitrix.io/v1/apps/{app}/audits": { "get": { - "consumes": [ - "application/json" - ], "produces": [ "application/json" ], + "tags": [ + "Openpitrix Resources" + ], "summary": "List audits information of the specific app template", "operationId": "ListAppVersionAudits", "parameters": [ @@ -7544,12 +7905,12 @@ }, "/kapis/openpitrix.io/v1/apps/{app}/versions": { "get": { - "consumes": [ - "application/json" - ], "produces": [ "application/json" ], + "tags": [ + "Openpitrix Resources" + ], "summary": "Get active versions of app, can filter with these fields(version_id, app_id, name, owner, description, package_name, status, type), default return all active app versions", "operationId": "ListAppVersions", "parameters": [ @@ -7604,9 +7965,6 @@ } }, "post": { - "consumes": [ - "application/json" - ], "produces": [ "application/json" ], @@ -7656,9 +8014,6 @@ }, "/kapis/openpitrix.io/v1/apps/{app}/versions/{version}": { "get": { - "consumes": [ - "application/json" - ], "produces": [ "application/json" ], @@ -7699,9 +8054,6 @@ } }, "delete": { - "consumes": [ - "application/json" - ], "produces": [ "application/json" ], @@ -7797,12 +8149,12 @@ }, "/kapis/openpitrix.io/v1/apps/{app}/versions/{version}/action": { "post": { - "consumes": [ - "application/json" - ], "produces": [ "application/json" ], + "tags": [ + "Openpitrix Resources" + ], "summary": "Perform submit or other operations on app", "operationId": "DoAppVersionAction", "parameters": [ @@ -7839,12 +8191,12 @@ }, "/kapis/openpitrix.io/v1/apps/{app}/versions/{version}/audits": { "get": { - "consumes": [ - "application/json" - ], "produces": [ "application/json" ], + "tags": [ + "Openpitrix Resources" + ], "summary": "List audits information of version-specific app template", "operationId": "ListAppVersionAudits", "parameters": [ @@ -7881,12 +8233,12 @@ }, "/kapis/openpitrix.io/v1/apps/{app}/versions/{version}/files": { "get": { - "consumes": [ - "application/json" - ], "produces": [ "application/json" ], + "tags": [ + "Openpitrix Resources" + ], "summary": "Get app template package files", "operationId": "GetAppVersionFiles", "parameters": [ @@ -7923,12 +8275,12 @@ }, "/kapis/openpitrix.io/v1/apps/{app}/versions/{version}/package": { "get": { - "consumes": [ - "application/json" - ], "produces": [ "application/json" ], + "tags": [ + "Openpitrix Resources" + ], "summary": "Get packages of version-specific app", "operationId": "GetAppVersionPackage", "parameters": [ @@ -7965,12 +8317,12 @@ }, "/kapis/openpitrix.io/v1/attachments/{attachment}": { "get": { - "consumes": [ - "application/json" - ], "produces": [ "application/json" ], + "tags": [ + "Openpitrix Resources" + ], "summary": "Get attachment by attachment id", "operationId": "DescribeAttachment", "parameters": [ @@ -8000,12 +8352,12 @@ }, "/kapis/openpitrix.io/v1/categories": { "get": { - "consumes": [ - "application/json" - ], "produces": [ "application/json" ], + "tags": [ + "Openpitrix Resources" + ], "summary": "List categories", "operationId": "ListCategories", "parameters": [ @@ -8053,9 +8405,6 @@ } }, "post": { - "consumes": [ - "application/json" - ], "produces": [ "application/json" ], @@ -8099,9 +8448,6 @@ }, "/kapis/openpitrix.io/v1/categories/{category}": { "get": { - "consumes": [ - "application/json" - ], "produces": [ "application/json" ], @@ -8135,9 +8481,6 @@ } }, "delete": { - "consumes": [ - "application/json" - ], "produces": [ "application/json" ], @@ -8217,253 +8560,15 @@ } } }, - "/kapis/openpitrix.io/v1/namespaces/{namespace}/applications": { - "get": { - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Namespace Resources" - ], - "summary": "List all applications within the specified namespace", - "operationId": "ListApplications", - "parameters": [ - { - "type": "string", - "format": "key=value,key~value", - "description": "query conditions, connect multiple conditions with commas, equal symbol for exact query, wave symbol for fuzzy query e.g. name~a", - "name": "conditions", - "in": "query" - }, - { - "type": "string", - "description": "the name of the project", - "name": "namespace", - "in": "path", - "required": true - }, - { - "type": "string", - "format": "limit=%d,page=%d", - "default": "limit=10,page=1", - "description": "paging query, e.g. limit=100,page=1", - "name": "paging", - "in": "query" - } - ], - "responses": { - "200": { - "description": "ok", - "schema": { - "$ref": "#/definitions/models.PageableResponse" - } - }, - "default": { - "description": "ok", - "schema": { - "$ref": "#/definitions/models.PageableResponse" - } - } - } - }, - "post": { - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Namespace Resources" - ], - "summary": "Deploy a new application", - "operationId": "CreateApplication", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/openpitrix.CreateClusterRequest" - } - }, - { - "type": "string", - "description": "the name of the project", - "name": "namespace", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "ok", - "schema": { - "$ref": "#/definitions/errors.Error" - } - }, - "default": { - "description": "ok", - "schema": { - "$ref": "#/definitions/errors.Error" - } - } - } - } - }, - "/kapis/openpitrix.io/v1/namespaces/{namespace}/applications/{application}": { - "get": { - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Namespace Resources" - ], - "summary": "Describe the specified application of the namespace", - "operationId": "DescribeApplication", - "parameters": [ - { - "type": "string", - "description": "the name of the project", - "name": "namespace", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "application ID", - "name": "application", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "ok", - "schema": { - "$ref": "#/definitions/openpitrix.Application" - } - }, - "default": { - "description": "ok", - "schema": { - "$ref": "#/definitions/openpitrix.Application" - } - } - } - }, - "delete": { - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Namespace Resources" - ], - "summary": "Delete the specified application", - "operationId": "DeleteApplication", - "parameters": [ - { - "type": "string", - "description": "the name of the project", - "name": "namespace", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "the id of the application cluster", - "name": "application", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "ok", - "schema": { - "$ref": "#/definitions/errors.Error" - } - }, - "default": { - "description": "ok", - "schema": { - "$ref": "#/definitions/errors.Error" - } - } - } - }, - "patch": { - "consumes": [ - "application/json", - "application/merge-patch+json", - "application/json-patch+json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Namespace Resources" - ], - "summary": "Modify application", - "operationId": "ModifyApplication", - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/openpitrix.ModifyClusterAttributesRequest" - } - }, - { - "type": "string", - "description": "the name of the project", - "name": "namespace", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "the id of the application cluster", - "name": "application", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "ok", - "schema": { - "$ref": "#/definitions/errors.Error" - } - }, - "default": { - "description": "ok", - "schema": { - "$ref": "#/definitions/errors.Error" - } - } - } - } - }, "/kapis/openpitrix.io/v1/repos": { "get": { - "consumes": [ - "application/json" - ], "produces": [ "application/json" ], - "summary": "List repositories", + "tags": [ + "Openpitrix Resources" + ], + "summary": "List repositories in the specified workspace", "operationId": "ListRepos", "parameters": [ { @@ -8510,16 +8615,13 @@ } }, "post": { - "consumes": [ - "application/json" - ], "produces": [ "application/json" ], "tags": [ "Openpitrix Resources" ], - "summary": "Create repository, repository used to store package of app", + "summary": "Create repository in the specified workspace, repository used to store package of app", "operationId": "CreateRepo", "parameters": [ { @@ -8555,16 +8657,13 @@ }, "/kapis/openpitrix.io/v1/repos/{repo}": { "get": { - "consumes": [ - "application/json" - ], "produces": [ "application/json" ], "tags": [ "Openpitrix Resources" ], - "summary": "Describe the specified repository", + "summary": "Describe the specified repository in the specified workspace", "operationId": "DescribeRepo", "parameters": [ { @@ -8591,16 +8690,13 @@ } }, "delete": { - "consumes": [ - "application/json" - ], "produces": [ "application/json" ], "tags": [ "Openpitrix Resources" ], - "summary": "Delete the specified repository", + "summary": "Delete the specified repository in the specified workspace", "operationId": "DeleteRepo", "parameters": [ { @@ -8638,7 +8734,7 @@ "tags": [ "Openpitrix Resources" ], - "summary": "Patch the specified repository", + "summary": "Patch the specified repository in the specified workspace", "operationId": "ModifyRepo", "parameters": [ { @@ -8675,12 +8771,12 @@ }, "/kapis/openpitrix.io/v1/repos/{repo}/action": { "post": { - "consumes": [ - "application/json" - ], "produces": [ "application/json" ], + "tags": [ + "Openpitrix Resources" + ], "summary": "Start index repository event", "operationId": "DoRepoAction", "parameters": [ @@ -8718,12 +8814,12 @@ }, "/kapis/openpitrix.io/v1/repos/{repo}/events": { "get": { - "consumes": [ - "application/json" - ], "produces": [ "application/json" ], + "tags": [ + "Openpitrix Resources" + ], "summary": "Get repository events", "operationId": "ListRepoEvents", "parameters": [ @@ -8753,12 +8849,12 @@ }, "/kapis/openpitrix.io/v1/reviews": { "get": { - "consumes": [ - "application/json" - ], "produces": [ "application/json" ], + "tags": [ + "Openpitrix Resources" + ], "summary": "Get reviews of version-specific app", "operationId": "ListReviews", "parameters": [ @@ -8794,16 +8890,1350 @@ } } }, - "/kapis/operations.kubesphere.io/v1alpha2/namespaces/{namespace}/jobs/{job}": { - "post": { - "consumes": [ + "/kapis/openpitrix.io/v1/workspaces/{workspace}/apps": { + "get": { + "produces": [ "application/json" ], + "tags": [ + "Openpitrix Resources" + ], + "summary": "List app templates in the specified workspace.", + "operationId": "ListApps", + "parameters": [ + { + "type": "string", + "description": "workspace name", + "name": "workspace", + "in": "path", + "required": true + }, + { + "type": "string", + "format": "key=%s,key~%s", + "description": "query conditions,connect multiple conditions with commas, equal symbol for exact query, wave symbol for fuzzy query e.g. name~a", + "name": "conditions", + "in": "query" + }, + { + "type": "string", + "format": "limit=%d,page=%d", + "default": "limit=10,page=1", + "description": "paging query, e.g. limit=100,page=1", + "name": "paging", + "in": "query" + }, + { + "type": "string", + "description": "sort parameters, e.g. reverse=true", + "name": "reverse", + "in": "query" + }, + { + "type": "string", + "description": "sort parameters, e.g. orderBy=createTime", + "name": "orderBy", + "in": "query" + } + ], + "responses": { + "200": { + "description": "ok", + "schema": { + "$ref": "#/definitions/models.PageableResponse" + } + }, + "default": { + "description": "ok", + "schema": { + "$ref": "#/definitions/models.PageableResponse" + } + } + } + }, + "post": { + "produces": [ + "application/json" + ], + "tags": [ + "Openpitrix Resources" + ], + "summary": "Create a new app template", + "operationId": "CreateApp", + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/openpitrix.CreateAppRequest" + } + }, + { + "type": "string", + "description": "app template id", + "name": "app", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "ok", + "schema": { + "$ref": "#/definitions/openpitrix.CreateAppResponse" + } + }, + "default": { + "description": "ok", + "schema": { + "$ref": "#/definitions/openpitrix.CreateAppResponse" + } + } + } + } + }, + "/kapis/openpitrix.io/v1/workspaces/{workspace}/apps/{app}": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "Openpitrix Resources" + ], + "summary": "Describe the specified app template", + "operationId": "DescribeApp", + "parameters": [ + { + "type": "string", + "description": "app template id", + "name": "app", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "ok", + "schema": { + "$ref": "#/definitions/openpitrix.AppVersion" + } + }, + "default": { + "description": "ok", + "schema": { + "$ref": "#/definitions/openpitrix.AppVersion" + } + } + } + }, + "delete": { + "produces": [ + "application/json" + ], + "tags": [ + "Openpitrix Resources" + ], + "summary": "Delete the specified app template", + "operationId": "DeleteApp", + "parameters": [ + { + "type": "string", + "description": "app template id", + "name": "app", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "ok", + "schema": { + "$ref": "#/definitions/errors.Error" + } + }, + "default": { + "description": "ok", + "schema": { + "$ref": "#/definitions/errors.Error" + } + } + } + }, + "patch": { + "consumes": [ + "application/json", + "application/merge-patch+json", + "application/json-patch+json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Openpitrix Resources" + ], + "summary": "Patch the specified app template", + "operationId": "ModifyApp", + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/openpitrix.ModifyAppVersionRequest" + } + }, + { + "type": "string", + "description": "app template id", + "name": "app", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "ok", + "schema": { + "$ref": "#/definitions/errors.Error" + } + }, + "default": { + "description": "ok", + "schema": { + "$ref": "#/definitions/errors.Error" + } + } + } + } + }, + "/kapis/openpitrix.io/v1/workspaces/{workspace}/apps/{app}/action": { + "post": { + "produces": [ + "application/json" + ], + "tags": [ + "Openpitrix Resources" + ], + "summary": "Perform recover or suspend operation on app", + "operationId": "DoAppAction", + "parameters": [ + { + "type": "string", + "description": "app template version id", + "name": "version", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "app template id", + "name": "app", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "ok", + "schema": { + "$ref": "#/definitions/errors.Error" + } + }, + "default": { + "description": "ok", + "schema": { + "$ref": "#/definitions/errors.Error" + } + } + } + } + }, + "/kapis/openpitrix.io/v1/workspaces/{workspace}/apps/{app}/versions": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "Openpitrix Resources" + ], + "summary": "Get active versions of app, can filter with these fields(version_id, app_id, name, owner, description, package_name, status, type), default return all active app versions", + "operationId": "ListAppVersions", + "parameters": [ + { + "type": "string", + "format": "key=%s,key~%s", + "description": "query conditions,connect multiple conditions with commas, equal symbol for exact query, wave symbol for fuzzy query e.g. name~a", + "name": "conditions", + "in": "query" + }, + { + "type": "string", + "format": "limit=%d,page=%d", + "default": "limit=10,page=1", + "description": "paging query, e.g. limit=100,page=1", + "name": "paging", + "in": "query" + }, + { + "type": "string", + "description": "app template id", + "name": "app", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "sort parameters, e.g. reverse=true", + "name": "reverse", + "in": "query" + }, + { + "type": "string", + "description": "sort parameters, e.g. orderBy=createTime", + "name": "orderBy", + "in": "query" + } + ], + "responses": { + "200": { + "description": "ok", + "schema": { + "$ref": "#/definitions/models.PageableResponse" + } + }, + "default": { + "description": "ok", + "schema": { + "$ref": "#/definitions/models.PageableResponse" + } + } + } + }, + "post": { + "produces": [ + "application/json" + ], + "tags": [ + "Openpitrix Resources" + ], + "summary": "Create a new app template version", + "operationId": "CreateAppVersion", + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/openpitrix.CreateAppVersionRequest" + } + }, + { + "type": "string", + "description": "Validate format of package(pack by op tool)", + "name": "validate", + "in": "query" + }, + { + "type": "string", + "description": "app template id", + "name": "app", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "ok", + "schema": { + "$ref": "#/definitions/openpitrix.CreateAppVersionResponse" + } + }, + "default": { + "description": "ok", + "schema": { + "$ref": "#/definitions/openpitrix.CreateAppVersionResponse" + } + } + } + } + }, + "/kapis/openpitrix.io/v1/workspaces/{workspace}/apps/{app}/versions/{version}": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "Openpitrix Resources" + ], + "summary": "Describe the specified app template version", + "operationId": "DescribeAppVersion", + "parameters": [ + { + "type": "string", + "description": "app template version id", + "name": "version", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "app template id", + "name": "app", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "ok", + "schema": { + "$ref": "#/definitions/openpitrix.AppVersion" + } + }, + "default": { + "description": "ok", + "schema": { + "$ref": "#/definitions/openpitrix.AppVersion" + } + } + } + }, + "delete": { + "produces": [ + "application/json" + ], + "tags": [ + "Openpitrix Resources" + ], + "summary": "Delete the specified app template version", + "operationId": "DeleteAppVersion", + "parameters": [ + { + "type": "string", + "description": "app template version id", + "name": "version", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "app template id", + "name": "app", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "ok", + "schema": { + "$ref": "#/definitions/errors.Error" + } + }, + "default": { + "description": "ok", + "schema": { + "$ref": "#/definitions/errors.Error" + } + } + } + }, + "patch": { + "consumes": [ + "application/json", + "application/merge-patch+json", + "application/json-patch+json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Openpitrix Resources" + ], + "summary": "Patch the specified app template version", + "operationId": "ModifyAppVersion", + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/openpitrix.ModifyAppVersionRequest" + } + }, + { + "type": "string", + "description": "app template version id", + "name": "version", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "app template id", + "name": "app", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "ok", + "schema": { + "$ref": "#/definitions/errors.Error" + } + }, + "default": { + "description": "ok", + "schema": { + "$ref": "#/definitions/errors.Error" + } + } + } + } + }, + "/kapis/openpitrix.io/v1/workspaces/{workspace}/apps/{app}/versions/{version}/action": { + "post": { + "produces": [ + "application/json" + ], + "tags": [ + "Openpitrix Resources" + ], + "summary": "Perform submit or other operations on app", + "operationId": "DoAppVersionAction", + "parameters": [ + { + "type": "string", + "description": "app template version id", + "name": "version", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "app template id", + "name": "app", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "ok", + "schema": { + "$ref": "#/definitions/errors.Error" + } + }, + "default": { + "description": "ok", + "schema": { + "$ref": "#/definitions/errors.Error" + } + } + } + } + }, + "/kapis/openpitrix.io/v1/workspaces/{workspace}/apps/{app}/versions/{version}/audits": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "Openpitrix Resources" + ], + "summary": "List audits information of version-specific app template", + "operationId": "ListAppVersionAudits", + "parameters": [ + { + "type": "string", + "description": "app template version id", + "name": "version", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "app template id", + "name": "app", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "ok", + "schema": { + "$ref": "#/definitions/openpitrix.AppVersionAudit" + } + }, + "default": { + "description": "ok", + "schema": { + "$ref": "#/definitions/openpitrix.AppVersionAudit" + } + } + } + } + }, + "/kapis/openpitrix.io/v1/workspaces/{workspace}/clusters/{cluster}/applications": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "Openpitrix Resources" + ], + "summary": "List all applications in special cluster", + "operationId": "ListApplications", + "parameters": [ + { + "type": "string", + "format": "key=value,key~value", + "description": "query conditions, connect multiple conditions with commas, equal symbol for exact query, wave symbol for fuzzy query e.g. name~a", + "name": "conditions", + "in": "query" + }, + { + "type": "string", + "description": "the name of the cluster.", + "name": "cluster", + "in": "path", + "required": true + }, + { + "type": "string", + "format": "limit=%d,page=%d", + "default": "limit=10,page=1", + "description": "paging query, e.g. limit=100,page=1", + "name": "paging", + "in": "query" + } + ], + "responses": { + "200": { + "description": "ok", + "schema": { + "$ref": "#/definitions/models.PageableResponse" + } + }, + "default": { + "description": "ok", + "schema": { + "$ref": "#/definitions/models.PageableResponse" + } + } + } + } + }, + "/kapis/openpitrix.io/v1/workspaces/{workspace}/clusters/{cluster}/namespaces/{namespace}/applications": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "Openpitrix Resources" + ], + "summary": "List all applications within the specified namespace", + "operationId": "ListApplications", + "parameters": [ + { + "type": "string", + "format": "key=value,key~value", + "description": "query conditions, connect multiple conditions with commas, equal symbol for exact query, wave symbol for fuzzy query e.g. name~a", + "name": "conditions", + "in": "query" + }, + { + "type": "string", + "description": "the name of the cluster.", + "name": "cluster", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "the name of the project", + "name": "namespace", + "in": "path", + "required": true + }, + { + "type": "string", + "format": "limit=%d,page=%d", + "default": "limit=10,page=1", + "description": "paging query, e.g. limit=100,page=1", + "name": "paging", + "in": "query" + } + ], + "responses": { + "200": { + "description": "ok", + "schema": { + "$ref": "#/definitions/models.PageableResponse" + } + }, + "default": { + "description": "ok", + "schema": { + "$ref": "#/definitions/models.PageableResponse" + } + } + } + }, + "post": { + "produces": [ + "application/json" + ], + "tags": [ + "Openpitrix Resources" + ], + "summary": "Deploy a new application", + "operationId": "CreateApplication", + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/openpitrix.CreateClusterRequest" + } + }, + { + "type": "string", + "description": "the name of the cluster.", + "name": "cluster", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "the name of the project", + "name": "namespace", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "ok", + "schema": { + "$ref": "#/definitions/errors.Error" + } + }, + "default": { + "description": "ok", + "schema": { + "$ref": "#/definitions/errors.Error" + } + } + } + } + }, + "/kapis/openpitrix.io/v1/workspaces/{workspace}/clusters/{cluster}/namespaces/{namespace}/applications/{application}": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "Openpitrix Resources" + ], + "summary": "Describe the specified application of the namespace", + "operationId": "DescribeApplication", + "parameters": [ + { + "type": "string", + "description": "the name of the cluster.", + "name": "cluster", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "the name of the project", + "name": "namespace", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "the id of the application", + "name": "application", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "ok", + "schema": { + "$ref": "#/definitions/openpitrix.Application" + } + }, + "default": { + "description": "ok", + "schema": { + "$ref": "#/definitions/openpitrix.Application" + } + } + } + }, + "post": { + "consumes": [ + "application/json", + "application/merge-patch+json", + "application/json-patch+json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Openpitrix Resources" + ], + "summary": "Upgrade application", + "operationId": "UpgradeApplication", + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/openpitrix.UpgradeClusterRequest" + } + }, + { + "type": "string", + "description": "the name of the cluster.", + "name": "cluster", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "the name of the project", + "name": "namespace", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "the id of the application", + "name": "application", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "ok", + "schema": { + "$ref": "#/definitions/errors.Error" + } + }, + "default": { + "description": "ok", + "schema": { + "$ref": "#/definitions/errors.Error" + } + } + } + }, + "delete": { + "produces": [ + "application/json" + ], + "tags": [ + "Openpitrix Resources" + ], + "summary": "Delete the specified application", + "operationId": "DeleteApplication", + "parameters": [ + { + "type": "string", + "description": "the name of the cluster.", + "name": "cluster", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "the name of the project", + "name": "namespace", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "the id of the application", + "name": "application", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "ok", + "schema": { + "$ref": "#/definitions/errors.Error" + } + }, + "default": { + "description": "ok", + "schema": { + "$ref": "#/definitions/errors.Error" + } + } + } + }, + "patch": { + "consumes": [ + "application/json", + "application/merge-patch+json", + "application/json-patch+json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Openpitrix Resources" + ], + "summary": "Modify application", + "operationId": "ModifyApplication", + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/openpitrix.ModifyClusterAttributesRequest" + } + }, + { + "type": "string", + "description": "the name of the cluster.", + "name": "cluster", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "the name of the project", + "name": "namespace", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "the id of the application", + "name": "application", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "ok", + "schema": { + "$ref": "#/definitions/errors.Error" + } + }, + "default": { + "description": "ok", + "schema": { + "$ref": "#/definitions/errors.Error" + } + } + } + } + }, + "/kapis/openpitrix.io/v1/workspaces/{workspace}/namespaces/{namespace}/applications": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "Openpitrix Resources" + ], + "summary": "List all applications within the specified namespace", + "operationId": "ListApplications", + "parameters": [ + { + "type": "string", + "format": "key=value,key~value", + "description": "query conditions, connect multiple conditions with commas, equal symbol for exact query, wave symbol for fuzzy query e.g. name~a", + "name": "conditions", + "in": "query" + }, + { + "type": "string", + "description": "the name of the project.", + "name": "namespace", + "in": "path", + "required": true + }, + { + "type": "string", + "format": "limit=%d,page=%d", + "default": "limit=10,page=1", + "description": "paging query, e.g. limit=100,page=1", + "name": "paging", + "in": "query" + } + ], + "responses": { + "200": { + "description": "ok", + "schema": { + "$ref": "#/definitions/models.PageableResponse" + } + }, + "default": { + "description": "ok", + "schema": { + "$ref": "#/definitions/models.PageableResponse" + } + } + } + } + }, + "/kapis/openpitrix.io/v1/workspaces/{workspace}/namespaces/{namespace}/applications/{application}": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "Openpitrix Resources" + ], + "summary": "Describe the specified application of the namespace", + "operationId": "DescribeApplication", + "parameters": [ + { + "type": "string", + "description": "the name of the project", + "name": "namespace", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "the id of the application", + "name": "application", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "ok", + "schema": { + "$ref": "#/definitions/openpitrix.Application" + } + }, + "default": { + "description": "ok", + "schema": { + "$ref": "#/definitions/openpitrix.Application" + } + } + } + } + }, + "/kapis/openpitrix.io/v1/workspaces/{workspace}/repos": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "Openpitrix Resources" + ], + "summary": "List repositories in the specified workspace", + "operationId": "ListRepos", + "parameters": [ + { + "type": "string", + "format": "key=%s,key~%s", + "description": "query conditions,connect multiple conditions with commas, equal symbol for exact query, wave symbol for fuzzy query e.g. name~a", + "name": "conditions", + "in": "query" + }, + { + "type": "string", + "format": "limit=%d,page=%d", + "default": "limit=10,page=1", + "description": "paging query, e.g. limit=100,page=1", + "name": "paging", + "in": "query" + }, + { + "type": "string", + "description": "sort parameters, e.g. reverse=true", + "name": "reverse", + "in": "query" + }, + { + "type": "string", + "description": "sort parameters, e.g. orderBy=createTime", + "name": "orderBy", + "in": "query" + } + ], + "responses": { + "200": { + "description": "ok", + "schema": { + "$ref": "#/definitions/models.PageableResponse" + } + }, + "default": { + "description": "ok", + "schema": { + "$ref": "#/definitions/models.PageableResponse" + } + } + } + }, + "post": { + "produces": [ + "application/json" + ], + "tags": [ + "Openpitrix Resources" + ], + "summary": "Create repository in the specified workspace, repository used to store package of app", + "operationId": "CreateRepo", + "parameters": [ + { + "type": "string", + "description": "Validate repository", + "name": "validate", + "in": "query" + }, + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/openpitrix.CreateRepoRequest" + } + } + ], + "responses": { + "200": { + "description": "ok", + "schema": { + "$ref": "#/definitions/openpitrix.CreateRepoResponse" + } + }, + "default": { + "description": "ok", + "schema": { + "$ref": "#/definitions/openpitrix.CreateRepoResponse" + } + } + } + } + }, + "/kapis/openpitrix.io/v1/workspaces/{workspace}/repos/{repo}": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "Openpitrix Resources" + ], + "summary": "Describe the specified repository in the specified workspace", + "operationId": "DescribeRepo", + "parameters": [ + { + "type": "string", + "description": "repo id", + "name": "repo", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "ok", + "schema": { + "$ref": "#/definitions/openpitrix.Repo" + } + }, + "default": { + "description": "ok", + "schema": { + "$ref": "#/definitions/openpitrix.Repo" + } + } + } + }, + "delete": { + "produces": [ + "application/json" + ], + "tags": [ + "Openpitrix Resources" + ], + "summary": "Delete the specified repository in the specified workspace", + "operationId": "DeleteRepo", + "parameters": [ + { + "type": "string", + "description": "repo id", + "name": "repo", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "ok", + "schema": { + "$ref": "#/definitions/errors.Error" + } + }, + "default": { + "description": "ok", + "schema": { + "$ref": "#/definitions/errors.Error" + } + } + } + }, + "patch": { + "consumes": [ + "application/json", + "application/merge-patch+json", + "application/json-patch+json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Openpitrix Resources" + ], + "summary": "Patch the specified repository in the specified workspace", + "operationId": "ModifyRepo", + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/openpitrix.ModifyRepoRequest" + } + }, + { + "type": "string", + "description": "repo id", + "name": "repo", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "ok", + "schema": { + "$ref": "#/definitions/errors.Error" + } + }, + "default": { + "description": "ok", + "schema": { + "$ref": "#/definitions/errors.Error" + } + } + } + } + }, + "/kapis/openpitrix.io/v1/workspaces/{workspace}/repos/{repo}/action": { + "post": { + "produces": [ + "application/json" + ], + "tags": [ + "Openpitrix Resources" + ], + "summary": "Start index repository event", + "operationId": "DoRepoAction", + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/openpitrix.RepoActionRequest" + } + }, + { + "type": "string", + "description": "repo id", + "name": "repo", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "ok", + "schema": { + "$ref": "#/definitions/errors.Error" + } + }, + "default": { + "description": "ok", + "schema": { + "$ref": "#/definitions/errors.Error" + } + } + } + } + }, + "/kapis/openpitrix.io/v1/workspaces/{workspace}/repos/{repo}/events": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "Openpitrix Resources" + ], + "summary": "Get repository events", + "operationId": "ListRepoEvents", + "parameters": [ + { + "type": "string", + "description": "repo id", + "name": "repo", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "ok", + "schema": { + "$ref": "#/definitions/models.PageableResponse" + } + }, + "default": { + "description": "ok", + "schema": { + "$ref": "#/definitions/models.PageableResponse" + } + } + } + } + }, + "/kapis/operations.kubesphere.io/v1alpha2/namespaces/{namespace}/jobs/{job}": { + "post": { "produces": [ "application/json" ], "summary": "Rerun job whether the job is complete or not", - "operationId": "RerunJob", + "operationId": "handleJobReRun", "deprecated": true, "parameters": [ { @@ -8850,47 +10280,8 @@ } } }, - "/kapis/operations.kubesphere.io/v1alpha2/nodes/{node}/drainage": { - "post": { - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "summary": "remove a node from service, safely evict all of your pods from a node and you can power down the node. More info: https://kubernetes.io/docs/tasks/administer-cluster/safely-drain-node/", - "operationId": "DrainNode", - "deprecated": true, - "parameters": [ - { - "type": "string", - "description": "node name", - "name": "node", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "ok", - "schema": { - "$ref": "#/definitions/errors.Error" - } - }, - "default": { - "description": "ok", - "schema": { - "$ref": "#/definitions/errors.Error" - } - } - } - } - }, "/kapis/resources.kubesphere.io/v1alpha2/abnormalworkloads": { "get": { - "consumes": [ - "application/json" - ], "produces": [ "application/json" ], @@ -8898,18 +10289,18 @@ "Cluster Resources" ], "summary": "get abnormal workloads' count of whole cluster", - "operationId": "GetClusterAbnormalWorkloads", + "operationId": "handleGetNamespacedAbnormalWorkloads", "responses": { "200": { "description": "ok", "schema": { - "$ref": "#/definitions/status.WorkLoadStatus" + "$ref": "#/definitions/api.Workloads" } }, "default": { "description": "ok", "schema": { - "$ref": "#/definitions/status.WorkLoadStatus" + "$ref": "#/definitions/api.Workloads" } } } @@ -8917,9 +10308,6 @@ }, "/kapis/resources.kubesphere.io/v1alpha2/componenthealth": { "get": { - "consumes": [ - "application/json" - ], "produces": [ "application/json" ], @@ -8927,18 +10315,18 @@ "Component Status" ], "summary": "Get the health status of system components.", - "operationId": "GetSystemHealthStatus", + "operationId": "handleGetSystemHealthStatus", "responses": { "200": { "description": "ok", "schema": { - "$ref": "#/definitions/models.HealthStatus" + "$ref": "#/definitions/v1alpha2.HealthStatus" } }, "default": { "description": "ok", "schema": { - "$ref": "#/definitions/models.HealthStatus" + "$ref": "#/definitions/v1alpha2.HealthStatus" } } } @@ -8946,9 +10334,6 @@ }, "/kapis/resources.kubesphere.io/v1alpha2/components": { "get": { - "consumes": [ - "application/json" - ], "produces": [ "application/json" ], @@ -8956,14 +10341,14 @@ "Component Status" ], "summary": "List the system components.", - "operationId": "GetComponents", + "operationId": "handleGetComponents", "responses": { "200": { "description": "ok", "schema": { "type": "array", "items": { - "$ref": "#/definitions/models.ComponentStatus" + "$ref": "#/definitions/v1alpha2.ComponentStatus" } } }, @@ -8972,7 +10357,7 @@ "schema": { "type": "array", "items": { - "$ref": "#/definitions/models.ComponentStatus" + "$ref": "#/definitions/v1alpha2.ComponentStatus" } } } @@ -8981,9 +10366,6 @@ }, "/kapis/resources.kubesphere.io/v1alpha2/components/{component}": { "get": { - "consumes": [ - "application/json" - ], "produces": [ "application/json" ], @@ -8991,7 +10373,7 @@ "Component Status" ], "summary": "Describe the specified system component.", - "operationId": "GetComponentStatus", + "operationId": "handleGetComponentStatus", "parameters": [ { "type": "string", @@ -9005,13 +10387,13 @@ "200": { "description": "ok", "schema": { - "$ref": "#/definitions/models.ComponentStatus" + "$ref": "#/definitions/v1alpha2.ComponentStatus" } }, "default": { "description": "ok", "schema": { - "$ref": "#/definitions/models.ComponentStatus" + "$ref": "#/definitions/v1alpha2.ComponentStatus" } } } @@ -9019,9 +10401,6 @@ }, "/kapis/resources.kubesphere.io/v1alpha2/git/verify": { "post": { - "consumes": [ - "application/json" - ], "produces": [ "application/json" ], @@ -9029,7 +10408,7 @@ "Verification" ], "summary": "Verify if the kubernetes secret has read access to the git repository", - "operationId": "GitReadVerify", + "operationId": "handleVerifyGitCredential", "parameters": [ { "name": "body", @@ -9058,9 +10437,6 @@ }, "/kapis/resources.kubesphere.io/v1alpha2/namespaces/{namespace}/abnormalworkloads": { "get": { - "consumes": [ - "application/json" - ], "produces": [ "application/json" ], @@ -9068,7 +10444,7 @@ "Namespace Resources" ], "summary": "get abnormal workloads' count of specified namespace", - "operationId": "GetNamespacedAbnormalWorkloads", + "operationId": "handleGetNamespacedAbnormalWorkloads", "parameters": [ { "type": "string", @@ -9082,13 +10458,13 @@ "200": { "description": "ok", "schema": { - "$ref": "#/definitions/status.WorkLoadStatus" + "$ref": "#/definitions/api.Workloads" } }, "default": { "description": "ok", "schema": { - "$ref": "#/definitions/status.WorkLoadStatus" + "$ref": "#/definitions/api.Workloads" } } } @@ -9096,9 +10472,6 @@ }, "/kapis/resources.kubesphere.io/v1alpha2/namespaces/{namespace}/daemonsets/{daemonset}/revisions/{revision}": { "get": { - "consumes": [ - "application/json" - ], "produces": [ "application/json" ], @@ -9106,7 +10479,7 @@ "Namespace Resources" ], "summary": "Get the specified daemonset revision", - "operationId": "GetDaemonSetRevision", + "operationId": "handleGetDaemonSetRevision", "parameters": [ { "type": "string", @@ -9148,9 +10521,6 @@ }, "/kapis/resources.kubesphere.io/v1alpha2/namespaces/{namespace}/deployments/{deployment}/revisions/{revision}": { "get": { - "consumes": [ - "application/json" - ], "produces": [ "application/json" ], @@ -9158,7 +10528,7 @@ "Namespace Resources" ], "summary": "Get the specified deployment revision", - "operationId": "GetDeployRevision", + "operationId": "handleGetDeploymentRevision", "parameters": [ { "type": "string", @@ -9198,68 +10568,8 @@ } } }, - "/kapis/resources.kubesphere.io/v1alpha2/namespaces/{namespace}/jobs/{job}": { - "post": { - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Namespace Resources" - ], - "summary": "Rerun job whether the job is complete or not", - "operationId": "RerunJob", - "parameters": [ - { - "type": "string", - "description": "job name", - "name": "job", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "the name of the namespace where the job runs in", - "name": "namespace", - "in": "path", - "required": true - }, - { - "type": "string", - "description": "action must be \"rerun\"", - "name": "action", - "in": "query" - }, - { - "type": "string", - "description": "version of job, rerun when the version matches", - "name": "resourceVersion", - "in": "query" - } - ], - "responses": { - "200": { - "description": "ok", - "schema": { - "$ref": "#/definitions/errors.Error" - } - }, - "default": { - "description": "ok", - "schema": { - "$ref": "#/definitions/errors.Error" - } - } - } - } - }, "/kapis/resources.kubesphere.io/v1alpha2/namespaces/{namespace}/quotas": { "get": { - "consumes": [ - "application/json" - ], "produces": [ "application/json" ], @@ -9267,7 +10577,7 @@ "Namespace Resources" ], "summary": "get specified namespace's resource quota and usage", - "operationId": "GetNamespaceQuotas", + "operationId": "handleGetNamespaceQuotas", "parameters": [ { "type": "string", @@ -9281,13 +10591,13 @@ "200": { "description": "ok", "schema": { - "$ref": "#/definitions/models.ResourceQuota" + "$ref": "#/definitions/api.ResourceQuota" } }, "default": { "description": "ok", "schema": { - "$ref": "#/definitions/models.ResourceQuota" + "$ref": "#/definitions/api.ResourceQuota" } } } @@ -9295,9 +10605,6 @@ }, "/kapis/resources.kubesphere.io/v1alpha2/namespaces/{namespace}/router": { "get": { - "consumes": [ - "application/json" - ], "produces": [ "application/json" ], @@ -9305,7 +10612,7 @@ "Namespace Resources" ], "summary": "List router of a specified project", - "operationId": "GetRouter", + "operationId": "handleGetRouter", "parameters": [ { "type": "string", @@ -9331,9 +10638,6 @@ } }, "put": { - "consumes": [ - "application/json" - ], "produces": [ "application/json" ], @@ -9341,7 +10645,7 @@ "Namespace Resources" ], "summary": "Update a router for a specified project", - "operationId": "UpdateRouter", + "operationId": "handleUpdateRouter", "parameters": [ { "type": "string", @@ -9367,9 +10671,6 @@ } }, "post": { - "consumes": [ - "application/json" - ], "produces": [ "application/json" ], @@ -9377,7 +10678,7 @@ "Namespace Resources" ], "summary": "Create a router for a specified project", - "operationId": "CreateRouter", + "operationId": "handleCreateRouter", "parameters": [ { "type": "string", @@ -9403,9 +10704,6 @@ } }, "delete": { - "consumes": [ - "application/json" - ], "produces": [ "application/json" ], @@ -9413,7 +10711,7 @@ "Namespace Resources" ], "summary": "List router of a specified project", - "operationId": "DeleteRouter", + "operationId": "handleDeleteRouter", "parameters": [ { "type": "string", @@ -9441,9 +10739,6 @@ }, "/kapis/resources.kubesphere.io/v1alpha2/namespaces/{namespace}/statefulsets/{statefulset}/revisions/{revision}": { "get": { - "consumes": [ - "application/json" - ], "produces": [ "application/json" ], @@ -9451,7 +10746,7 @@ "Namespace Resources" ], "summary": "Get the specified statefulset revision", - "operationId": "GetStatefulSetRevision", + "operationId": "handleGetStatefulSetRevision", "parameters": [ { "type": "string", @@ -9493,9 +10788,6 @@ }, "/kapis/resources.kubesphere.io/v1alpha2/namespaces/{namespace}/{resources}": { "get": { - "consumes": [ - "application/json" - ], "produces": [ "application/json" ], @@ -9503,7 +10795,8 @@ "Namespace Resources" ], "summary": "Namespace level resource query", - "operationId": "ListNamespacedResources", + "operationId": "handleListNamespaceResources", + "deprecated": true, "parameters": [ { "type": "string", @@ -9563,49 +10856,8 @@ } } }, - "/kapis/resources.kubesphere.io/v1alpha2/nodes/{node}/drainage": { - "post": { - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Cluster Resources" - ], - "summary": "remove a node from service, safely evict all of your pods from a node and you can power down the node. More info: https://kubernetes.io/docs/tasks/administer-cluster/safely-drain-node/", - "operationId": "DrainNode", - "parameters": [ - { - "type": "string", - "description": "node name", - "name": "node", - "in": "path", - "required": true - } - ], - "responses": { - "200": { - "description": "ok", - "schema": { - "$ref": "#/definitions/errors.Error" - } - }, - "default": { - "description": "ok", - "schema": { - "$ref": "#/definitions/errors.Error" - } - } - } - } - }, "/kapis/resources.kubesphere.io/v1alpha2/quotas": { "get": { - "consumes": [ - "application/json" - ], "produces": [ "application/json" ], @@ -9613,18 +10865,18 @@ "Cluster Resources" ], "summary": "get whole cluster's resource usage", - "operationId": "GetClusterQuotas", + "operationId": "handleGetClusterQuotas", "responses": { "200": { "description": "ok", "schema": { - "$ref": "#/definitions/models.ResourceQuota" + "$ref": "#/definitions/api.ResourceQuota" } }, "default": { "description": "ok", "schema": { - "$ref": "#/definitions/models.ResourceQuota" + "$ref": "#/definitions/api.ResourceQuota" } } } @@ -9632,9 +10884,6 @@ }, "/kapis/resources.kubesphere.io/v1alpha2/registry/blob": { "get": { - "consumes": [ - "application/json" - ], "produces": [ "application/json" ], @@ -9642,7 +10891,7 @@ "Docker Registry" ], "summary": "Retrieve the blob from the registry identified", - "operationId": "RegistryImageBlob", + "operationId": "handleGetRegistryEntry", "parameters": [ { "type": "string", @@ -9685,9 +10934,6 @@ }, "/kapis/resources.kubesphere.io/v1alpha2/registry/verify": { "post": { - "consumes": [ - "application/json" - ], "produces": [ "application/json" ], @@ -9695,14 +10941,14 @@ "Verification" ], "summary": "verify if a user has access to the docker registry", - "operationId": "RegistryVerify", + "operationId": "handleVerifyRegistryCredential", "parameters": [ { "name": "body", "in": "body", "required": true, "schema": { - "$ref": "#/definitions/registries.AuthInfo" + "$ref": "#/definitions/api.RegistryCredential" } } ], @@ -9722,40 +10968,8 @@ } } }, - "/kapis/resources.kubesphere.io/v1alpha2/routers": { - "get": { - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Cluster Resources" - ], - "summary": "List all routers of all projects", - "operationId": "GetAllRouters", - "responses": { - "200": { - "description": "ok", - "schema": { - "$ref": "#/definitions/v1.ServiceList" - } - }, - "default": { - "description": "ok", - "schema": { - "$ref": "#/definitions/v1.ServiceList" - } - } - } - } - }, "/kapis/resources.kubesphere.io/v1alpha2/users/{user}/kubeconfig": { "get": { - "consumes": [ - "application/json" - ], "produces": [ "text/plain", "application/json" @@ -9792,9 +11006,6 @@ }, "/kapis/resources.kubesphere.io/v1alpha2/users/{user}/kubectl": { "get": { - "consumes": [ - "application/json" - ], "produces": [ "application/json" ], @@ -9802,7 +11013,7 @@ "User Resources" ], "summary": "get user's kubectl pod", - "operationId": "GetKubectl", + "operationId": "GetKubectlPod", "parameters": [ { "type": "string", @@ -9830,21 +11041,19 @@ }, "/kapis/resources.kubesphere.io/v1alpha2/{resources}": { "get": { - "consumes": [ - "application/json" - ], "produces": [ "application/json" ], "tags": [ "Cluster Resources" ], - "summary": "Cluster level resource query", - "operationId": "ListResources", + "summary": "Cluster level resources", + "operationId": "handleListNamespaceResources", + "deprecated": true, "parameters": [ { "type": "string", - "description": "cluster level resource type, e.g. nodes,workspaces,storageclasses,clusterroles.", + "description": "cluster level resource type, e.g. nodes,workspaces,storageclasses,clusterrole.", "name": "resources", "in": "path", "required": true @@ -9893,11 +11102,329 @@ } } }, - "/kapis/servicemesh.kubesphere.io/v1alpha2/namespaces/graph": { + "/kapis/resources.kubesphere.io/v1alpha3/componenthealth": { "get": { - "consumes": [ + "produces": [ "application/json" ], + "tags": [ + "Component Status" + ], + "summary": "Get the health status of system components.", + "operationId": "handleGetSystemHealthStatus", + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1alpha2.HealthStatus" + } + }, + "default": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1alpha2.HealthStatus" + } + } + } + } + }, + "/kapis/resources.kubesphere.io/v1alpha3/components": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "Component Status" + ], + "summary": "List the system components.", + "operationId": "handleGetComponents", + "responses": { + "200": { + "description": "OK", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/v1alpha2.ComponentStatus" + } + } + }, + "default": { + "description": "OK", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/v1alpha2.ComponentStatus" + } + } + } + } + } + }, + "/kapis/resources.kubesphere.io/v1alpha3/components/{component}": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "Component Status" + ], + "summary": "Describe the specified system component.", + "operationId": "handleGetComponentStatus", + "parameters": [ + { + "type": "string", + "description": "component name", + "name": "component", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1alpha2.ComponentStatus" + } + }, + "default": { + "description": "OK", + "schema": { + "$ref": "#/definitions/v1alpha2.ComponentStatus" + } + } + } + } + }, + "/kapis/resources.kubesphere.io/v1alpha3/namespaces/{namespace}/{resources}": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "Namespaced Resource" + ], + "summary": "Namespace level resource query", + "operationId": "handleListResources", + "parameters": [ + { + "type": "string", + "description": "the name of the project", + "name": "namespace", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "namespace level resource type, e.g. pods,jobs,configmaps,services.", + "name": "resources", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name used to do filtering", + "name": "name", + "in": "query" + }, + { + "type": "string", + "format": "page=%d", + "default": "page=1", + "description": "page", + "name": "page", + "in": "query" + }, + { + "type": "string", + "description": "limit", + "name": "limit", + "in": "query" + }, + { + "type": "string", + "default": "ascending=false", + "description": "sort parameters, e.g. reverse=true", + "name": "ascending", + "in": "query" + }, + { + "type": "string", + "description": "sort parameters, e.g. orderBy=createTime", + "name": "sortBy", + "in": "query" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/api.ListResult" + } + }, + "default": { + "description": "OK", + "schema": { + "$ref": "#/definitions/api.ListResult" + } + } + } + } + }, + "/kapis/resources.kubesphere.io/v1alpha3/namespaces/{namespace}/{resources}/{name}": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "Namespaced Resource" + ], + "summary": "Namespace level get resource query", + "operationId": "handleGetResources", + "parameters": [ + { + "type": "string", + "description": "the name of the project", + "name": "namespace", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "namespace level resource type, e.g. pods,jobs,configmaps,services.", + "name": "resources", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "the name of resource", + "name": "name", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/api.ListResult" + } + }, + "default": { + "description": "OK", + "schema": { + "$ref": "#/definitions/api.ListResult" + } + } + } + } + }, + "/kapis/resources.kubesphere.io/v1alpha3/{resources}": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "Clustered Resource" + ], + "summary": "Cluster level resources", + "operationId": "handleListResources", + "parameters": [ + { + "type": "string", + "description": "cluster level resource type, e.g. pods,jobs,configmaps,services.", + "name": "resources", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name used to do filtering", + "name": "name", + "in": "query" + }, + { + "type": "string", + "format": "page=%d", + "default": "page=1", + "description": "page", + "name": "page", + "in": "query" + }, + { + "type": "string", + "description": "limit", + "name": "limit", + "in": "query" + }, + { + "type": "string", + "default": "ascending=false", + "description": "sort parameters, e.g. reverse=true", + "name": "ascending", + "in": "query" + }, + { + "type": "string", + "description": "sort parameters, e.g. orderBy=createTime", + "name": "sortBy", + "in": "query" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/api.ListResult" + } + }, + "default": { + "description": "OK", + "schema": { + "$ref": "#/definitions/api.ListResult" + } + } + } + } + }, + "/kapis/resources.kubesphere.io/v1alpha3/{resources}/{name}": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "Clustered Resource" + ], + "summary": "Cluster level resource", + "operationId": "handleGetResources", + "parameters": [ + { + "type": "string", + "description": "cluster level resource type, e.g. pods,jobs,configmaps,services.", + "name": "resources", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "the name of the clustered resources", + "name": "name", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "ok" + }, + "default": { + "description": "ok" + } + } + } + }, + "/kapis/servicemesh.kubesphere.io/v1alpha2/namespaces/graph": { + "get": { "produces": [ "application/json" ], @@ -9905,7 +11432,7 @@ "ServiceMesh" ], "summary": "Get graph from all namespaces", - "operationId": "GetNamespacesGraph", + "operationId": "getNamespacesGraph", "parameters": [ { "type": "string", @@ -9946,7 +11473,7 @@ "200": { "description": "ok", "schema": { - "$ref": "#/definitions/v1alpha2.GraphResponse" + "$ref": "#/definitions/v1alpha2.graphResponse" } }, "400": { @@ -9964,7 +11491,7 @@ "default": { "description": "ok", "schema": { - "$ref": "#/definitions/v1alpha2.GraphResponse" + "$ref": "#/definitions/v1alpha2.graphResponse" } } } @@ -9972,9 +11499,6 @@ }, "/kapis/servicemesh.kubesphere.io/v1alpha2/namespaces/{namespace}/apps/{app}/health": { "get": { - "consumes": [ - "application/json" - ], "produces": [ "application/json" ], @@ -9982,7 +11506,7 @@ "ServiceMesh" ], "summary": "Get app health", - "operationId": "GetAppHealth", + "operationId": "getAppHealth", "parameters": [ { "type": "string", @@ -10031,9 +11555,6 @@ }, "/kapis/servicemesh.kubesphere.io/v1alpha2/namespaces/{namespace}/apps/{app}/metrics": { "get": { - "consumes": [ - "application/json" - ], "produces": [ "application/json" ], @@ -10041,7 +11562,7 @@ "ServiceMesh" ], "summary": "Get app metrics from a specific namespace", - "operationId": "GetAppMetrics", + "operationId": "getAppMetrics", "parameters": [ { "type": "string", @@ -10131,13 +11652,13 @@ "200": { "description": "ok", "schema": { - "$ref": "#/definitions/v1alpha2.MetricsResponse" + "$ref": "#/definitions/v1alpha2.metricsResponse" } }, "default": { "description": "ok", "schema": { - "$ref": "#/definitions/v1alpha2.MetricsResponse" + "$ref": "#/definitions/v1alpha2.metricsResponse" } } } @@ -10145,9 +11666,6 @@ }, "/kapis/servicemesh.kubesphere.io/v1alpha2/namespaces/{namespace}/graph": { "get": { - "consumes": [ - "application/json" - ], "produces": [ "application/json" ], @@ -10155,7 +11673,7 @@ "ServiceMesh" ], "summary": "Get service graph for a specific namespace", - "operationId": "GetNamespaceGraph", + "operationId": "getNamespaceGraph", "parameters": [ { "type": "string", @@ -10203,7 +11721,7 @@ "200": { "description": "ok", "schema": { - "$ref": "#/definitions/v1alpha2.GraphResponse" + "$ref": "#/definitions/v1alpha2.graphResponse" } }, "400": { @@ -10221,7 +11739,7 @@ "default": { "description": "ok", "schema": { - "$ref": "#/definitions/v1alpha2.GraphResponse" + "$ref": "#/definitions/v1alpha2.graphResponse" } } } @@ -10229,9 +11747,6 @@ }, "/kapis/servicemesh.kubesphere.io/v1alpha2/namespaces/{namespace}/health": { "get": { - "consumes": [ - "application/json" - ], "produces": [ "application/json" ], @@ -10239,7 +11754,7 @@ "ServiceMesh" ], "summary": "Get app/service/workload health of a namespace", - "operationId": "GetNamespaceHealth", + "operationId": "getNamespaceHealth", "parameters": [ { "type": "string", @@ -10248,14 +11763,6 @@ "in": "path", "required": true }, - { - "type": "string", - "default": "app", - "description": "the type of health, app/service/workload, default app", - "name": "type", - "in": "path", - "required": true - }, { "type": "string", "default": "10m", @@ -10301,9 +11808,6 @@ }, "/kapis/servicemesh.kubesphere.io/v1alpha2/namespaces/{namespace}/metrics": { "get": { - "consumes": [ - "application/json" - ], "produces": [ "application/json" ], @@ -10311,7 +11815,7 @@ "ServiceMesh" ], "summary": "Get metrics from a specific namespace", - "operationId": "GetNamespaceMetrics", + "operationId": "getNamespaceMetrics", "parameters": [ { "type": "string", @@ -10320,13 +11824,6 @@ "in": "path", "required": true }, - { - "type": "string", - "description": "name of the service", - "name": "service", - "in": "path", - "required": true - }, { "type": "string", "default": "[]", @@ -10401,13 +11898,13 @@ "200": { "description": "ok", "schema": { - "$ref": "#/definitions/v1alpha2.MetricsResponse" + "$ref": "#/definitions/v1alpha2.metricsResponse" } }, "default": { "description": "ok", "schema": { - "$ref": "#/definitions/v1alpha2.MetricsResponse" + "$ref": "#/definitions/v1alpha2.metricsResponse" } } } @@ -10415,9 +11912,6 @@ }, "/kapis/servicemesh.kubesphere.io/v1alpha2/namespaces/{namespace}/services/{service}/health": { "get": { - "consumes": [ - "application/json" - ], "produces": [ "application/json" ], @@ -10425,7 +11919,7 @@ "ServiceMesh" ], "summary": "Get service health", - "operationId": "GetServiceHealth", + "operationId": "getServiceHealth", "parameters": [ { "type": "string", @@ -10474,9 +11968,6 @@ }, "/kapis/servicemesh.kubesphere.io/v1alpha2/namespaces/{namespace}/services/{service}/metrics": { "get": { - "consumes": [ - "application/json" - ], "produces": [ "application/json" ], @@ -10484,7 +11975,7 @@ "ServiceMesh" ], "summary": "Get service metrics from a specific namespace", - "operationId": "GetServiceMetrics", + "operationId": "getServiceMetrics", "parameters": [ { "type": "string", @@ -10574,13 +12065,13 @@ "200": { "description": "ok", "schema": { - "$ref": "#/definitions/v1alpha2.MetricsResponse" + "$ref": "#/definitions/v1alpha2.metricsResponse" } }, "default": { "description": "ok", "schema": { - "$ref": "#/definitions/v1alpha2.MetricsResponse" + "$ref": "#/definitions/v1alpha2.metricsResponse" } } } @@ -10598,7 +12089,7 @@ "ServiceMesh" ], "summary": "Get tracing of a service, should have servicemesh enabled first", - "operationId": "GetServiceTracing", + "operationId": "getServiceTracing", "parameters": [ { "type": "string", @@ -10661,9 +12152,6 @@ }, "/kapis/servicemesh.kubesphere.io/v1alpha2/namespaces/{namespace}/workloads/{workload}/health": { "get": { - "consumes": [ - "application/json" - ], "produces": [ "application/json" ], @@ -10671,7 +12159,7 @@ "ServiceMesh" ], "summary": "Get workload health", - "operationId": "GetWorkloadHealth", + "operationId": "getWorkloadHealth", "parameters": [ { "type": "string", @@ -10720,9 +12208,6 @@ }, "/kapis/servicemesh.kubesphere.io/v1alpha2/namespaces/{namespace}/workloads/{workload}/metrics": { "get": { - "consumes": [ - "application/json" - ], "produces": [ "application/json" ], @@ -10730,7 +12215,7 @@ "ServiceMesh" ], "summary": "Get workload metrics from a specific namespace", - "operationId": "GetWorkloadMetrics", + "operationId": "getWorkloadMetrics", "parameters": [ { "type": "string", @@ -10746,13 +12231,6 @@ "in": "path", "required": true }, - { - "type": "string", - "description": "name of the service", - "name": "service", - "in": "path", - "required": true - }, { "type": "string", "default": "[]", @@ -10827,80 +12305,382 @@ "200": { "description": "ok", "schema": { - "$ref": "#/definitions/v1alpha2.MetricsResponse" + "$ref": "#/definitions/v1alpha2.metricsResponse" } }, "default": { "description": "ok", "schema": { - "$ref": "#/definitions/v1alpha2.MetricsResponse" + "$ref": "#/definitions/v1alpha2.metricsResponse" } } } } }, - "/kapis/tenant.kubesphere.io/v1alpha2/devops/{devops}/rules": { + "/kapis/tenant.kubesphere.io/v1alpha2/auditing/events": { "get": { "consumes": [ - "application/json" + "application/json", + "application/xml" ], "produces": [ - "application/json" + "application/json", + "text/plain" ], "tags": [ - "Tenant Resources" + "Auditing Query" ], - "summary": "List the rules of the specified DevOps project for the current user", - "operationId": "ListDevopsRules", + "summary": "Query auditing events against the cluster", + "operationId": "Auditing", "parameters": [ { "type": "string", - "description": "devops project ID", - "name": "devops", - "in": "path", - "required": true + "default": "query", + "description": "Operation type. This can be one of three types: `query` (for querying events), `statistics` (for retrieving statistical data), `histogram` (for displaying events count by time interval). Defaults to query.", + "name": "operation", + "in": "query" + }, + { + "type": "string", + "description": "A comma-separated list of workspaces. This field restricts the query to specified workspaces. For example, the following filter matches the workspace my-ws and demo-ws: `my-ws,demo-ws`.", + "name": "workspace_filter", + "in": "query" + }, + { + "type": "string", + "description": "A comma-separated list of keywords. Differing from **workspace_filter**, this field performs fuzzy matching on workspaces. For example, the following value limits the query to workspaces whose name contains the word my(My,MY,...) *OR* demo(Demo,DemO,...): `my,demo`.", + "name": "workspace_search", + "in": "query" + }, + { + "type": "string", + "description": "A comma-separated list of namespaces. This field restricts the query to specified `ObjectRef.Namespace`.", + "name": "objectref_namespace_filter", + "in": "query" + }, + { + "type": "string", + "description": "A comma-separated list of keywords. Differing from **objectref_namespace_filter**, this field performs fuzzy matching on `ObjectRef.Namespace`.", + "name": "objectref_namespace_search", + "in": "query" + }, + { + "type": "string", + "description": "A comma-separated list of names. This field restricts the query to specified `ObjectRef.Name`.", + "name": "objectref_name_filter", + "in": "query" + }, + { + "type": "string", + "description": "A comma-separated list of keywords. Differing from **objectref_name_filter**, this field performs fuzzy matching on `ObjectRef.Name`.", + "name": "objectref_name_search", + "in": "query" + }, + { + "type": "string", + "description": "A comma-separated list of levels. This know values are Metadata, Request, RequestResponse.", + "name": "level_filter", + "in": "query" + }, + { + "type": "string", + "description": "A comma-separated list of verbs. This field restricts the query to specified verb. This field restricts the query to specified `Verb`.", + "name": "verb_filter", + "in": "query" + }, + { + "type": "string", + "description": "A comma-separated list of user. This field restricts the query to specified user. For example, the following filter matches the user user1 and user2: `user1,user2`.", + "name": "user_filter", + "in": "query" + }, + { + "type": "string", + "description": "A comma-separated list of keywords. Differing from **user_filter**, this field performs fuzzy matching on 'User.username'. For example, the following value limits the query to user whose name contains the word my(My,MY,...) *OR* demo(Demo,DemO,...): `my,demo`.", + "name": "user_search", + "in": "query" + }, + { + "type": "string", + "description": "A comma-separated list of keywords. This field performs fuzzy matching on 'User.Groups'. For example, the following value limits the query to group which contains the word my(My,MY,...) *OR* demo(Demo,DemO,...): `my,demo`.", + "name": "group_search", + "in": "query" + }, + { + "type": "string", + "description": "A comma-separated list of keywords. This field performs fuzzy matching on 'SourceIPs'. For example, the following value limits the query to SourceIPs which contains 127.0 *OR* 192.168.: `127.0,192.168.`.", + "name": "source_ip_search", + "in": "query" + }, + { + "type": "string", + "description": "A comma-separated list of resource. This field restricts the query to specified ip. This field restricts the query to specified `ObjectRef.Resource`.", + "name": "objectref_resource_filter", + "in": "query" + }, + { + "type": "string", + "description": "A comma-separated list of subresource. This field restricts the query to specified subresource. This field restricts the query to specified `ObjectRef.Subresource`.", + "name": "objectref_subresource_filter", + "in": "query" + }, + { + "type": "string", + "description": "A comma-separated list of response status code. This field restricts the query to specified response status code. This field restricts the query to specified `ResponseStatus.code`.", + "name": "response_code_filter", + "in": "query" + }, + { + "type": "string", + "description": "A comma-separated list of response status. This field restricts the query to specified response status. This field restricts the query to specified `ResponseStatus.status`.", + "name": "response_status_filter", + "in": "query" + }, + { + "type": "string", + "description": "Start time of query (limits `RequestReceivedTimestamp`). The format is a string representing seconds since the epoch, eg. 1136214245.", + "name": "start_time", + "in": "query" + }, + { + "type": "string", + "description": "End time of query (limits `RequestReceivedTimestamp`). The format is a string representing seconds since the epoch, eg. 1136214245.", + "name": "end_time", + "in": "query" + }, + { + "type": "string", + "default": "15m", + "description": "Time interval. It requires **operation** is set to `histogram`. The format is [0-9]+[smhdwMqy]. Defaults to 15m (i.e. 15 min).", + "name": "interval", + "in": "query" + }, + { + "type": "string", + "default": "desc", + "description": "Sort order. One of asc, desc. This field sorts events by `RequestReceivedTimestamp`.", + "name": "sort", + "in": "query" + }, + { + "type": "integer", + "default": 0, + "description": "The offset from the result set. This field returns query results from the specified offset. It requires **operation** is set to `query`. Defaults to 0 (i.e. from the beginning of the result set).", + "name": "from", + "in": "query" + }, + { + "type": "integer", + "default": 10, + "description": "Size of result set to return. It requires **operation** is set to `query`. Defaults to 10 (i.e. 10 event records).", + "name": "size", + "in": "query" } ], "responses": { "200": { "description": "ok", "schema": { - "$ref": "#/definitions/models.SimpleRule" + "$ref": "#/definitions/v1alpha1.APIResponse" } }, "default": { "description": "ok", "schema": { - "$ref": "#/definitions/models.SimpleRule" + "$ref": "#/definitions/v1alpha1.APIResponse" } } } } }, - "/kapis/tenant.kubesphere.io/v1alpha2/devopscount": { + "/kapis/tenant.kubesphere.io/v1alpha2/clusters": { "get": { - "consumes": [ - "application/json" - ], "produces": [ "application/json" ], "tags": [ "Tenant Resources" ], - "summary": "Get the devops projects count for the member", - "operationId": "GetDevOpsProjectsCount", + "summary": "List clusters available to users", + "operationId": "ListClusters", "responses": { "200": { "description": "ok", "schema": { - "$ref": "#/definitions/tenant.Count" + "$ref": "#/definitions/api.ListResult" } }, "default": { "description": "ok", "schema": { - "$ref": "#/definitions/tenant.Count" + "$ref": "#/definitions/api.ListResult" + } + } + } + } + }, + "/kapis/tenant.kubesphere.io/v1alpha2/events": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "Events Query" + ], + "summary": "Query events against the cluster", + "operationId": "Events", + "parameters": [ + { + "type": "string", + "default": "query", + "description": "Operation type. This can be one of three types: `query` (for querying events), `statistics` (for retrieving statistical data), `histogram` (for displaying events count by time interval). Defaults to query.", + "name": "operation", + "in": "query" + }, + { + "type": "string", + "description": "A comma-separated list of workspaces. This field restricts the query to specified workspaces. For example, the following filter matches the workspace my-ws and demo-ws: `my-ws,demo-ws`.", + "name": "workspace_filter", + "in": "query" + }, + { + "type": "string", + "description": "A comma-separated list of keywords. Differing from **workspace_filter**, this field performs fuzzy matching on workspaces. For example, the following value limits the query to workspaces whose name contains the word my(My,MY,...) *OR* demo(Demo,DemO,...): `my,demo`.", + "name": "workspace_search", + "in": "query" + }, + { + "type": "string", + "description": "A comma-separated list of namespaces. This field restricts the query to specified `involvedObject.namespace`.", + "name": "involved_object_namespace_filter", + "in": "query" + }, + { + "type": "string", + "description": "A comma-separated list of keywords. Differing from **involved_object_namespace_filter**, this field performs fuzzy matching on `involvedObject.namespace`", + "name": "involved_object_namespace_search", + "in": "query" + }, + { + "type": "string", + "description": "A comma-separated list of names. This field restricts the query to specified `involvedObject.name`.", + "name": "involved_object_name_filter", + "in": "query" + }, + { + "type": "string", + "description": "A comma-separated list of keywords. Differing from **involved_object_name_filter**, this field performs fuzzy matching on `involvedObject.name`.", + "name": "involved_object_name_search", + "in": "query" + }, + { + "type": "string", + "description": "A comma-separated list of kinds. This field restricts the query to specified `involvedObject.kind`.", + "name": "involved_object_kind_filter", + "in": "query" + }, + { + "type": "string", + "description": "A comma-separated list of reasons. This field restricts the query to specified `reason`.", + "name": "reason_filter", + "in": "query" + }, + { + "type": "string", + "description": "A comma-separated list of keywords. Differing from **reason_filter**, this field performs fuzzy matching on `reason`.", + "name": "reason_search", + "in": "query" + }, + { + "type": "string", + "description": "A comma-separated list of keywords. This field performs fuzzy matching on `message`.", + "name": "message_search", + "in": "query" + }, + { + "type": "string", + "description": "Type of event matching on `type`. This can be one of two types: `Warning`, `Normal`", + "name": "type_filter", + "in": "query" + }, + { + "type": "string", + "description": "Start time of query (limits `lastTimestamp`). The format is a string representing seconds since the epoch, eg. 1136214245.", + "name": "start_time", + "in": "query" + }, + { + "type": "string", + "description": "End time of query (limits `lastTimestamp`). The format is a string representing seconds since the epoch, eg. 1136214245.", + "name": "end_time", + "in": "query" + }, + { + "type": "string", + "default": "15m", + "description": "Time interval. It requires **operation** is set to `histogram`. The format is [0-9]+[smhdwMqy]. Defaults to 15m (i.e. 15 min).", + "name": "interval", + "in": "query" + }, + { + "type": "string", + "default": "desc", + "description": "Sort order. One of asc, desc. This field sorts events by `lastTimestamp`.", + "name": "sort", + "in": "query" + }, + { + "type": "integer", + "default": 0, + "description": "The offset from the result set. This field returns query results from the specified offset. It requires **operation** is set to `query`. Defaults to 0 (i.e. from the beginning of the result set).", + "name": "from", + "in": "query" + }, + { + "type": "integer", + "default": 10, + "description": "Size of result set to return. It requires **operation** is set to `query`. Defaults to 10 (i.e. 10 event records).", + "name": "size", + "in": "query" + } + ], + "responses": { + "200": { + "description": "ok", + "schema": { + "$ref": "#/definitions/v1alpha1.APIResponse" + } + }, + "default": { + "description": "ok", + "schema": { + "$ref": "#/definitions/v1alpha1.APIResponse" + } + } + } + } + }, + "/kapis/tenant.kubesphere.io/v1alpha2/federatednamespaces": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "Tenant Resources" + ], + "summary": "List the federated namespaces for the current user", + "operationId": "ListFederatedNamespaces", + "responses": { + "200": { + "description": "ok", + "schema": { + "$ref": "#/definitions/api.ListResult" + } + }, + "default": { + "description": "ok", + "schema": { + "$ref": "#/definitions/api.ListResult" } } } @@ -10908,17 +12688,14 @@ }, "/kapis/tenant.kubesphere.io/v1alpha2/logs": { "get": { - "consumes": [ - "application/json" - ], "produces": [ "application/json" ], "tags": [ - "Tenant Resources" + "Log Query" ], - "summary": "Query cluster-level logs in a multi-tenants environment", - "operationId": "LogQuery", + "summary": "Query logs against the cluster.", + "operationId": "QueryLogs", "parameters": [ { "type": "string", @@ -10927,18 +12704,6 @@ "name": "operation", "in": "query" }, - { - "type": "string", - "description": "A comma-separated list of workspaces. This field restricts the query to specified workspaces. For example, the following filter matches the workspace my-ws and demo-ws: `my-ws,demo-ws`", - "name": "workspaces", - "in": "query" - }, - { - "type": "string", - "description": "A comma-separated list of keywords. Differing from **workspaces**, this field performs fuzzy matching on workspaces. For example, the following value limits the query to workspaces whose name contains the word my(My,MY,...) *OR* demo(Demo,DemO,...): `my,demo`.", - "name": "workspace_query", - "in": "query" - }, { "type": "string", "description": "A comma-separated list of namespaces. This field restricts the query to specified namespaces. For example, the following filter matches the namespace my-ns and demo-ns: `my-ns,demo-ns`", @@ -11002,20 +12767,20 @@ }, { "type": "string", - "description": "Start time of query. Default to 0. The format is a string representing milliseconds since the epoch, eg. 1559664000000.", + "description": "Start time of query. Default to 0. The format is a string representing seconds since the epoch, eg. 1559664000.", "name": "start_time", "in": "query" }, { "type": "string", - "description": "End time of query. Default to now. The format is a string representing milliseconds since the epoch, eg. 1559664000000.", + "description": "End time of query. Default to now. The format is a string representing seconds since the epoch, eg. 1559664000.", "name": "end_time", "in": "query" }, { "type": "string", "default": "desc", - "description": "Sort order. One of acs, desc. This field sorts logs by timestamp.", + "description": "Sort order. One of asc, desc. This field sorts logs by timestamp.", "name": "sort", "in": "query" }, @@ -11038,51 +12803,39 @@ "200": { "description": "ok", "schema": { - "$ref": "#/definitions/v1alpha2.Response" + "$ref": "#/definitions/v1alpha2.APIResponse" } }, "default": { "description": "ok", "schema": { - "$ref": "#/definitions/v1alpha2.Response" + "$ref": "#/definitions/v1alpha2.APIResponse" } } } } }, - "/kapis/tenant.kubesphere.io/v1alpha2/namespaces/{namespace}/rules": { + "/kapis/tenant.kubesphere.io/v1alpha2/namespaces": { "get": { - "consumes": [ - "application/json" - ], "produces": [ "application/json" ], "tags": [ "Tenant Resources" ], - "summary": "List the rules of the specified namespace for the current user", - "operationId": "ListNamespaceRules", - "parameters": [ - { - "type": "string", - "description": "the name of the namespace", - "name": "namespace", - "in": "path", - "required": true - } - ], + "summary": "List the namespaces for the current user", + "operationId": "ListNamespaces", "responses": { "200": { "description": "ok", "schema": { - "$ref": "#/definitions/models.SimpleRule" + "$ref": "#/definitions/api.ListResult" } }, "default": { "description": "ok", "schema": { - "$ref": "#/definitions/models.SimpleRule" + "$ref": "#/definitions/api.ListResult" } } } @@ -11090,9 +12843,6 @@ }, "/kapis/tenant.kubesphere.io/v1alpha2/workspaces": { "get": { - "consumes": [ - "application/json" - ], "produces": [ "application/json" ], @@ -11115,20 +12865,51 @@ } } } - } - }, - "/kapis/tenant.kubesphere.io/v1alpha2/workspaces/{workspace}": { - "get": { - "consumes": [ - "application/json" - ], + }, + "post": { "produces": [ "application/json" ], "tags": [ "Tenant Resources" ], - "summary": "Describe the specified workspace", + "summary": "Create workspace.", + "operationId": "CreateWorkspace", + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/v1alpha2.WorkspaceTemplate" + } + } + ], + "responses": { + "200": { + "description": "ok", + "schema": { + "$ref": "#/definitions/v1alpha2.WorkspaceTemplate" + } + }, + "default": { + "description": "ok", + "schema": { + "$ref": "#/definitions/v1alpha2.WorkspaceTemplate" + } + } + } + } + }, + "/kapis/tenant.kubesphere.io/v1alpha2/workspaces/{workspace}": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "Tenant Resources" + ], + "summary": "Describe workspace.", "operationId": "DescribeWorkspace", "parameters": [ { @@ -11143,73 +12924,26 @@ "200": { "description": "ok", "schema": { - "$ref": "#/definitions/v1alpha1.Workspace" + "$ref": "#/definitions/v1alpha2.WorkspaceTemplate" } }, "default": { "description": "ok", "schema": { - "$ref": "#/definitions/v1alpha1.Workspace" + "$ref": "#/definitions/v1alpha2.WorkspaceTemplate" } } } - } - }, - "/kapis/tenant.kubesphere.io/v1alpha2/workspaces/{workspace}/devops": { - "get": { - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "Tenant Resources" - ], - "summary": "List devops projects for the current user", - "operationId": "ListDevopsProjects", - "parameters": [ - { - "type": "string", - "description": "workspace name", - "name": "workspace", - "in": "path", - "required": true - }, - { - "type": "string", - "format": "limit=%d,page=%d", - "default": "limit=10,page=1", - "description": "page", - "name": "paging", - "in": "query" - }, - { - "type": "string", - "format": "key=%s,key~%s", - "description": "query conditions", - "name": "conditions", - "in": "query" - } - ], - "responses": { - "200": { - "description": "OK" - } - } }, - "post": { - "consumes": [ - "application/json" - ], + "put": { "produces": [ "application/json" ], "tags": [ "Tenant Resources" ], - "summary": "Create a devops project in the specified workspace", - "operationId": "CreateDevopsProject", + "summary": "Update workspace.", + "operationId": "UpdateWorkspace", "parameters": [ { "type": "string", @@ -11223,7 +12957,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/v1alpha2.DevOpsProject" + "$ref": "#/definitions/v1alpha2.WorkspaceTemplate" } } ], @@ -11231,31 +12965,64 @@ "200": { "description": "ok", "schema": { - "$ref": "#/definitions/v1alpha2.DevOpsProject" + "$ref": "#/definitions/v1alpha2.WorkspaceTemplate" } }, "default": { "description": "ok", "schema": { - "$ref": "#/definitions/v1alpha2.DevOpsProject" + "$ref": "#/definitions/v1alpha2.WorkspaceTemplate" } } } - } - }, - "/kapis/tenant.kubesphere.io/v1alpha2/workspaces/{workspace}/devops/{devops}": { + }, "delete": { - "consumes": [ + "produces": [ "application/json" ], + "tags": [ + "Tenant Resources" + ], + "summary": "Delete workspace.", + "operationId": "DeleteWorkspace", + "parameters": [ + { + "type": "string", + "description": "workspace name", + "name": "workspace", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "ok", + "schema": { + "$ref": "#/definitions/errors.Error" + } + }, + "default": { + "description": "ok", + "schema": { + "$ref": "#/definitions/errors.Error" + } + } + } + }, + "patch": { + "consumes": [ + "application/json", + "application/merge-patch+json", + "application/json-patch+json" + ], "produces": [ "application/json" ], "tags": [ "Tenant Resources" ], - "summary": "Delete the specified devops project from the workspace", - "operationId": "DeleteDevopsProject", + "summary": "Update workspace.", + "operationId": "PatchWorkspace", "parameters": [ { "type": "string", @@ -11265,42 +13032,40 @@ "required": true }, { - "type": "string", - "description": "devops project ID", - "name": "devops", - "in": "path", - "required": true + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/v1alpha2.WorkspaceTemplate" + } } ], "responses": { "200": { "description": "ok", "schema": { - "$ref": "#/definitions/v1alpha2.DevOpsProject" + "$ref": "#/definitions/v1alpha2.WorkspaceTemplate" } }, "default": { "description": "ok", "schema": { - "$ref": "#/definitions/v1alpha2.DevOpsProject" + "$ref": "#/definitions/v1alpha2.WorkspaceTemplate" } } } } }, - "/kapis/tenant.kubesphere.io/v1alpha2/workspaces/{workspace}/members/{member}/devops": { + "/kapis/tenant.kubesphere.io/v1alpha2/workspaces/{workspace}/clusters": { "get": { - "consumes": [ - "application/json" - ], "produces": [ "application/json" ], "tags": [ "Tenant Resources" ], - "summary": "List the devops projects for the workspace member", - "operationId": "ListDevopsProjectsByUsername", + "summary": "List clusters authorized to the specified workspace.", + "operationId": "ListWorkspaceClusters", "parameters": [ { "type": "string", @@ -11308,59 +13073,34 @@ "name": "workspace", "in": "path", "required": true - }, - { - "type": "string", - "description": "workspace member's username", - "name": "member", - "in": "path", - "required": true - }, - { - "type": "string", - "format": "limit=%d,page=%d", - "default": "limit=10,page=1", - "description": "page", - "name": "paging", - "in": "query" - }, - { - "type": "string", - "format": "key=%s,key~%s", - "description": "query conditions", - "name": "conditions", - "in": "query" } ], "responses": { "200": { "description": "ok", "schema": { - "$ref": "#/definitions/models.PageableResponse" + "$ref": "#/definitions/api.ListResult" } }, "default": { "description": "ok", "schema": { - "$ref": "#/definitions/models.PageableResponse" + "$ref": "#/definitions/api.ListResult" } } } } }, - "/kapis/tenant.kubesphere.io/v1alpha2/workspaces/{workspace}/members/{member}/namespaces": { + "/kapis/tenant.kubesphere.io/v1alpha2/workspaces/{workspace}/devops": { "get": { - "consumes": [ - "application/json" - ], "produces": [ "application/json" ], "tags": [ "Tenant Resources" ], - "summary": "List the namespaces for the workspace member", - "operationId": "ListNamespacesByUsername", + "summary": "List the devops projects of the specified workspace for the current user", + "operationId": "ListDevOpsProjects", "parameters": [ { "type": "string", @@ -11368,32 +13108,54 @@ "name": "workspace", "in": "path", "required": true - }, - { - "type": "string", - "description": "workspace member's username", - "name": "member", - "in": "path", - "required": true } ], "responses": { "200": { "description": "ok", "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/v1.Namespace" - } + "$ref": "#/definitions/api.ListResult" } }, "default": { "description": "ok", "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/v1.Namespace" - } + "$ref": "#/definitions/api.ListResult" + } + } + } + } + }, + "/kapis/tenant.kubesphere.io/v1alpha2/workspaces/{workspace}/federatednamespaces": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "Tenant Resources" + ], + "summary": "List the federated namespaces of the specified workspace for the current user", + "operationId": "ListFederatedNamespaces", + "parameters": [ + { + "type": "string", + "description": "workspace name", + "name": "workspace", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "ok", + "schema": { + "$ref": "#/definitions/api.ListResult" + } + }, + "default": { + "description": "ok", + "schema": { + "$ref": "#/definitions/api.ListResult" } } } @@ -11401,9 +13163,6 @@ }, "/kapis/tenant.kubesphere.io/v1alpha2/workspaces/{workspace}/namespaces": { "get": { - "consumes": [ - "application/json" - ], "produces": [ "application/json" ], @@ -11425,34 +13184,25 @@ "200": { "description": "ok", "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/v1.Namespace" - } + "$ref": "#/definitions/api.ListResult" } }, "default": { "description": "ok", "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/v1.Namespace" - } + "$ref": "#/definitions/api.ListResult" } } } }, "post": { - "consumes": [ - "application/json" - ], "produces": [ "application/json" ], "tags": [ "Tenant Resources" ], - "summary": "Create a namespace in the specified workspace", + "summary": "List the namespaces of the specified workspace for the current user", "operationId": "CreateNamespace", "parameters": [ { @@ -11461,42 +13211,128 @@ "name": "workspace", "in": "path", "required": true + }, + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/v1.Namespace" + } } ], "responses": { "200": { "description": "ok", "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/v1.Namespace" - } + "$ref": "#/definitions/v1.Namespace" } }, "default": { "description": "ok", "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/v1.Namespace" - } + "$ref": "#/definitions/v1.Namespace" } } } } }, "/kapis/tenant.kubesphere.io/v1alpha2/workspaces/{workspace}/namespaces/{namespace}": { - "delete": { - "consumes": [ - "application/json" - ], + "get": { "produces": [ "application/json" ], "tags": [ "Tenant Resources" ], - "summary": "Delete the specified namespace from the workspace", + "summary": "Retrieve namespace details.", + "operationId": "DescribeNamespace", + "parameters": [ + { + "type": "string", + "description": "workspace name", + "name": "workspace", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "project name", + "name": "namespace", + "in": "path", + "required": true + } + ], + "responses": { + "200": { + "description": "ok", + "schema": { + "$ref": "#/definitions/v1.Namespace" + } + }, + "default": { + "description": "ok", + "schema": { + "$ref": "#/definitions/v1.Namespace" + } + } + } + }, + "put": { + "produces": [ + "application/json" + ], + "tags": [ + "Tenant Resources" + ], + "operationId": "UpdateNamespace", + "parameters": [ + { + "type": "string", + "description": "workspace name", + "name": "workspace", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "project name", + "name": "namespace", + "in": "path", + "required": true + }, + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/v1.Namespace" + } + } + ], + "responses": { + "200": { + "description": "ok", + "schema": { + "$ref": "#/definitions/v1.Namespace" + } + }, + "default": { + "description": "ok", + "schema": { + "$ref": "#/definitions/v1.Namespace" + } + } + } + }, + "delete": { + "produces": [ + "application/json" + ], + "tags": [ + "Tenant Resources" + ], + "summary": "Delete namespace.", "operationId": "DeleteNamespace", "parameters": [ { @@ -11508,7 +13344,7 @@ }, { "type": "string", - "description": "the name of the namespace", + "description": "project name", "name": "namespace", "in": "path", "required": true @@ -11528,12 +13364,12 @@ } } } - } - }, - "/kapis/tenant.kubesphere.io/v1alpha2/workspaces/{workspace}/rules": { - "get": { + }, + "patch": { "consumes": [ - "application/json" + "application/json", + "application/merge-patch+json", + "application/json-patch+json" ], "produces": [ "application/json" @@ -11541,8 +13377,7 @@ "tags": [ "Tenant Resources" ], - "summary": "List the rules of the specified workspace for the current user", - "operationId": "ListWorkspaceRules", + "operationId": "PatchNamespace", "parameters": [ { "type": "string", @@ -11550,19 +13385,134 @@ "name": "workspace", "in": "path", "required": true + }, + { + "type": "string", + "description": "project name", + "name": "namespace", + "in": "path", + "required": true + }, + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/v1.Namespace" + } } ], "responses": { "200": { "description": "ok", "schema": { - "$ref": "#/definitions/models.SimpleRule" + "$ref": "#/definitions/v1.Namespace" } }, "default": { "description": "ok", "schema": { - "$ref": "#/definitions/models.SimpleRule" + "$ref": "#/definitions/v1.Namespace" + } + } + } + } + }, + "/kapis/tenant.kubesphere.io/v1alpha2/workspaces/{workspace}/workspacemembers/{workspacemember}/devops": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "Tenant Resources" + ], + "summary": "List the devops projects of specified workspace for the workspace member", + "operationId": "ListDevOpsProjects", + "parameters": [ + { + "type": "string", + "description": "workspace name", + "name": "workspace", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "workspacemember username", + "name": "workspacemember", + "in": "path", + "required": true + }, + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/v1.Namespace" + } + } + ], + "responses": { + "200": { + "description": "ok", + "schema": { + "$ref": "#/definitions/v1.Namespace" + } + }, + "default": { + "description": "ok", + "schema": { + "$ref": "#/definitions/v1.Namespace" + } + } + } + } + }, + "/kapis/tenant.kubesphere.io/v1alpha2/workspaces/{workspace}/workspacemembers/{workspacemember}/namespaces": { + "get": { + "produces": [ + "application/json" + ], + "tags": [ + "Tenant Resources" + ], + "summary": "List the namespaces of the specified workspace for the workspace member", + "operationId": "ListNamespaces", + "parameters": [ + { + "type": "string", + "description": "workspace name", + "name": "workspace", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "workspacemember username", + "name": "workspacemember", + "in": "path", + "required": true + }, + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/v1.Namespace" + } + } + ], + "responses": { + "200": { + "description": "ok", + "schema": { + "$ref": "#/definitions/v1.Namespace" + } + }, + "default": { + "description": "ok", + "schema": { + "$ref": "#/definitions/v1.Namespace" } } } @@ -11570,9 +13520,6 @@ }, "/kapis/terminal.kubesphere.io/v1alpha2/namespaces/{namespace}/pods/{pod}": { "get": { - "consumes": [ - "application/json" - ], "produces": [ "application/json" ], @@ -11580,7 +13527,23 @@ "Terminal" ], "summary": "create terminal session", - "operationId": "HandleTerminalSession", + "operationId": "handleTerminalSession", + "parameters": [ + { + "type": "string", + "description": "namespace of which the pod located in", + "name": "namespace", + "in": "path", + "required": true + }, + { + "type": "string", + "description": "name of the pod", + "name": "pod", + "in": "path", + "required": true + } + ], "responses": { "200": { "description": "OK" @@ -11781,7 +13744,7 @@ "type": "string" }, "replayable": { - "description": "replayable or not", + "description": "Replayable or not", "type": "boolean" }, "result": { @@ -11793,7 +13756,7 @@ "type": "string" }, "startTime": { - "description": "start run", + "description": "the time of start", "type": "string" }, "state": { @@ -11817,6 +13780,14 @@ "shortDescription": { "description": "short description", "type": "string" + }, + "userId": { + "description": "user id", + "type": "string" + }, + "userName": { + "description": "user name", + "type": "string" } } }, @@ -12006,6 +13977,85 @@ } } }, + "api.ListResult": { + "required": [ + "items", + "totalItems" + ], + "properties": { + "items": { + "type": "array", + "items": { + "$ref": "#/definitions/api.ListResult.items" + } + }, + "totalItems": { + "type": "integer", + "format": "int32" + } + } + }, + "api.ListResult.items": {}, + "api.RegistryCredential": { + "required": [ + "username", + "password", + "serverhost" + ], + "properties": { + "password": { + "description": "password", + "type": "string" + }, + "serverhost": { + "description": "registry server host", + "type": "string" + }, + "username": { + "description": "username", + "type": "string" + } + } + }, + "api.ResourceQuota": { + "required": [ + "namespace", + "data" + ], + "properties": { + "data": { + "description": "resource quota status", + "$ref": "#/definitions/v1.ResourceQuotaStatus" + }, + "namespace": { + "description": "namespace", + "type": "string" + } + } + }, + "api.Workloads": { + "required": [ + "namespace", + "data" + ], + "properties": { + "data": { + "description": "the number of unhealthy workloads", + "type": "object", + "additionalProperties": { + "type": "integer" + } + }, + "items": { + "description": "unhealthy workloads", + "type": "object" + }, + "namespace": { + "description": "the name of the namespace", + "type": "string" + } + } + }, "big.Int": { "required": [ "neg", @@ -12226,52 +14276,6 @@ } } }, - "devops.BitbucketServerSource": { - "properties": { - "api_uri": { - "description": "The api url can specify the location of the github apiserver.For private cloud configuration", - "type": "string" - }, - "credential_id": { - "description": "credential id to access github source", - "type": "string" - }, - "discover_branches": { - "description": "Discover branch configuration", - "type": "integer", - "format": "int32" - }, - "discover_pr_from_forks": { - "description": "Discover fork PR configuration", - "$ref": "#/definitions/devops.DiscoverPRFromForks" - }, - "discover_pr_from_origin": { - "description": "Discover origin PR configuration", - "type": "integer", - "format": "int32" - }, - "git_clone_option": { - "description": "advavced git clone options", - "$ref": "#/definitions/devops.GitCloneOption" - }, - "owner": { - "description": "owner of github repo", - "type": "string" - }, - "regex_filter": { - "description": "Regex used to match the name of the branch that needs to be run", - "type": "string" - }, - "repo": { - "description": "repo name of github repo", - "type": "string" - }, - "scm_id": { - "description": "uid of scm", - "type": "string" - } - } - }, "devops.BranchPipeline": { "properties": { "_class": { @@ -12347,6 +14351,13 @@ "description": "It’s a fully qualified name and is an identifier of the producer of this resource's capability.", "type": "string" }, + "choices": { + "description": "choices", + "type": "array", + "items": { + "$ref": "#/definitions/devops.BranchPipeline.parameters.choices" + } + }, "defaultParameterValue": { "$ref": "#/definitions/.defaultParameterValue" }, @@ -12364,151 +14375,7 @@ } } }, - "devops.BranchPipelineRun": { - "properties": { - "_class": { - "description": "It’s a fully qualified name and is an identifier of the producer of this resource's capability.", - "type": "string" - }, - "_links": { - "description": "references the reachable path to this resource", - "$ref": "#/definitions/._links" - }, - "actions": { - "description": "the list of all actions", - "type": "array", - "items": { - "$ref": "#/definitions/devops.BranchPipelineRun.actions" - } - }, - "artifactsZipFile": { - "description": "the artifacts zip file", - "$ref": "#/definitions/devops.BranchPipelineRun.artifactsZipFile" - }, - "branch": { - "$ref": "#/definitions/.branch" - }, - "causeOfBlockage": { - "description": "the cause of blockage", - "$ref": "#/definitions/devops.BranchPipelineRun.causeOfBlockage" - }, - "causes": { - "type": "array", - "items": { - "$ref": "#/definitions/devops.BranchPipelineRun.causes" - } - }, - "changeSet": { - "description": "changeset information", - "type": "array", - "items": { - "$ref": "#/definitions/devops.BranchPipelineRun.changeSet" - } - }, - "commitId": { - "description": "commit id", - "type": "string" - }, - "commitUrl": { - "description": "commit url ", - "$ref": "#/definitions/devops.BranchPipelineRun.commitUrl" - }, - "description": { - "description": "description of resource", - "$ref": "#/definitions/devops.BranchPipelineRun.description" - }, - "durationInMillis": { - "description": "duration time in millis", - "type": "integer", - "format": "int32" - }, - "enQueueTime": { - "description": "the time of enter the queue", - "type": "string" - }, - "endTime": { - "description": "the time of end", - "type": "string" - }, - "estimatedDurationInMillis": { - "description": "estimated duration time, unit is millis", - "type": "integer", - "format": "int32" - }, - "id": { - "description": "id", - "type": "string" - }, - "name": { - "description": "name", - "$ref": "#/definitions/devops.BranchPipelineRun.name" - }, - "organization": { - "description": "the name of organization", - "type": "string" - }, - "pipeline": { - "description": "pipeline name", - "type": "string" - }, - "pullRequest": { - "description": "pull request", - "$ref": "#/definitions/devops.BranchPipelineRun.pullRequest" - }, - "replayable": { - "description": "replayable or not", - "type": "boolean" - }, - "result": { - "description": "the result of pipeline run. e.g. SUCCESS", - "type": "string" - }, - "runSummary": { - "description": "pipeline run summary", - "type": "string" - }, - "startTime": { - "description": "the time of start", - "type": "string" - }, - "state": { - "description": "run state. e.g. RUNNING", - "type": "string" - }, - "type": { - "description": "source type, such as \"WorkflowRun\"", - "type": "string" - } - } - }, - "devops.BranchPipelineRun.actions": {}, - "devops.BranchPipelineRun.artifactsZipFile": {}, - "devops.BranchPipelineRun.causeOfBlockage": {}, - "devops.BranchPipelineRun.causes": { - "properties": { - "_class": { - "description": "It’s a fully qualified name and is an identifier of the producer of this resource's capability.", - "type": "string" - }, - "shortDescription": { - "description": "short description", - "type": "string" - }, - "userId": { - "description": "user id", - "type": "string" - }, - "userName": { - "description": "user name", - "type": "string" - } - } - }, - "devops.BranchPipelineRun.changeSet": {}, - "devops.BranchPipelineRun.commitUrl": {}, - "devops.BranchPipelineRun.description": {}, - "devops.BranchPipelineRun.name": {}, - "devops.BranchPipelineRun.pullRequest": {}, + "devops.BranchPipeline.parameters.choices": {}, "devops.BranchPipelineRunNodes": { "properties": { "_class": { @@ -12678,24 +14545,6 @@ } }, "devops.BranchPipelineRunNodes.steps.displayDescription": {}, - "devops.BranchPipelineRuns": { - "required": [ - "items", - "total_count" - ], - "properties": { - "items": { - "type": "array", - "items": { - "$ref": "#/definitions/devops.BranchPipelineRun" - } - }, - "total_count": { - "type": "integer", - "format": "int32" - } - } - }, "devops.CheckCronRes": { "properties": { "lastTime": { @@ -12781,6 +14630,69 @@ } } }, + "devops.Credential": { + "required": [ + "id", + "type" + ], + "properties": { + "description": { + "description": "Credential's description'", + "type": "string" + }, + "display_name": { + "description": "Credential's display name", + "type": "string" + }, + "domain": { + "description": "Credential's domain,In ks we only use the default domain, default '_''", + "type": "string" + }, + "fingerprint": { + "description": "usage of the Credential", + "$ref": "#/definitions/devops.Credential.fingerprint" + }, + "id": { + "description": "Id of Credential, e.g. dockerhub-id", + "type": "string" + }, + "type": { + "description": "Type of Credential, e.g. ssh/kubeconfig", + "type": "string" + } + } + }, + "devops.Credential.fingerprint": { + "properties": { + "file_name": { + "description": "Credential's display name and description", + "type": "string" + }, + "hash": { + "description": "Credential's hash", + "type": "string" + }, + "usage": { + "description": "all usage of Credential", + "type": "array", + "items": { + "$ref": "#/definitions/devops.Credential.fingerprint.usage" + } + } + } + }, + "devops.Credential.fingerprint.usage": { + "properties": { + "name": { + "description": "pipeline full name", + "type": "string" + }, + "ranges": { + "description": "The build number of all pipelines that use this credential", + "$ref": "#/definitions/.ranges" + } + } + }, "devops.CronData": { "required": [ "cron" @@ -12812,154 +14724,6 @@ } } }, - "devops.DevOpsProjectMembership": { - "required": [ - "username", - "project_id", - "role", - "status" - ], - "properties": { - "grand_by": { - "description": "Username of the user who assigned the role", - "type": "string" - }, - "project_id": { - "description": "the DevOps Projects which project membership belongs to", - "type": "string" - }, - "role": { - "description": "DevOps Project membership's role type. e.g. owner '", - "type": "string" - }, - "status": { - "description": "Deprecated, Status of project membership. e.g. active ", - "type": "string" - }, - "username": { - "description": "Member's username,username can uniquely identify a user", - "type": "string" - } - } - }, - "devops.DiscarderProperty": { - "properties": { - "days_to_keep": { - "description": "days to keep pipeline", - "type": "string" - }, - "num_to_keep": { - "description": "nums to keep pipeline", - "type": "string" - } - } - }, - "devops.DiscoverPRFromForks": { - "properties": { - "strategy": { - "description": "github discover strategy", - "type": "integer", - "format": "int32" - }, - "trust": { - "description": "trust user type", - "type": "integer", - "format": "int32" - } - } - }, - "devops.GitCloneOption": { - "properties": { - "depth": { - "description": "git clone depth", - "type": "integer", - "format": "int32" - }, - "shallow": { - "description": "Whether to use git shallow clone", - "type": "boolean" - }, - "timeout": { - "description": "git clone timeout mins", - "type": "integer", - "format": "int32" - } - } - }, - "devops.GitSource": { - "properties": { - "credential_id": { - "description": "credential id to access git source", - "type": "string" - }, - "discover_branches": { - "description": "Whether to discover a branch", - "type": "boolean" - }, - "git_clone_option": { - "description": "advavced git clone options", - "$ref": "#/definitions/devops.GitCloneOption" - }, - "regex_filter": { - "description": "Regex used to match the name of the branch that needs to be run", - "type": "string" - }, - "scm_id": { - "description": "uid of scm", - "type": "string" - }, - "url": { - "description": "url of git source", - "type": "string" - } - } - }, - "devops.GithubSource": { - "properties": { - "api_uri": { - "description": "The api url can specify the location of the github apiserver.For private cloud configuration", - "type": "string" - }, - "credential_id": { - "description": "credential id to access github source", - "type": "string" - }, - "discover_branches": { - "description": "Discover branch configuration", - "type": "integer", - "format": "int32" - }, - "discover_pr_from_forks": { - "description": "Discover fork PR configuration", - "$ref": "#/definitions/devops.DiscoverPRFromForks" - }, - "discover_pr_from_origin": { - "description": "Discover origin PR configuration", - "type": "integer", - "format": "int32" - }, - "git_clone_option": { - "description": "advavced git clone options", - "$ref": "#/definitions/devops.GitCloneOption" - }, - "owner": { - "description": "owner of github repo", - "type": "string" - }, - "regex_filter": { - "description": "Regex used to match the name of the branch that needs to be run", - "type": "string" - }, - "repo": { - "description": "repo name of github repo", - "type": "string" - }, - "scm_id": { - "description": "uid of scm", - "type": "string" - } - } - }, "devops.Input": { "properties": { "_class": { @@ -13014,213 +14778,6 @@ }, "devops.Input.parameters": {}, "devops.Input.submitter": {}, - "devops.JenkinsCredential": { - "required": [ - "id", - "type" - ], - "properties": { - "create_time": { - "description": "Credential's create_time'", - "type": "string", - "format": "date-time" - }, - "creator": { - "description": "Creator's username", - "type": "string" - }, - "description": { - "description": "Credential's description'", - "type": "string" - }, - "display_name": { - "description": "Credential's display name", - "type": "string" - }, - "domain": { - "description": "Credential's domain,In ks we only use the default domain, default '_''", - "type": "string" - }, - "fingerprint": { - "description": "usage of the Credential", - "$ref": "#/definitions/devops.JenkinsCredential.fingerprint" - }, - "id": { - "description": "Id of Credential, e.g. dockerhub-id", - "type": "string" - }, - "kubeconfig": { - "description": "kubeconfig Credential struct", - "$ref": "#/definitions/devops.KubeconfigCredential" - }, - "secret_text": { - "description": "secret_text Credential struct", - "$ref": "#/definitions/devops.SecretTextCredential" - }, - "ssh": { - "description": "ssh Credential struct", - "$ref": "#/definitions/devops.SshCredential" - }, - "type": { - "description": "Type of Credential, e.g. ssh/kubeconfig", - "type": "string" - }, - "username_password": { - "description": "username password Credential struct", - "$ref": "#/definitions/devops.UsernamePasswordCredential" - } - } - }, - "devops.JenkinsCredential.fingerprint": { - "properties": { - "file_name": { - "description": "Credential's display name and description", - "type": "string" - }, - "hash": { - "description": "Credential's hash", - "type": "string" - }, - "usage": { - "description": "all usage of Credential", - "type": "array", - "items": { - "$ref": "#/definitions/devops.JenkinsCredential.fingerprint.usage" - } - } - } - }, - "devops.JenkinsCredential.fingerprint.usage": { - "properties": { - "name": { - "description": "Jenkins pipeline full name", - "type": "string" - }, - "ranges": { - "description": "The build number of all pipelines that use this credential", - "$ref": "#/definitions/.ranges" - } - } - }, - "devops.KubeconfigCredential": { - "properties": { - "content": { - "description": "content of kubeconfig", - "type": "string" - } - } - }, - "devops.MultiBranchJobTrigger": { - "properties": { - "create_action_job_to_trigger": { - "description": "pipeline name to trigger", - "type": "string" - }, - "delete_action_job_to_trigger": { - "description": "pipeline name to trigger", - "type": "string" - } - } - }, - "devops.MultiBranchPipeline": { - "required": [ - "name", - "source_type", - "script_path" - ], - "properties": { - "bitbucket_server_source": { - "description": "bitbucket server scm defile", - "$ref": "#/definitions/devops.BitbucketServerSource" - }, - "descriptio": { - "description": "description of pipeline", - "type": "string" - }, - "discarder": { - "description": "Discarder of pipeline, managing when to drop a pipeline", - "$ref": "#/definitions/devops.DiscarderProperty" - }, - "git_source": { - "description": "git scm define", - "$ref": "#/definitions/devops.GitSource" - }, - "github_source": { - "description": "github scm define", - "$ref": "#/definitions/devops.GithubSource" - }, - "multibranch_job_trigger": { - "description": "Pipeline tasks that need to be triggered when branch creation/deletion", - "$ref": "#/definitions/devops.MultiBranchJobTrigger" - }, - "name": { - "description": "name of pipeline", - "type": "string" - }, - "script_path": { - "description": "script path in scm", - "type": "string" - }, - "single_svn_source": { - "description": "single branch svn scm define", - "$ref": "#/definitions/devops.SingleSvnSource" - }, - "source_type": { - "description": "type of scm, such as github/git/svn", - "type": "string" - }, - "svn_source": { - "description": "multi branch svn scm define", - "$ref": "#/definitions/devops.SvnSource" - }, - "timer_trigger": { - "description": "Timer to trigger pipeline run", - "$ref": "#/definitions/devops.TimerTrigger" - } - } - }, - "devops.NoScmPipeline": { - "required": [ - "name" - ], - "properties": { - "descriptio": { - "description": "description of pipeline", - "type": "string" - }, - "disable_concurrent": { - "description": "Whether to prohibit the pipeline from running in parallel", - "type": "boolean" - }, - "discarder": { - "description": "Discarder of pipeline, managing when to drop a pipeline", - "$ref": "#/definitions/devops.DiscarderProperty" - }, - "jenkinsfile": { - "description": "Jenkinsfile's content'", - "type": "string" - }, - "name": { - "description": "name of pipeline", - "type": "string" - }, - "parameters": { - "description": "Parameters define of pipeline,user could pass param when run pipeline", - "type": "array", - "items": { - "$ref": "#/definitions/devops.Parameter" - } - }, - "remote_trigger": { - "description": "Remote api define to trigger pipeline run", - "$ref": "#/definitions/devops.RemoteTrigger" - }, - "timer_trigger": { - "description": "Timer to trigger pipeline run", - "$ref": "#/definitions/devops.TimerTrigger" - } - } - }, "devops.NodeSteps": { "properties": { "_class": { @@ -13322,11 +14879,12 @@ "type": "string" }, "durationInMillis": { - "description": "duration time in millis", + "description": "duration time in mullis", "type": "integer", "format": "int32" }, "edges": { + "description": "edges", "type": "array", "items": { "$ref": "#/definitions/devops.NodesDetail.edges" @@ -13357,7 +14915,7 @@ "type": "string" }, "state": { - "description": "run state. e.g. SKIPPED", + "description": "run state. e.g. FINISHED", "type": "string" }, "steps": { @@ -13376,22 +14934,7 @@ "devops.NodesDetail.actions": {}, "devops.NodesDetail.causeOfBlockage": {}, "devops.NodesDetail.displayDescription": {}, - "devops.NodesDetail.edges": { - "properties": { - "_class": { - "description": "It’s a fully qualified name and is an identifier of the producer of this resource's capability.", - "type": "string" - }, - "id": { - "description": "id", - "type": "string" - }, - "type": { - "description": "type", - "type": "string" - } - } - }, + "devops.NodesDetail.edges": {}, "devops.NodesDetail.firstParent": {}, "devops.OrgRepo": { "properties": { @@ -13408,122 +14951,6 @@ } } }, - "devops.Parameter": { - "required": [ - "name", - "type" - ], - "properties": { - "default_value": { - "description": "default value of param", - "type": "string" - }, - "description": { - "description": "description of pipeline", - "type": "string" - }, - "name": { - "description": "name of param", - "type": "string" - }, - "type": { - "description": "type of param", - "type": "string" - } - } - }, - "devops.PipeBranch": { - "properties": { - "_class": { - "description": "It’s a fully qualified name and is an identifier of the producer of this resource's capability.", - "type": "string" - }, - "_links": { - "description": "references the reachable path to this resource", - "$ref": "#/definitions/._links" - }, - "actions": { - "description": "the list of all actions.", - "type": "array", - "items": { - "$ref": "#/definitions/devops.PipeBranch.actions" - } - }, - "branch": { - "$ref": "#/definitions/.branch" - }, - "disabled": { - "description": "disable or not, if disabled, can not do any action", - "type": "boolean" - }, - "displayName": { - "description": "display name", - "type": "string" - }, - "estimatedDurationInMillis": { - "description": "estimated duration time, unit is millis", - "type": "integer", - "format": "int32" - }, - "fullDisplayName": { - "description": "full display name", - "type": "string" - }, - "fullName": { - "description": "full name", - "type": "string" - }, - "latestRun": { - "$ref": "#/definitions/.latestRun" - }, - "name": { - "description": "name", - "type": "string" - }, - "organization": { - "description": "the name of organization", - "type": "string" - }, - "parameters": { - "type": "array", - "items": { - "$ref": "#/definitions/devops.PipeBranch.parameters" - } - }, - "permissions": { - "$ref": "#/definitions/.permissions" - }, - "weatherScore": { - "description": "the score to description the result of pipeline", - "type": "integer", - "format": "int32" - } - } - }, - "devops.PipeBranch.actions": {}, - "devops.PipeBranch.parameters": { - "properties": { - "_class": { - "description": "It’s a fully qualified name and is an identifier of the producer of this resource's capability.", - "type": "string" - }, - "defaultParameterValue": { - "$ref": "#/definitions/.defaultParameterValue" - }, - "description": { - "description": "description", - "type": "string" - }, - "name": { - "description": "name", - "type": "string" - }, - "type": { - "description": "type", - "type": "string" - } - } - }, "devops.Pipeline": { "properties": { "_class": { @@ -13646,6 +15073,25 @@ "devops.Pipeline.disabled": {}, "devops.Pipeline.parameters": {}, "devops.Pipeline.pipelineFolderNames": {}, + "devops.PipelineBranch": {}, + "devops.PipelineList": { + "required": [ + "items", + "total_count" + ], + "properties": { + "items": { + "type": "array", + "items": { + "$ref": "#/definitions/devops.Pipeline" + } + }, + "total_count": { + "type": "integer", + "format": "int32" + } + } + }, "devops.PipelineRun": { "properties": { "_class": { @@ -13794,6 +15240,24 @@ "devops.PipelineRun.description": {}, "devops.PipelineRun.name": {}, "devops.PipelineRun.pullRequest": {}, + "devops.PipelineRunList": { + "required": [ + "items", + "totalItems" + ], + "properties": { + "items": { + "type": "array", + "items": { + "$ref": "#/definitions/devops.PipelineRun" + } + }, + "totalItems": { + "type": "integer", + "format": "int32" + } + } + }, "devops.PipelineRunNodes": { "properties": { "_class": { @@ -13874,169 +15338,7 @@ "devops.PipelineRunNodes.displayDescription": {}, "devops.PipelineRunNodes.edges": {}, "devops.PipelineRunNodes.firstParent": {}, - "devops.ProjectPipeline": { - "required": [ - "type" - ], - "properties": { - "multi_branch_pipeline": { - "description": "in scm pipeline structs", - "$ref": "#/definitions/devops.MultiBranchPipeline" - }, - "pipeline": { - "description": "no scm pipeline structs", - "$ref": "#/definitions/devops.NoScmPipeline" - }, - "type": { - "description": "type of devops pipeline, in scm or no scm", - "type": "string" - } - } - }, - "devops.QueuedBlueRun": { - "properties": { - "_class": { - "description": "It’s a fully qualified name and is an identifier of the producer of this resource's capability.", - "type": "string" - }, - "_links": { - "description": "references the reachable path to this resource", - "$ref": "#/definitions/._links" - }, - "actions": { - "description": "the list of all actions", - "type": "array", - "items": { - "$ref": "#/definitions/devops.QueuedBlueRun.actions" - } - }, - "artifactsZipFile": { - "description": "the artifacts zip file", - "$ref": "#/definitions/devops.QueuedBlueRun.artifactsZipFile" - }, - "causeOfBlockage": { - "description": "the cause of blockage", - "type": "string" - }, - "causes": { - "type": "array", - "items": { - "$ref": "#/definitions/devops.QueuedBlueRun.causes" - } - }, - "changeSet": { - "description": "changeset information", - "type": "array", - "items": { - "$ref": "#/definitions/devops.QueuedBlueRun.changeSet" - } - }, - "description": { - "description": "description", - "$ref": "#/definitions/devops.QueuedBlueRun.description" - }, - "durationInMillis": { - "description": "duration time in millis", - "$ref": "#/definitions/devops.QueuedBlueRun.durationInMillis" - }, - "enQueueTime": { - "description": "the time of enter the queue", - "$ref": "#/definitions/devops.QueuedBlueRun.enQueueTime" - }, - "endTime": { - "description": "the time of end", - "$ref": "#/definitions/devops.QueuedBlueRun.endTime" - }, - "estimatedDurationInMillis": { - "description": "estimated duration time in millis", - "$ref": "#/definitions/devops.QueuedBlueRun.estimatedDurationInMillis" - }, - "id": { - "description": "id", - "type": "string" - }, - "name": { - "description": "name", - "$ref": "#/definitions/devops.QueuedBlueRun.name" - }, - "organization": { - "description": "the name of organization", - "type": "string" - }, - "pipeline": { - "description": "pipeline", - "type": "string" - }, - "queueId": { - "description": "queue id", - "type": "string" - }, - "replayable": { - "description": "replayable or not", - "type": "boolean" - }, - "result": { - "description": "the result of pipeline run. e.g. SUCCESS", - "type": "string" - }, - "runSummary": { - "description": "pipeline run summary", - "$ref": "#/definitions/devops.QueuedBlueRun.runSummary" - }, - "startTime": { - "description": "the time of start", - "$ref": "#/definitions/devops.QueuedBlueRun.startTime" - }, - "state": { - "description": "run state. e.g. RUNNING", - "type": "string" - }, - "type": { - "description": "type", - "type": "string" - } - } - }, - "devops.QueuedBlueRun.actions": {}, - "devops.QueuedBlueRun.artifactsZipFile": {}, - "devops.QueuedBlueRun.causes": { - "properties": { - "_class": { - "description": "It’s a fully qualified name and is an identifier of the producer of this resource's capability.", - "type": "string" - }, - "shortDescription": { - "description": "short description", - "type": "string" - }, - "userId": { - "description": "user id", - "type": "string" - }, - "userName": { - "description": "user name", - "type": "string" - } - } - }, - "devops.QueuedBlueRun.changeSet": {}, - "devops.QueuedBlueRun.description": {}, - "devops.QueuedBlueRun.durationInMillis": {}, - "devops.QueuedBlueRun.enQueueTime": {}, - "devops.QueuedBlueRun.endTime": {}, - "devops.QueuedBlueRun.estimatedDurationInMillis": {}, - "devops.QueuedBlueRun.name": {}, - "devops.QueuedBlueRun.runSummary": {}, - "devops.QueuedBlueRun.startTime": {}, - "devops.RemoteTrigger": { - "properties": { - "token": { - "description": "remote trigger token", - "type": "string" - } - } - }, - "devops.ReplayPipe": { + "devops.ReplayPipeline": { "properties": { "_class": { "description": "It’s a fully qualified name and is an identifier of the producer of this resource's capability.", @@ -14050,12 +15352,12 @@ "description": "the list of all actions.", "type": "array", "items": { - "$ref": "#/definitions/devops.ReplayPipe.actions" + "$ref": "#/definitions/devops.ReplayPipeline.actions" } }, "artifactsZipFile": { "description": "the artifacts zip file", - "$ref": "#/definitions/devops.ReplayPipe.artifactsZipFile" + "$ref": "#/definitions/devops.ReplayPipeline.artifactsZipFile" }, "causeOfBlockage": { "description": "the cause of blockage", @@ -14064,35 +15366,35 @@ "causes": { "type": "array", "items": { - "$ref": "#/definitions/devops.ReplayPipe.causes" + "$ref": "#/definitions/devops.ReplayPipeline.causes" } }, "changeSet": { "description": "changeset information", "type": "array", "items": { - "$ref": "#/definitions/devops.ReplayPipe.changeSet" + "$ref": "#/definitions/devops.ReplayPipeline.changeSet" } }, "description": { "description": "description", - "$ref": "#/definitions/devops.ReplayPipe.description" + "$ref": "#/definitions/devops.ReplayPipeline.description" }, "durationInMillis": { "description": "duration time in millis", - "$ref": "#/definitions/devops.ReplayPipe.durationInMillis" + "$ref": "#/definitions/devops.ReplayPipeline.durationInMillis" }, "enQueueTime": { "description": "the time of enter the queue", - "$ref": "#/definitions/devops.ReplayPipe.enQueueTime" + "$ref": "#/definitions/devops.ReplayPipeline.enQueueTime" }, "endTime": { "description": "the time of end", - "$ref": "#/definitions/devops.ReplayPipe.endTime" + "$ref": "#/definitions/devops.ReplayPipeline.endTime" }, "estimatedDurationInMillis": { "description": "estimated duration time, unit is millis", - "$ref": "#/definitions/devops.ReplayPipe.estimatedDurationInMillis" + "$ref": "#/definitions/devops.ReplayPipeline.estimatedDurationInMillis" }, "id": { "description": "id", @@ -14100,7 +15402,7 @@ }, "name": { "description": "name", - "$ref": "#/definitions/devops.ReplayPipe.name" + "$ref": "#/definitions/devops.ReplayPipeline.name" }, "organization": { "description": "the name of organization", @@ -14124,11 +15426,11 @@ }, "runSummary": { "description": "pipeline run summary", - "$ref": "#/definitions/devops.ReplayPipe.runSummary" + "$ref": "#/definitions/devops.ReplayPipeline.runSummary" }, "startTime": { "description": "the time of start", - "$ref": "#/definitions/devops.ReplayPipe.startTime" + "$ref": "#/definitions/devops.ReplayPipeline.startTime" }, "state": { "description": "run state. e.g. RUNNING", @@ -14140,9 +15442,9 @@ } } }, - "devops.ReplayPipe.actions": {}, - "devops.ReplayPipe.artifactsZipFile": {}, - "devops.ReplayPipe.causes": { + "devops.ReplayPipeline.actions": {}, + "devops.ReplayPipeline.artifactsZipFile": {}, + "devops.ReplayPipeline.causes": { "properties": { "_class": { "description": "It’s a fully qualified name and is an identifier of the producer of this resource's capability.", @@ -14162,15 +15464,15 @@ } } }, - "devops.ReplayPipe.changeSet": {}, - "devops.ReplayPipe.description": {}, - "devops.ReplayPipe.durationInMillis": {}, - "devops.ReplayPipe.enQueueTime": {}, - "devops.ReplayPipe.endTime": {}, - "devops.ReplayPipe.estimatedDurationInMillis": {}, - "devops.ReplayPipe.name": {}, - "devops.ReplayPipe.runSummary": {}, - "devops.ReplayPipe.startTime": {}, + "devops.ReplayPipeline.changeSet": {}, + "devops.ReplayPipeline.description": {}, + "devops.ReplayPipeline.durationInMillis": {}, + "devops.ReplayPipeline.enQueueTime": {}, + "devops.ReplayPipeline.endTime": {}, + "devops.ReplayPipeline.estimatedDurationInMillis": {}, + "devops.ReplayPipeline.name": {}, + "devops.ReplayPipeline.runSummary": {}, + "devops.ReplayPipeline.startTime": {}, "devops.ReqJenkinsfile": { "properties": { "jenkinsfile": { @@ -14217,22 +15519,6 @@ } } }, - "devops.Role": { - "required": [ - "name", - "description" - ], - "properties": { - "description": { - "description": "role 's description'", - "type": "string" - }, - "name": { - "description": "role's name e.g. owner'", - "type": "string" - } - } - }, "devops.RunPayload": { "properties": { "parameters": { @@ -14255,6 +15541,141 @@ } } }, + "devops.RunPipeline": { + "properties": { + "_class": { + "description": "It’s a fully qualified name and is an identifier of the producer of this resource's capability.", + "type": "string" + }, + "_links": { + "description": "references the reachable path to this resource", + "$ref": "#/definitions/._links" + }, + "actions": { + "description": "the list of all actions", + "type": "array", + "items": { + "$ref": "#/definitions/devops.RunPipeline.actions" + } + }, + "artifactsZipFile": { + "description": "the artifacts zip file", + "$ref": "#/definitions/devops.RunPipeline.artifactsZipFile" + }, + "causeOfBlockage": { + "description": "the cause of blockage", + "type": "string" + }, + "causes": { + "type": "array", + "items": { + "$ref": "#/definitions/devops.RunPipeline.causes" + } + }, + "changeSet": { + "description": "changeset information", + "type": "array", + "items": { + "$ref": "#/definitions/devops.RunPipeline.changeSet" + } + }, + "description": { + "description": "description", + "$ref": "#/definitions/devops.RunPipeline.description" + }, + "durationInMillis": { + "description": "duration time in millis", + "$ref": "#/definitions/devops.RunPipeline.durationInMillis" + }, + "enQueueTime": { + "description": "the time of enter the queue", + "$ref": "#/definitions/devops.RunPipeline.enQueueTime" + }, + "endTime": { + "description": "the time of end", + "$ref": "#/definitions/devops.RunPipeline.endTime" + }, + "estimatedDurationInMillis": { + "description": "estimated duration time in millis", + "$ref": "#/definitions/devops.RunPipeline.estimatedDurationInMillis" + }, + "id": { + "description": "id", + "type": "string" + }, + "name": { + "description": "name", + "$ref": "#/definitions/devops.RunPipeline.name" + }, + "organization": { + "description": "the name of organization", + "type": "string" + }, + "pipeline": { + "description": "pipeline", + "type": "string" + }, + "queueId": { + "description": "queue id", + "type": "string" + }, + "replayable": { + "description": "replayable or not", + "type": "boolean" + }, + "result": { + "description": "the result of pipeline run. e.g. SUCCESS", + "type": "string" + }, + "runSummary": { + "description": "pipeline run summary", + "$ref": "#/definitions/devops.RunPipeline.runSummary" + }, + "startTime": { + "description": "the time of start", + "$ref": "#/definitions/devops.RunPipeline.startTime" + }, + "state": { + "description": "run state. e.g. RUNNING", + "type": "string" + }, + "type": { + "description": "type", + "type": "string" + } + } + }, + "devops.RunPipeline.actions": {}, + "devops.RunPipeline.artifactsZipFile": {}, + "devops.RunPipeline.causes": { + "properties": { + "_class": { + "description": "It’s a fully qualified name and is an identifier of the producer of this resource's capability.", + "type": "string" + }, + "shortDescription": { + "description": "short description", + "type": "string" + }, + "userId": { + "description": "user id", + "type": "string" + }, + "userName": { + "description": "user name", + "type": "string" + } + } + }, + "devops.RunPipeline.changeSet": {}, + "devops.RunPipeline.description": {}, + "devops.RunPipeline.durationInMillis": {}, + "devops.RunPipeline.enQueueTime": {}, + "devops.RunPipeline.endTime": {}, + "devops.RunPipeline.estimatedDurationInMillis": {}, + "devops.RunPipeline.name": {}, + "devops.RunPipeline.runSummary": {}, + "devops.RunPipeline.startTime": {}, "devops.SCMOrg": { "properties": { "_class": { @@ -14303,63 +15724,7 @@ } } }, - "devops.SecretTextCredential": { - "properties": { - "secret": { - "description": "secret content of credential", - "type": "string" - } - } - }, - "devops.SingleSvnSource": { - "properties": { - "credential_id": { - "description": "credential id to access svn source", - "type": "string" - }, - "remote": { - "description": "remote address url", - "type": "string" - }, - "scm_id": { - "description": "uid of scm", - "type": "string" - } - } - }, - "devops.SonarStatus": { - "properties": { - "issues": { - "$ref": "#/definitions/sonargo.IssuesSearchObject" - }, - "jenkinsAction": { - "$ref": "#/definitions/gojenkins.GeneralObj" - }, - "measures": { - "$ref": "#/definitions/sonargo.MeasuresComponentObject" - }, - "task": { - "$ref": "#/definitions/sonargo.CeTaskObject" - } - } - }, - "devops.SshCredential": { - "properties": { - "passphrase": { - "description": "passphrase of ssh credential, password of ssh credential", - "type": "string" - }, - "private_key": { - "description": "private key of ssh credential", - "type": "string" - }, - "username": { - "description": "username of ssh credential", - "type": "string" - } - } - }, - "devops.StopPipe": { + "devops.StopPipeline": { "properties": { "_class": { "description": "It’s a fully qualified name and is an identifier of the producer of this resource's capability.", @@ -14373,31 +15738,31 @@ "description": "the list of all actions.", "type": "array", "items": { - "$ref": "#/definitions/devops.StopPipe.actions" + "$ref": "#/definitions/devops.StopPipeline.actions" } }, "artifactsZipFile": { "description": "the artifacts zip file", - "$ref": "#/definitions/devops.StopPipe.artifactsZipFile" + "$ref": "#/definitions/devops.StopPipeline.artifactsZipFile" }, "branch": { "$ref": "#/definitions/.branch" }, "causeOfBlockage": { "description": "the cause of blockage", - "$ref": "#/definitions/devops.StopPipe.causeOfBlockage" + "$ref": "#/definitions/devops.StopPipeline.causeOfBlockage" }, "causes": { "type": "array", "items": { - "$ref": "#/definitions/devops.StopPipe.causes" + "$ref": "#/definitions/devops.StopPipeline.causes" } }, "changeSet": { "description": "changeset information", "type": "array", "items": { - "$ref": "#/definitions/devops.StopPipe.changeSet" + "$ref": "#/definitions/devops.StopPipeline.changeSet" } }, "commitId": { @@ -14406,11 +15771,11 @@ }, "commitUrl": { "description": "commit url", - "$ref": "#/definitions/devops.StopPipe.commitUrl" + "$ref": "#/definitions/devops.StopPipeline.commitUrl" }, "description": { "description": "description", - "$ref": "#/definitions/devops.StopPipe.description" + "$ref": "#/definitions/devops.StopPipeline.description" }, "durationInMillis": { "description": "duration time in millis", @@ -14436,7 +15801,7 @@ }, "name": { "description": "name", - "$ref": "#/definitions/devops.StopPipe.name" + "$ref": "#/definitions/devops.StopPipeline.name" }, "organization": { "description": "the name of organization", @@ -14448,7 +15813,7 @@ }, "pullRequest": { "description": "pull request", - "$ref": "#/definitions/devops.StopPipe.pullRequest" + "$ref": "#/definitions/devops.StopPipeline.pullRequest" }, "replayable": { "description": "replayable or not", @@ -14476,10 +15841,10 @@ } } }, - "devops.StopPipe.actions": {}, - "devops.StopPipe.artifactsZipFile": {}, - "devops.StopPipe.causeOfBlockage": {}, - "devops.StopPipe.causes": { + "devops.StopPipeline.actions": {}, + "devops.StopPipeline.artifactsZipFile": {}, + "devops.StopPipeline.causeOfBlockage": {}, + "devops.StopPipeline.causes": { "properties": { "_class": { "description": "It’s a fully qualified name and is an identifier of the producer of this resource's capability.", @@ -14491,59 +15856,11 @@ } } }, - "devops.StopPipe.changeSet": {}, - "devops.StopPipe.commitUrl": {}, - "devops.StopPipe.description": {}, - "devops.StopPipe.name": {}, - "devops.StopPipe.pullRequest": {}, - "devops.SvnSource": { - "properties": { - "credential_id": { - "description": "credential id to access svn source", - "type": "string" - }, - "excludes": { - "description": "branches do not run pipeline", - "type": "string" - }, - "includes": { - "description": "branches to run pipeline", - "type": "string" - }, - "remote": { - "description": "remote address url", - "type": "string" - }, - "scm_id": { - "description": "uid of scm", - "type": "string" - } - } - }, - "devops.TimerTrigger": { - "properties": { - "cron": { - "description": "jenkins cron script", - "type": "string" - }, - "interval": { - "description": "interval ms", - "type": "string" - } - } - }, - "devops.UsernamePasswordCredential": { - "properties": { - "password": { - "description": "password of username_password credential", - "type": "string" - }, - "username": { - "description": "username of username_password credential", - "type": "string" - } - } - }, + "devops.StopPipeline.changeSet": {}, + "devops.StopPipeline.commitUrl": {}, + "devops.StopPipeline.description": {}, + "devops.StopPipeline.name": {}, + "devops.StopPipeline.pullRequest": {}, "devops.Validates": { "properties": { "credentialId": { @@ -14552,9 +15869,6 @@ } } }, - "error": { - "type": "string" - }, "errors.Error": { "required": [ "message" @@ -14566,88 +15880,79 @@ } } }, - "fluentbitclient.KubernetesSecret": { + "events.Bucket": { "required": [ - "name", - "key", - "namespace" + "time", + "count" ], "properties": { - "key": { - "type": "string" + "count": { + "description": "total number of events at intervals", + "type": "integer", + "format": "int64" }, - "name": { - "type": "string" - }, - "namespace": { - "type": "string" + "time": { + "description": "timestamp", + "type": "integer", + "format": "int64" } } }, - "fluentbitclient.OutputPlugin": { + "events.Events": { "required": [ - "type", - "name", - "parameters", - "enable" + "total", + "records" ], "properties": { - "enable": { - "description": "active status, one of true, false", - "type": "boolean" - }, - "id": { - "description": "output uuid", - "type": "string" - }, - "name": { - "description": "output plugin name, eg. fluentbit-output-es", - "type": "string" - }, - "parameters": { - "description": "output plugin configuration parameters", + "records": { + "description": "actual array of results", "type": "array", "items": { - "$ref": "#/definitions/fluentbitclient.Parameter" + "$ref": "#/definitions/v1.Event" } }, - "type": { - "description": "output plugin type, eg. fluentbit-output-es", - "type": "string" - }, - "updatetime": { - "description": "last updatetime", - "type": "string", - "format": "date-time" + "total": { + "description": "total number of matched results", + "type": "integer", + "format": "int64" } } }, - "fluentbitclient.Parameter": { + "events.Histogram": { "required": [ - "name", - "value" + "total", + "buckets" ], "properties": { - "name": { - "description": "configuration parameter key, eg. Name. refer to Fluent bit's Output Plugins Section for more configuration parameters.", - "type": "string" + "buckets": { + "description": "actual array of histogram results", + "type": "array", + "items": { + "$ref": "#/definitions/events.Bucket" + } }, - "value": { - "description": "configuration parameter value, eg. es. refer to Fluent bit's Output Plugins Section for more configuration parameters.", - "type": "string" - }, - "valueFrom": { - "$ref": "#/definitions/fluentbitclient.ValueFrom" + "total": { + "description": "total number of events", + "type": "integer", + "format": "int64" } } }, - "fluentbitclient.ValueFrom": { + "events.Statistics": { "required": [ - "secretKeyRef" + "resources", + "events" ], "properties": { - "secretKeyRef": { - "$ref": "#/definitions/fluentbitclient.KubernetesSecret" + "events": { + "description": "total number of events", + "type": "integer", + "format": "int64" + }, + "resources": { + "description": "total number of resources", + "type": "integer", + "format": "int64" } } }, @@ -14666,215 +15971,17 @@ } } }, - "gojenkins.BuildRevision": { - "properties": { - "SHA1": { - "type": "string" - }, - "branch": { - "type": "array", - "items": { - "$ref": "#/definitions/gojenkins.branch" - } - } - } - }, - "gojenkins.Builds": { + "iam.PasswordReset": { "required": [ - "buildNumber", - "buildResult", - "marked", - "revision" - ], - "properties": { - "buildNumber": { - "type": "integer", - "format": "int64" - }, - "buildResult": { - "$ref": "#/definitions/gojenkins.Builds.buildResult" - }, - "marked": { - "$ref": "#/definitions/gojenkins.BuildRevision" - }, - "revision": { - "$ref": "#/definitions/gojenkins.BuildRevision" - } - } - }, - "gojenkins.Builds.buildResult": {}, - "gojenkins.GeneralObj": { - "properties": { - "TotalCount": { - "type": "integer", - "format": "int64" - }, - "UrlName": { - "type": "string" - }, - "_class": { - "type": "string" - }, - "buildsByBranchName": { - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/gojenkins.Builds" - } - }, - "causes": { - "type": "array", - "items": { - "$ref": "#/definitions/gojenkins.GeneralObj.causes" - } - }, - "ceTaskId": { - "type": "string" - }, - "lastBuiltRevision": { - "$ref": "#/definitions/gojenkins.BuildRevision" - }, - "mercurialNodeName": { - "type": "string" - }, - "mercurialRevisionNumber": { - "type": "string" - }, - "parameters": { - "type": "array", - "items": { - "$ref": "#/definitions/gojenkins.parameter" - } - }, - "remoteUrls": { - "type": "array", - "items": { - "type": "string" - } - }, - "scmName": { - "type": "string" - }, - "serverUrl": { - "type": "string" - }, - "sonarqubeDashboardUrl": { - "type": "string" - }, - "subdir": { - "$ref": "#/definitions/gojenkins.GeneralObj.subdir" - } - } - }, - "gojenkins.GeneralObj.causes": {}, - "gojenkins.GeneralObj.subdir": {}, - "gojenkins.branch": { - "properties": { - "Name": { - "type": "string" - }, - "SHA1": { - "type": "string" - } - } - }, - "gojenkins.parameter": { - "required": [ - "Name", - "Value" - ], - "properties": { - "Name": { - "type": "string" - }, - "Value": { - "type": "string" - } - } - }, - "iam.LoginRequest": { - "required": [ - "username", + "currentPassword", "password" ], "properties": { + "currentPassword": { + "type": "string" + }, "password": { - "description": "password", "type": "string" - }, - "username": { - "description": "username", - "type": "string" - } - } - }, - "iam.RoleList": { - "required": [ - "clusterRole", - "roles" - ], - "properties": { - "clusterRole": { - "description": "cluster role list", - "type": "array", - "items": { - "$ref": "#/definitions/v1.ClusterRole" - } - }, - "roles": { - "description": "role list", - "type": "array", - "items": { - "$ref": "#/definitions/v1.Role" - } - } - } - }, - "iam.Spec": { - "required": [ - "token" - ], - "properties": { - "token": { - "description": "access token", - "type": "string" - } - } - }, - "iam.Status": { - "required": [ - "authenticated" - ], - "properties": { - "authenticated": { - "description": "is authenticated", - "type": "boolean" - }, - "user": { - "description": "user info", - "type": "object" - } - } - }, - "iam.TokenReview": { - "required": [ - "apiVersion", - "kind" - ], - "properties": { - "apiVersion": { - "description": "Kubernetes API version", - "type": "string" - }, - "kind": { - "description": "kind of the API object", - "type": "string" - }, - "spec": { - "$ref": "#/definitions/iam.Spec" - }, - "status": { - "description": "token review status", - "$ref": "#/definitions/iam.Status" } } }, @@ -14896,92 +16003,102 @@ "type": "integer", "format": "int32" }, - "log.FluentbitOutputsResult": { + "logging.Bucket": { "required": [ - "status" + "time", + "count" ], "properties": { - "error": { - "description": "debug information", - "type": "string" - }, - "outputs": { - "description": "array of fluent bit output plugins", - "type": "array", - "items": { - "$ref": "#/definitions/fluentbitclient.OutputPlugin" - } - }, - "status": { - "description": "response status", + "count": { + "description": "total number of logs at intervals", "type": "integer", - "format": "int32" + "format": "int64" + }, + "time": { + "description": "timestamp", + "type": "integer", + "format": "int64" } } }, - "metrics.APIResponse": { + "logging.Histogram": { "required": [ - "status", - "data" + "total", + "histograms" ], "properties": { - "data": { - "description": "actual metric result", - "$ref": "#/definitions/v1alpha2.QueryResult" - }, - "error": { - "type": "string" - }, - "errorType": { - "type": "string" - }, - "metric_name": { - "description": "metric name, eg. scheduler_up_sum", - "type": "string" - }, - "status": { - "description": "result status, one of error, success", - "type": "string" - }, - "warnings": { + "histograms": { + "description": "actual array of histogram results", "type": "array", "items": { - "type": "string" + "$ref": "#/definitions/logging.Bucket" } + }, + "total": { + "description": "total number of logs", + "type": "integer", + "format": "int64" } } }, - "metrics.Response": { + "logging.Logs": { "required": [ - "metrics_level", - "results" + "total" ], "properties": { - "metrics_level": { - "description": "metric level, eg. cluster", - "type": "string" - }, - "page": { - "description": "current page returned", - "type": "integer", - "format": "int32" - }, - "results": { + "records": { "description": "actual array of results", "type": "array", "items": { - "$ref": "#/definitions/metrics.APIResponse" + "$ref": "#/definitions/logging.Record" } }, - "total_item": { - "description": "page size", + "total": { + "description": "total number of matched results", "type": "integer", - "format": "int32" + "format": "int64" + } + } + }, + "logging.Record": { + "properties": { + "container": { + "description": "container name", + "type": "string" }, - "total_page": { - "description": "total number of pages", + "log": { + "description": "log message", + "type": "string" + }, + "namespace": { + "description": "namespace", + "type": "string" + }, + "pod": { + "description": "pod name", + "type": "string" + }, + "time": { + "description": "log timestamp", + "type": "string" + } + } + }, + "logging.Statistics": { + "required": [ + "containers", + "logs" + ], + "properties": { + "containers": { + "description": "total number of containers", "type": "integer", - "format": "int32" + "format": "int64" + }, + "logs": { + "description": "total number of logs", + "type": "integer", + "format": "int64" } } }, @@ -15020,23 +16137,6 @@ } } }, - "models.Action": { - "required": [ - "name", - "rules" - ], - "properties": { - "name": { - "type": "string" - }, - "rules": { - "type": "array", - "items": { - "$ref": "#/definitions/v1.PolicyRule" - } - } - } - }, "models.AppHealth": { "required": [ "workloadStatuses", @@ -15054,109 +16154,6 @@ } } }, - "models.AuthGrantResponse": { - "required": [ - "access_token" - ], - "properties": { - "access_token": { - "description": "access token", - "type": "string" - }, - "expires_in": { - "type": "number", - "format": "double" - }, - "refresh_token": { - "type": "string" - }, - "token_type": { - "type": "string" - } - } - }, - "models.ComponentStatus": { - "required": [ - "name", - "namespace", - "selfLink", - "label", - "startedAt", - "totalBackends", - "healthyBackends" - ], - "properties": { - "healthyBackends": { - "description": "the number of healthy backend components", - "type": "integer", - "format": "int32" - }, - "label": { - "description": "labels", - "$ref": "#/definitions/models.ComponentStatus.label" - }, - "name": { - "description": "component name", - "type": "string" - }, - "namespace": { - "description": "the name of the namespace", - "type": "string" - }, - "selfLink": { - "description": "self link", - "type": "string" - }, - "startedAt": { - "description": "started time", - "type": "string", - "format": "date-time" - }, - "totalBackends": { - "description": "the total replicas of each backend system component", - "type": "integer", - "format": "int32" - } - } - }, - "models.ComponentStatus.label": {}, - "models.HealthStatus": { - "required": [ - "kubesphereStatus", - "nodeStatus" - ], - "properties": { - "kubesphereStatus": { - "description": "kubesphere components status", - "type": "array", - "items": { - "$ref": "#/definitions/models.ComponentStatus" - } - }, - "nodeStatus": { - "description": "nodes status", - "$ref": "#/definitions/models.NodeStatus" - } - } - }, - "models.NodeStatus": { - "required": [ - "totalNodes", - "healthyNodes" - ], - "properties": { - "healthyNodes": { - "description": "the number of healthy nodes", - "type": "integer", - "format": "int32" - }, - "totalNodes": { - "description": "total number of nodes", - "type": "integer", - "format": "int32" - } - } - }, "models.PageableResponse": { "required": [ "items", @@ -15240,132 +16237,6 @@ } } }, - "models.ResourceQuota": { - "required": [ - "namespace", - "data" - ], - "properties": { - "data": { - "description": "resource quota status", - "$ref": "#/definitions/v1.ResourceQuotaStatus" - }, - "namespace": { - "description": "namespace", - "type": "string" - } - } - }, - "models.Rule": { - "required": [ - "name", - "actions" - ], - "properties": { - "actions": { - "type": "array", - "items": { - "$ref": "#/definitions/models.Action" - } - }, - "name": { - "type": "string" - } - } - }, - "models.SimpleRule": { - "required": [ - "name", - "actions" - ], - "properties": { - "actions": { - "description": "actions", - "type": "array", - "items": { - "type": "string" - } - }, - "name": { - "description": "rule name", - "type": "string" - } - } - }, - "models.User": { - "required": [ - "username", - "email", - "description", - "create_time", - "avatar_url", - "last_login_time", - "status", - "cluster_role" - ], - "properties": { - "avatar_url": { - "type": "string" - }, - "cluster_role": { - "type": "string" - }, - "create_time": { - "type": "string", - "format": "date-time" - }, - "current_password": { - "type": "string" - }, - "description": { - "type": "string" - }, - "email": { - "type": "string" - }, - "groups": { - "type": "array", - "items": { - "type": "string" - } - }, - "lang": { - "type": "string" - }, - "last_login_time": { - "type": "string" - }, - "password": { - "type": "string" - }, - "role": { - "type": "string" - }, - "role_bind_time": { - "type": "string", - "format": "date-time" - }, - "role_binding": { - "type": "string" - }, - "roles": { - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "status": { - "type": "integer", - "format": "int32" - }, - "username": { - "type": "string" - }, - "workspace_role": { - "type": "string" - } - } - }, "models.WorkloadStatus": { "required": [ "name", @@ -15386,6 +16257,117 @@ } } }, + "monitoring.Metadata": { + "required": [ + "data" + ], + "properties": { + "data": { + "description": "actual array of results", + "type": "array", + "items": { + "$ref": "#/definitions/monitoring.Metadata" + } + } + } + }, + "monitoring.Metric": { + "properties": { + "data": { + "description": "actual metric result", + "$ref": "#/definitions/monitoring.MetricData" + }, + "error": { + "type": "string" + }, + "metric_name": { + "description": "metric name, eg. scheduler_up_sum", + "type": "string" + } + } + }, + "monitoring.MetricData": { + "properties": { + "result": { + "description": "metric data including labels, time series and values", + "type": "array", + "items": { + "$ref": "#/definitions/monitoring.MetricValue" + } + }, + "resultType": { + "description": "result type, one of matrix, vector", + "type": "string" + } + } + }, + "monitoring.MetricLabelSet": { + "required": [ + "data" + ], + "properties": { + "data": { + "description": "actual array of results", + "type": "array", + "items": { + "$ref": "#/definitions/monitoring.MetricLabelSet.data" + } + } + } + }, + "monitoring.MetricLabelSet.data": {}, + "monitoring.MetricValue": { + "properties": { + "metric": { + "description": "time series labels", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "value": { + "description": "time series, values of vector type", + "type": "string" + }, + "values": { + "description": "time series, values of matrix type", + "type": "array", + "items": { + "$ref": "#/definitions/monitoring.Point" + } + } + } + }, + "monitoring.Metrics": { + "required": [ + "results" + ], + "properties": { + "page": { + "description": "current page returned", + "type": "integer", + "format": "int32" + }, + "results": { + "description": "actual array of results", + "type": "array", + "items": { + "$ref": "#/definitions/monitoring.Metric" + } + }, + "total_item": { + "description": "page size", + "type": "integer", + "format": "int32" + }, + "total_page": { + "description": "total number of pages", + "type": "integer", + "format": "int32" + } + } + }, + "monitoring.Point": {}, "openpitrix.App": { "required": [ "category_set" @@ -16233,6 +17215,32 @@ } } }, + "openpitrix.UpgradeClusterRequest": { + "required": [ + "cluster_id", + "advanced_param" + ], + "properties": { + "advanced_param": { + "type": "array", + "items": { + "type": "string" + } + }, + "cluster_id": { + "type": "string" + }, + "conf": { + "type": "string" + }, + "runtime_id": { + "type": "string" + }, + "version_id": { + "type": "string" + } + } + }, "openpitrix.workLoads": { "properties": { "daemonsets": { @@ -16264,9 +17272,6 @@ "err" ], "properties": { - "err": { - "$ref": "#/definitions/error" - }, "matrix": { "type": "array", "items": { @@ -16276,27 +17281,6 @@ } }, "prometheus.Metrics.histograms": {}, - "registries.AuthInfo": { - "required": [ - "username", - "password", - "serverhost" - ], - "properties": { - "password": { - "description": "password", - "type": "string" - }, - "serverhost": { - "description": "registry server host", - "type": "string" - }, - "username": { - "description": "username", - "type": "string" - } - } - }, "registries.Config": { "properties": { "ArgsEscaped": { @@ -16709,701 +17693,9 @@ } } }, - "sonargo.CeTaskObject": { - "properties": { - "task": { - "$ref": "#/definitions/sonargo.Task" - } - } - }, - "sonargo.Comment": { - "properties": { - "createdAt": { - "type": "string" - }, - "htmlText": { - "type": "string" - }, - "key": { - "type": "string" - }, - "login": { - "type": "string" - }, - "markdown": { - "type": "string" - }, - "updatable": { - "type": "boolean" - } - } - }, - "sonargo.Component": { - "properties": { - "analysisDate": { - "type": "string" - }, - "description": { - "type": "string" - }, - "enabled": { - "type": "boolean" - }, - "id": { - "type": "string" - }, - "key": { - "type": "string" - }, - "language": { - "type": "string" - }, - "lastAnalysisDate": { - "type": "string" - }, - "leakPeriodDate": { - "type": "string" - }, - "longName": { - "type": "string" - }, - "measures": { - "type": "array", - "items": { - "$ref": "#/definitions/sonargo.SonarMeasure" - } - }, - "name": { - "type": "string" - }, - "organization": { - "type": "string" - }, - "path": { - "type": "string" - }, - "project": { - "type": "string" - }, - "qualifier": { - "type": "string" - }, - "tags": { - "type": "array", - "items": { - "type": "string" - } - }, - "uuid": { - "type": "string" - }, - "version": { - "type": "string" - }, - "visibility": { - "type": "string" - } - } - }, - "sonargo.Facet": { - "properties": { - "name": { - "type": "string" - }, - "property": { - "type": "string" - }, - "values": { - "type": "array", - "items": { - "$ref": "#/definitions/sonargo.FacetValue" - } - } - } - }, - "sonargo.FacetValue": { - "properties": { - "count": { - "type": "integer", - "format": "int64" - }, - "val": { - "type": "string" - } - } - }, - "sonargo.History": { - "properties": { - "date": { - "type": "string" - }, - "value": { - "type": "string" - } - } - }, - "sonargo.Issue": { - "properties": { - "actions": { - "type": "array", - "items": { - "type": "string" - } - }, - "assignee": { - "type": "string" - }, - "author": { - "type": "string" - }, - "closeDate": { - "type": "string" - }, - "comments": { - "type": "array", - "items": { - "$ref": "#/definitions/sonargo.Comment" - } - }, - "component": { - "type": "string" - }, - "creationDate": { - "type": "string" - }, - "debt": { - "type": "string" - }, - "effort": { - "type": "string" - }, - "flows": { - "type": "array", - "items": { - "$ref": "#/definitions/sonargo.Issue.flows" - } - }, - "fromHotspot": { - "type": "boolean" - }, - "hash": { - "type": "string" - }, - "key": { - "type": "string" - }, - "line": { - "type": "integer", - "format": "int32" - }, - "message": { - "type": "string" - }, - "organization": { - "type": "string" - }, - "project": { - "type": "string" - }, - "resolution": { - "type": "string" - }, - "rule": { - "type": "string" - }, - "severity": { - "type": "string" - }, - "status": { - "type": "string" - }, - "tags": { - "type": "array", - "items": { - "type": "string" - } - }, - "textRange": { - "$ref": "#/definitions/sonargo.TextRange" - }, - "transitions": { - "type": "array", - "items": { - "type": "string" - } - }, - "type": { - "type": "string" - }, - "updateDate": { - "type": "string" - } - } - }, - "sonargo.Issue.flows": {}, - "sonargo.IssuesSearchObject": { - "properties": { - "components": { - "type": "array", - "items": { - "$ref": "#/definitions/sonargo.Component" - } - }, - "debtTotal": { - "type": "integer", - "format": "int32" - }, - "effortTotal": { - "type": "integer", - "format": "int32" - }, - "facets": { - "type": "array", - "items": { - "$ref": "#/definitions/sonargo.Facet" - } - }, - "issues": { - "type": "array", - "items": { - "$ref": "#/definitions/sonargo.Issue" - } - }, - "p": { - "type": "integer", - "format": "int32" - }, - "paging": { - "$ref": "#/definitions/sonargo.Paging" - }, - "ps": { - "type": "integer", - "format": "int32" - }, - "rules": { - "type": "array", - "items": { - "$ref": "#/definitions/sonargo.Rule" - } - }, - "total": { - "type": "integer", - "format": "int32" - }, - "users": { - "type": "array", - "items": { - "$ref": "#/definitions/sonargo.User" - } - } - } - }, - "sonargo.MeasuresComponentObject": { - "properties": { - "component": { - "$ref": "#/definitions/sonargo.Component" - }, - "metrics": { - "type": "array", - "items": { - "$ref": "#/definitions/sonargo.Metric" - } - }, - "periods": { - "type": "array", - "items": { - "$ref": "#/definitions/sonargo.Period" - } - } - } - }, - "sonargo.Metric": { - "required": [ - "Description", - "direction", - "Domain", - "Key", - "Name", - "Type" - ], - "properties": { - "Description": { - "type": "string" - }, - "Domain": { - "type": "string" - }, - "Key": { - "type": "string" - }, - "Name": { - "type": "string" - }, - "Type": { - "type": "string" - }, - "custom": { - "type": "boolean" - }, - "decimalScale": { - "type": "integer", - "format": "int32" - }, - "direction": { - "type": "integer", - "format": "int32" - }, - "hidden": { - "type": "boolean" - }, - "id": { - "type": "string" - }, - "qualitative": { - "type": "boolean" - } - } - }, - "sonargo.Paging": { - "properties": { - "pageIndex": { - "type": "integer", - "format": "int32" - }, - "pageSize": { - "type": "integer", - "format": "int32" - }, - "total": { - "type": "integer", - "format": "int32" - } - } - }, - "sonargo.Period": { - "properties": { - "bestValue": { - "type": "boolean" - }, - "date": { - "type": "string" - }, - "index": { - "type": "integer", - "format": "int64" - }, - "mode": { - "type": "string" - }, - "parameter": { - "type": "string" - }, - "value": { - "type": "string" - } - } - }, - "sonargo.Rule": { - "properties": { - "createdAt": { - "type": "string" - }, - "debtOverloaded": { - "type": "boolean" - }, - "htmlDesc": { - "type": "string" - }, - "isExternal": { - "type": "boolean" - }, - "isTemplate": { - "type": "boolean" - }, - "key": { - "type": "string" - }, - "lang": { - "type": "string" - }, - "langName": { - "type": "string" - }, - "mdDesc": { - "type": "string" - }, - "name": { - "type": "string" - }, - "params": { - "type": "array", - "items": { - "$ref": "#/definitions/sonargo.RuleParam" - } - }, - "remFnOverloaded": { - "type": "boolean" - }, - "repo": { - "type": "string" - }, - "scope": { - "type": "string" - }, - "severity": { - "type": "string" - }, - "status": { - "type": "string" - }, - "sysTags": { - "type": "array", - "items": { - "type": "string" - } - }, - "tags": { - "type": "array", - "items": { - "type": "string" - } - }, - "templateKey": { - "type": "string" - }, - "type": { - "type": "string" - } - } - }, - "sonargo.RuleParam": { - "properties": { - "defaultValue": { - "type": "string" - }, - "htmlDesc": { - "type": "string" - }, - "key": { - "type": "string" - }, - "type": { - "type": "string" - } - } - }, - "sonargo.SonarMeasure": { - "properties": { - "bestValue": { - "type": "boolean" - }, - "history": { - "type": "array", - "items": { - "$ref": "#/definitions/sonargo.History" - } - }, - "metric": { - "type": "string" - }, - "periods": { - "type": "array", - "items": { - "$ref": "#/definitions/sonargo.Period" - } - }, - "value": { - "type": "string" - } - } - }, - "sonargo.Task": { - "properties": { - "analysisId": { - "type": "string" - }, - "componentId": { - "type": "string" - }, - "componentKey": { - "type": "string" - }, - "componentName": { - "type": "string" - }, - "componentQualifier": { - "type": "string" - }, - "errorMessage": { - "type": "string" - }, - "errorStacktrace": { - "type": "string" - }, - "errorType": { - "type": "string" - }, - "executedAt": { - "type": "string" - }, - "executionTimeMs": { - "type": "integer", - "format": "int64" - }, - "finishedAt": { - "type": "string" - }, - "hasErrorStacktrace": { - "type": "boolean" - }, - "hasScannerContext": { - "type": "boolean" - }, - "id": { - "type": "string" - }, - "logs": { - "type": "boolean" - }, - "organization": { - "type": "string" - }, - "scannerContext": { - "type": "string" - }, - "startedAt": { - "type": "string" - }, - "status": { - "type": "string" - }, - "submittedAt": { - "type": "string" - }, - "submitterLogin": { - "type": "string" - }, - "taskType": { - "type": "string" - }, - "type": { - "type": "string" - }, - "warningCount": { - "type": "integer", - "format": "int32" - }, - "warnings": { - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "sonargo.TextRange": { - "properties": { - "endLine": { - "type": "integer", - "format": "int32" - }, - "endOffset": { - "type": "integer", - "format": "int32" - }, - "startLine": { - "type": "integer", - "format": "int32" - }, - "startOffset": { - "type": "integer", - "format": "int32" - } - } - }, - "sonargo.User": { - "properties": { - "active": { - "type": "boolean" - }, - "avatar": { - "type": "string" - }, - "email": { - "type": "string" - }, - "externalIdentity": { - "type": "string" - }, - "externalProvider": { - "type": "string" - }, - "groups": { - "type": "array", - "items": { - "type": "string" - } - }, - "local": { - "type": "boolean" - }, - "login": { - "type": "string" - }, - "name": { - "type": "string" - }, - "scmAccounts": { - "type": "array", - "items": { - "type": "string" - } - }, - "selected": { - "type": "boolean" - }, - "tokensCount": { - "type": "integer", - "format": "int32" - } - } - }, - "status.WorkLoadStatus": { - "required": [ - "namespace", - "data" - ], - "properties": { - "data": { - "description": "the number of unhealthy workloads", - "type": "object", - "additionalProperties": { - "type": "integer" - } - }, - "items": { - "description": "unhealthy workloads", - "type": "object" - }, - "namespace": { - "description": "the name of the namespace", - "type": "string" - } - } - }, "strfmt.Base64": { "type": "string" }, - "tenant.Count": { - "required": [ - "count" - ], - "properties": { - "count": { - "type": "integer" - } - } - }, "v1.AWSElasticBlockStoreVolumeSource": { "description": "Represents a Persistent Disk resource in AWS.\n\nAn AWS EBS disk must exist before mounting to a container. The disk must also be in the same AWS zone as the kubelet. An AWS EBS disk can only be mounted as read/write once. AWS EBS volumes support ownership management and SELinux relabeling.", "required": [ @@ -17514,6 +17806,37 @@ } } }, + "v1.CSIVolumeSource": { + "description": "Represents a source location of a volume to mount, managed by an external CSI driver", + "required": [ + "driver" + ], + "properties": { + "driver": { + "description": "Driver is the name of the CSI driver that handles this volume. Consult with your admin for the correct name as registered in the cluster.", + "type": "string" + }, + "fsType": { + "description": "Filesystem type to mount. Ex. \"ext4\", \"xfs\", \"ntfs\". If not provided, the empty value is passed to the associated CSI driver which will determine the default filesystem to apply.", + "type": "string" + }, + "nodePublishSecretRef": { + "description": "NodePublishSecretRef is a reference to the secret object containing sensitive information to pass to the CSI driver to complete the CSI NodePublishVolume and NodeUnpublishVolume calls. This field is optional, and may be empty if no secret is required. If the secret object contains more than one secret, all secret references are passed.", + "$ref": "#/definitions/v1.LocalObjectReference" + }, + "readOnly": { + "description": "Specifies a read-only configuration for the volume. Defaults to false (read/write).", + "type": "boolean" + }, + "volumeAttributes": { + "description": "VolumeAttributes stores driver-specific properties that are passed to the CSI driver. Consult your driver's documentation for supported values.", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, "v1.Capabilities": { "description": "Adds and removes POSIX capabilities from running containers.", "properties": { @@ -17541,7 +17864,7 @@ ], "properties": { "monitors": { - "description": "Required: Monitors is a collection of Ceph monitors More info: https://releases.k8s.io/HEAD/examples/volumes/cephfs/README.md#how-to-use-it", + "description": "Required: Monitors is a collection of Ceph monitors More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it", "type": "array", "items": { "type": "string" @@ -17552,19 +17875,19 @@ "type": "string" }, "readOnly": { - "description": "Optional: Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts. More info: https://releases.k8s.io/HEAD/examples/volumes/cephfs/README.md#how-to-use-it", + "description": "Optional: Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts. More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it", "type": "boolean" }, "secretFile": { - "description": "Optional: SecretFile is the path to key ring for User, default is /etc/ceph/user.secret More info: https://releases.k8s.io/HEAD/examples/volumes/cephfs/README.md#how-to-use-it", + "description": "Optional: SecretFile is the path to key ring for User, default is /etc/ceph/user.secret More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it", "type": "string" }, "secretRef": { - "description": "Optional: SecretRef is reference to the authentication secret for User, default is empty. More info: https://releases.k8s.io/HEAD/examples/volumes/cephfs/README.md#how-to-use-it", + "description": "Optional: SecretRef is reference to the authentication secret for User, default is empty. More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it", "$ref": "#/definitions/v1.LocalObjectReference" }, "user": { - "description": "Optional: User is the rados user name, default is admin More info: https://releases.k8s.io/HEAD/examples/volumes/cephfs/README.md#how-to-use-it", + "description": "Optional: User is the rados user name, default is admin More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it", "type": "string" } } @@ -17576,11 +17899,11 @@ ], "properties": { "fsType": { - "description": "Filesystem type to mount. Must be a filesystem type supported by the host operating system. Examples: \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified. More info: https://releases.k8s.io/HEAD/examples/mysql-cinder-pd/README.md", + "description": "Filesystem type to mount. Must be a filesystem type supported by the host operating system. Examples: \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified. More info: https://examples.k8s.io/mysql-cinder-pd/README.md", "type": "string" }, "readOnly": { - "description": "Optional: Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts. More info: https://releases.k8s.io/HEAD/examples/mysql-cinder-pd/README.md", + "description": "Optional: Defaults to false (read/write). ReadOnly here will force the ReadOnly setting in VolumeMounts. More info: https://examples.k8s.io/mysql-cinder-pd/README.md", "type": "boolean" }, "secretRef": { @@ -17588,7 +17911,7 @@ "$ref": "#/definitions/v1.LocalObjectReference" }, "volumeID": { - "description": "volume id used to identify the volume in cinder More info: https://releases.k8s.io/HEAD/examples/mysql-cinder-pd/README.md", + "description": "volume id used to identify the volume in cinder. More info: https://examples.k8s.io/mysql-cinder-pd/README.md", "type": "string" } } @@ -17614,11 +17937,11 @@ "$ref": "#/definitions/v1.AggregationRule" }, "apiVersion": { - "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", "type": "string" }, "kind": { - "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", "type": "string" }, "metadata": { @@ -17662,7 +17985,7 @@ "type": "string" }, "optional": { - "description": "Specify whether the ConfigMap or it's key must be defined", + "description": "Specify whether the ConfigMap or its key must be defined", "type": "boolean" } } @@ -17682,7 +18005,7 @@ "type": "string" }, "optional": { - "description": "Specify whether the ConfigMap or it's keys must be defined", + "description": "Specify whether the ConfigMap or its keys must be defined", "type": "boolean" } } @@ -17707,7 +18030,7 @@ "type": "string" }, "optional": { - "description": "Specify whether the ConfigMap or it's keys must be defined", + "description": "Specify whether the ConfigMap or its keys must be defined", "type": "boolean" } } @@ -17785,6 +18108,10 @@ "description": "Security options the pod should run with. More info: https://kubernetes.io/docs/concepts/policy/security-context/ More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/", "$ref": "#/definitions/v1.SecurityContext" }, + "startupProbe": { + "description": "StartupProbe indicates that the Pod has successfully initialized. If specified, no other probes are executed until this completes successfully. If this probe fails, the Pod will be restarted, just as if the livenessProbe failed. This can be used to provide different probe parameters at the beginning of a Pod's lifecycle, when it might take a long time to load data or warm a cache, than during steady-state operation. This cannot be updated. This is an alpha feature enabled by the StartupProbe feature flag. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes", + "$ref": "#/definitions/v1.Probe" + }, "stdin": { "description": "Whether this container should allocate a buffer for stdin in the container runtime. If this is not set, reads from stdin in the container will always result in EOF. Default is false.", "type": "boolean" @@ -17859,23 +18186,23 @@ "description": "DaemonSet represents the configuration of a daemon set.", "properties": { "apiVersion": { - "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", "type": "string" }, "kind": { - "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", "type": "string" }, "metadata": { - "description": "Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata", + "description": "Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata", "$ref": "#/definitions/v1.ObjectMeta" }, "spec": { - "description": "The desired behavior of this daemon set. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status", + "description": "The desired behavior of this daemon set. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status", "$ref": "#/definitions/v1.DaemonSetSpec" }, "status": { - "description": "The current status of this daemon set. This data may be out of date by some window of time. Populated by the system. Read-only. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status", + "description": "The current status of this daemon set. This data may be out of date by some window of time. Populated by the system. Read-only. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status", "$ref": "#/definitions/v1.DaemonSetStatus" } } @@ -18020,11 +18347,11 @@ "description": "Deployment enables declarative updates for Pods and ReplicaSets.", "properties": { "apiVersion": { - "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", "type": "string" }, "kind": { - "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", "type": "string" }, "metadata": { @@ -18291,7 +18618,7 @@ "$ref": "#/definitions/v1.ConfigMapKeySelector" }, "fieldRef": { - "description": "Selects a field of the pod: supports metadata.name, metadata.namespace, metadata.labels, metadata.annotations, spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP.", + "description": "Selects a field of the pod: supports metadata.name, metadata.namespace, metadata.labels, metadata.annotations, spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs.", "$ref": "#/definitions/v1.ObjectFieldSelector" }, "resourceFieldRef": { @@ -18304,6 +18631,238 @@ } } }, + "v1.EphemeralContainer": { + "description": "An EphemeralContainer is a container that may be added temporarily to an existing pod for user-initiated activities such as debugging. Ephemeral containers have no resource or scheduling guarantees, and they will not be restarted when they exit or when a pod is removed or restarted. If an ephemeral container causes a pod to exceed its resource allocation, the pod may be evicted. Ephemeral containers may not be added by directly updating the pod spec. They must be added via the pod's ephemeralcontainers subresource, and they will appear in the pod spec once added. This is an alpha feature enabled by the EphemeralContainers feature flag.", + "required": [ + "name" + ], + "properties": { + "args": { + "description": "Arguments to the entrypoint. The docker image's CMD is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell", + "type": "array", + "items": { + "type": "string" + } + }, + "command": { + "description": "Entrypoint array. Not executed within a shell. The docker image's ENTRYPOINT is used if this is not provided. Variable references $(VAR_NAME) are expanded using the container's environment. If a variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Cannot be updated. More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell", + "type": "array", + "items": { + "type": "string" + } + }, + "env": { + "description": "List of environment variables to set in the container. Cannot be updated.", + "type": "array", + "items": { + "$ref": "#/definitions/v1.EnvVar" + } + }, + "envFrom": { + "description": "List of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated.", + "type": "array", + "items": { + "$ref": "#/definitions/v1.EnvFromSource" + } + }, + "image": { + "description": "Docker image name. More info: https://kubernetes.io/docs/concepts/containers/images", + "type": "string" + }, + "imagePullPolicy": { + "description": "Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. Cannot be updated. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images", + "type": "string" + }, + "lifecycle": { + "description": "Lifecycle is not allowed for ephemeral containers.", + "$ref": "#/definitions/v1.Lifecycle" + }, + "livenessProbe": { + "description": "Probes are not allowed for ephemeral containers.", + "$ref": "#/definitions/v1.Probe" + }, + "name": { + "description": "Name of the ephemeral container specified as a DNS_LABEL. This name must be unique among all containers, init containers and ephemeral containers.", + "type": "string" + }, + "ports": { + "description": "Ports are not allowed for ephemeral containers.", + "type": "array", + "items": { + "$ref": "#/definitions/v1.ContainerPort" + } + }, + "readinessProbe": { + "description": "Probes are not allowed for ephemeral containers.", + "$ref": "#/definitions/v1.Probe" + }, + "resources": { + "description": "Resources are not allowed for ephemeral containers. Ephemeral containers use spare resources already allocated to the pod.", + "$ref": "#/definitions/v1.ResourceRequirements" + }, + "securityContext": { + "description": "SecurityContext is not allowed for ephemeral containers.", + "$ref": "#/definitions/v1.SecurityContext" + }, + "startupProbe": { + "description": "Probes are not allowed for ephemeral containers.", + "$ref": "#/definitions/v1.Probe" + }, + "stdin": { + "description": "Whether this container should allocate a buffer for stdin in the container runtime. If this is not set, reads from stdin in the container will always result in EOF. Default is false.", + "type": "boolean" + }, + "stdinOnce": { + "description": "Whether the container runtime should close the stdin channel after it has been opened by a single attach. When stdin is true the stdin stream will remain open across multiple attach sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the first client attaches to stdin, and then remains open and accepts data until the client disconnects, at which time stdin is closed and remains closed until the container is restarted. If this flag is false, a container processes that reads from stdin will never receive an EOF. Default is false", + "type": "boolean" + }, + "targetContainerName": { + "description": "If set, the name of the container from PodSpec that this ephemeral container targets. The ephemeral container will be run in the namespaces (IPC, PID, etc) of this container. If not set then the ephemeral container is run in whatever namespaces are shared for the pod. Note that the container runtime must support this feature.", + "type": "string" + }, + "terminationMessagePath": { + "description": "Optional: Path at which the file to which the container's termination message will be written is mounted into the container's filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log. Cannot be updated.", + "type": "string" + }, + "terminationMessagePolicy": { + "description": "Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated.", + "type": "string" + }, + "tty": { + "description": "Whether this container should allocate a TTY for itself, also requires 'stdin' to be true. Default is false.", + "type": "boolean" + }, + "volumeDevices": { + "description": "volumeDevices is the list of block devices to be used by the container. This is a beta feature.", + "type": "array", + "items": { + "$ref": "#/definitions/v1.VolumeDevice" + } + }, + "volumeMounts": { + "description": "Pod volumes to mount into the container's filesystem. Cannot be updated.", + "type": "array", + "items": { + "$ref": "#/definitions/v1.VolumeMount" + } + }, + "workingDir": { + "description": "Container's working directory. If not specified, the container runtime's default will be used, which might be configured in the container image. Cannot be updated.", + "type": "string" + } + } + }, + "v1.Event": { + "description": "Event is a report of an event somewhere in the cluster.", + "required": [ + "metadata", + "involvedObject", + "reportingComponent", + "reportingInstance" + ], + "properties": { + "action": { + "description": "What action was taken/failed regarding to the Regarding object.", + "type": "string" + }, + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + "type": "string" + }, + "count": { + "description": "The number of times this event has occurred.", + "type": "integer", + "format": "int32" + }, + "eventTime": { + "description": "Time when this Event was first observed.", + "type": "string" + }, + "firstTimestamp": { + "description": "The time at which the event was first recorded. (Time of server receipt is in TypeMeta.)", + "type": "string" + }, + "involvedObject": { + "description": "The object that this event is about.", + "$ref": "#/definitions/v1.ObjectReference" + }, + "kind": { + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", + "type": "string" + }, + "lastTimestamp": { + "description": "The time at which the most recent occurrence of this event was recorded.", + "type": "string" + }, + "message": { + "description": "A human-readable description of the status of this operation.", + "type": "string" + }, + "metadata": { + "description": "Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata", + "$ref": "#/definitions/v1.ObjectMeta" + }, + "reason": { + "description": "This should be a short, machine understandable string that gives the reason for the transition into the object's current status.", + "type": "string" + }, + "related": { + "description": "Optional secondary object for more complex actions.", + "$ref": "#/definitions/v1.ObjectReference" + }, + "reportingComponent": { + "description": "Name of the controller that emitted this Event, e.g. `kubernetes.io/kubelet`.", + "type": "string" + }, + "reportingInstance": { + "description": "ID of the controller instance, e.g. `kubelet-xyzf`.", + "type": "string" + }, + "series": { + "description": "Data about the Event series this event represents or nil if it's a singleton Event.", + "$ref": "#/definitions/v1.EventSeries" + }, + "source": { + "description": "The component reporting this event. Should be a short machine understandable string.", + "$ref": "#/definitions/v1.EventSource" + }, + "type": { + "description": "Type of this event (Normal, Warning), new types could be added in the future", + "type": "string" + } + } + }, + "v1.EventSeries": { + "description": "EventSeries contain information on series of events, i.e. thing that was/is happening continuously for some time.", + "properties": { + "count": { + "description": "Number of occurrences in this series up to the last heartbeat time", + "type": "integer", + "format": "int32" + }, + "lastObservedTime": { + "description": "Time of the last occurrence observed", + "type": "string" + }, + "state": { + "description": "State of this Series: Ongoing or Finished Deprecated. Planned removal for 1.18", + "type": "string" + } + } + }, + "v1.EventSource": { + "description": "EventSource contains information for an event.", + "properties": { + "component": { + "description": "Component from which the event is generated.", + "type": "string" + }, + "host": { + "description": "Node name on which the event is generated.", + "type": "string" + } + } + }, "v1.ExecAction": { "description": "ExecAction describes a \"run in container\" action.", "properties": { @@ -18446,15 +19005,15 @@ ], "properties": { "endpoints": { - "description": "EndpointsName is the endpoint name that details Glusterfs topology. More info: https://releases.k8s.io/HEAD/examples/volumes/glusterfs/README.md#create-a-pod", + "description": "EndpointsName is the endpoint name that details Glusterfs topology. More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod", "type": "string" }, "path": { - "description": "Path is the Glusterfs volume path. More info: https://releases.k8s.io/HEAD/examples/volumes/glusterfs/README.md#create-a-pod", + "description": "Path is the Glusterfs volume path. More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod", "type": "string" }, "readOnly": { - "description": "ReadOnly here will force the Glusterfs volume to be mounted with read-only permissions. Defaults to false. More info: https://releases.k8s.io/HEAD/examples/volumes/glusterfs/README.md#create-a-pod", + "description": "ReadOnly here will force the Glusterfs volume to be mounted with read-only permissions. Defaults to false. More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod", "type": "boolean" } } @@ -18557,6 +19116,7 @@ } } }, + "v1.IPFamily": {}, "v1.ISCSIVolumeSource": { "description": "Represents an ISCSI disk. ISCSI volumes can only be mounted as read/write once. ISCSI volumes support ownership management and SELinux relabeling.", "required": [ @@ -18615,37 +19175,6 @@ } } }, - "v1.Initializer": { - "description": "Initializer is information about an initializer that has not yet completed.", - "required": [ - "name" - ], - "properties": { - "name": { - "description": "name of the process that is responsible for initializing this object.", - "type": "string" - } - } - }, - "v1.Initializers": { - "description": "Initializers tracks the progress of initialization.", - "required": [ - "pending" - ], - "properties": { - "pending": { - "description": "Pending is a list of initializers that must execute in order before this object is visible. When the last pending initializer is removed, and no failing result is set, the initializers struct will be set to nil and the object is considered as initialized and visible to all clients.", - "type": "array", - "items": { - "$ref": "#/definitions/v1.Initializer" - } - }, - "result": { - "description": "If result is set with the Failure field, the object will be persisted to storage and then deleted, ensuring that other clients can observe the deletion.", - "$ref": "#/definitions/v1.Status" - } - } - }, "v1.KeyToPath": { "description": "Maps a string key to a path within a volume.", "required": [ @@ -18719,28 +19248,11 @@ "$ref": "#/definitions/v1.Handler" }, "preStop": { - "description": "PreStop is called immediately before a container is terminated. The container is terminated after the handler completes. The reason for termination is passed to the handler. Regardless of the outcome of the handler, the container is eventually terminated. Other management of the container blocks until the hook completes. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks", + "description": "PreStop is called immediately before a container is terminated due to an API request or management event such as liveness/startup probe failure, preemption, resource contention, etc. The handler is not called if the container crashes or exits. The reason for termination is passed to the handler. The Pod's termination grace period countdown begins before the PreStop hooked is executed. Regardless of the outcome of the handler, the container will eventually terminate within the Pod's termination grace period. Other management of the container blocks until the hook completes or until the termination grace period is reached. More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks", "$ref": "#/definitions/v1.Handler" } } }, - "v1.ListMeta": { - "description": "ListMeta describes metadata that synthetic resources must have, including lists and various status objects. A resource may have only one of {ObjectMeta, ListMeta}.", - "properties": { - "continue": { - "description": "continue may be set if the user set a limit on the number of items returned, and indicates that the server has more data available. The value is opaque and may be used to issue another request to the endpoint that served this list to retrieve the next set of available objects. Continuing a consistent list may not be possible if the server configuration has changed or more than a few minutes have passed. The resourceVersion field returned when using this continue value will be identical to the value in the first response, unless you have received this token from an error message.", - "type": "string" - }, - "resourceVersion": { - "description": "String that identifies the server's internal version of this object that can be used by clients to determine when objects have changed. Value must be treated as opaque by clients and passed unmodified back to the server. Populated by the system. Read-only. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency", - "type": "string" - }, - "selfLink": { - "description": "selfLink is a URL representing this object. Populated by the system. Read-only.", - "type": "string" - } - } - }, "v1.LoadBalancerIngress": { "description": "LoadBalancerIngress represents the status of a load-balancer ingress point: traffic intended for the service should be sent to an ingress point.", "properties": { @@ -18775,6 +19287,35 @@ } } }, + "v1.ManagedFieldsEntry": { + "description": "ManagedFieldsEntry is a workflow-id, a FieldSet and the group version of the resource that the fieldset applies to.", + "properties": { + "apiVersion": { + "description": "APIVersion defines the version of this resource that this field set applies to. The format is \"group/version\" just like the top-level APIVersion field. It is necessary to track the version of a field set because it cannot be automatically converted.", + "type": "string" + }, + "fieldsType": { + "description": "FieldsType is the discriminator for the different fields format and version. There is currently only one possible value: \"FieldsV1\"", + "type": "string" + }, + "fieldsV1": { + "description": "FieldsV1 holds the first JSON version format as described in the \"FieldsV1\" type.", + "type": "string" + }, + "manager": { + "description": "Manager is an identifier of the workflow managing these fields.", + "type": "string" + }, + "operation": { + "description": "Operation is the type of operation which lead to this ManagedFieldsEntry being created. The only valid values for this field are 'Apply' and 'Update'.", + "type": "string" + }, + "time": { + "description": "Time is timestamp of when these fields were set. It should always be empty if Operation is 'Apply'", + "type": "string" + } + } + }, "v1.MountPropagationMode": {}, "v1.NFSVolumeSource": { "description": "Represents an NFS mount that lasts the lifetime of a pod. NFS volumes do not support ownership management or SELinux relabeling.", @@ -18801,27 +19342,53 @@ "description": "Namespace provides a scope for Names. Use of multiple namespaces is optional.", "properties": { "apiVersion": { - "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", "type": "string" }, "kind": { - "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", "type": "string" }, "metadata": { - "description": "Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata", + "description": "Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata", "$ref": "#/definitions/v1.ObjectMeta" }, "spec": { - "description": "Spec defines the behavior of the Namespace. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status", + "description": "Spec defines the behavior of the Namespace. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status", "$ref": "#/definitions/v1.NamespaceSpec" }, "status": { - "description": "Status describes the current status of a Namespace. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status", + "description": "Status describes the current status of a Namespace. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status", "$ref": "#/definitions/v1.NamespaceStatus" } } }, + "v1.NamespaceCondition": { + "description": "NamespaceCondition contains details about state of namespace.", + "required": [ + "type", + "status" + ], + "properties": { + "lastTransitionTime": { + "type": "string" + }, + "message": { + "type": "string" + }, + "reason": { + "type": "string" + }, + "status": { + "description": "Status of the condition, one of True, False, Unknown.", + "type": "string" + }, + "type": { + "description": "Type of namespace controller condition.", + "type": "string" + } + } + }, "v1.NamespaceSpec": { "description": "NamespaceSpec describes the attributes on a Namespace.", "properties": { @@ -18837,6 +19404,13 @@ "v1.NamespaceStatus": { "description": "NamespaceStatus is information about the current status of a Namespace.", "properties": { + "conditions": { + "description": "Represents the latest available observations of a namespace's current state.", + "type": "array", + "items": { + "$ref": "#/definitions/v1.NamespaceCondition" + } + }, "phase": { "description": "Phase is the current lifecycle phase of the namespace. More info: https://kubernetes.io/docs/tasks/administer-cluster/namespaces/", "type": "string" @@ -18948,7 +19522,7 @@ "type": "string" }, "creationTimestamp": { - "description": "CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC.\n\nPopulated by the system. Read-only. Null for lists. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata", + "description": "CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC.\n\nPopulated by the system. Read-only. Null for lists. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata", "type": "string" }, "deletionGracePeriodSeconds": { @@ -18957,18 +19531,18 @@ "format": "int64" }, "deletionTimestamp": { - "description": "DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted. This field is set by the server when a graceful deletion is requested by the user, and is not directly settable by a client. The resource is expected to be deleted (no longer visible from resource lists, and not reachable by name) after the time in this field, once the finalizers list is empty. As long as the finalizers list contains items, deletion is blocked. Once the deletionTimestamp is set, this value may not be unset or be set further into the future, although it may be shortened or the resource may be deleted prior to this time. For example, a user may request that a pod is deleted in 30 seconds. The Kubelet will react by sending a graceful termination signal to the containers in the pod. After that 30 seconds, the Kubelet will send a hard termination signal (SIGKILL) to the container and after cleanup, remove the pod from the API. In the presence of network partitions, this object may still exist after this timestamp, until an administrator or automated process can determine the resource is fully terminated. If not set, graceful deletion of the object has not been requested.\n\nPopulated by the system when a graceful deletion is requested. Read-only. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata", + "description": "DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted. This field is set by the server when a graceful deletion is requested by the user, and is not directly settable by a client. The resource is expected to be deleted (no longer visible from resource lists, and not reachable by name) after the time in this field, once the finalizers list is empty. As long as the finalizers list contains items, deletion is blocked. Once the deletionTimestamp is set, this value may not be unset or be set further into the future, although it may be shortened or the resource may be deleted prior to this time. For example, a user may request that a pod is deleted in 30 seconds. The Kubelet will react by sending a graceful termination signal to the containers in the pod. After that 30 seconds, the Kubelet will send a hard termination signal (SIGKILL) to the container and after cleanup, remove the pod from the API. In the presence of network partitions, this object may still exist after this timestamp, until an administrator or automated process can determine the resource is fully terminated. If not set, graceful deletion of the object has not been requested.\n\nPopulated by the system when a graceful deletion is requested. Read-only. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata", "type": "string" }, "finalizers": { - "description": "Must be empty before the object is deleted from the registry. Each entry is an identifier for the responsible component that will remove the entry from the list. If the deletionTimestamp of the object is non-nil, entries in this list can only be removed.", + "description": "Must be empty before the object is deleted from the registry. Each entry is an identifier for the responsible component that will remove the entry from the list. If the deletionTimestamp of the object is non-nil, entries in this list can only be removed. Finalizers may be processed and removed in any order. Order is NOT enforced because it introduces significant risk of stuck finalizers. finalizers is a shared field, any actor with permission can reorder it. If the finalizer list is processed in order, then this can lead to a situation in which the component responsible for the first finalizer in the list is waiting for a signal (field value, external system, or other) produced by a component responsible for a finalizer later in the list, resulting in a deadlock. Without enforced ordering finalizers are free to order amongst themselves and are not vulnerable to ordering changes in the list.", "type": "array", "items": { "type": "string" } }, "generateName": { - "description": "GenerateName is an optional prefix, used by the server, to generate a unique name ONLY IF the Name field has not been provided. If this field is used, the name returned to the client will be different than the name passed. This value will also be combined with a unique suffix. The provided value has the same validation rules as the Name field, and may be truncated by the length of the suffix required to make the value unique on the server.\n\nIf this field is specified and the generated name exists, the server will NOT return a 409 - instead, it will either return 201 Created or 500 with Reason ServerTimeout indicating a unique name could not be found in the time allotted, and the client should retry (optionally after the time indicated in the Retry-After header).\n\nApplied only if Name is not specified. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#idempotency", + "description": "GenerateName is an optional prefix, used by the server, to generate a unique name ONLY IF the Name field has not been provided. If this field is used, the name returned to the client will be different than the name passed. This value will also be combined with a unique suffix. The provided value has the same validation rules as the Name field, and may be truncated by the length of the suffix required to make the value unique on the server.\n\nIf this field is specified and the generated name exists, the server will NOT return a 409 - instead, it will either return 201 Created or 500 with Reason ServerTimeout indicating a unique name could not be found in the time allotted, and the client should retry (optionally after the time indicated in the Retry-After header).\n\nApplied only if Name is not specified. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#idempotency", "type": "string" }, "generation": { @@ -18976,10 +19550,6 @@ "type": "integer", "format": "int64" }, - "initializers": { - "description": "An initializer is a controller which enforces some system invariant at object creation time. This field is a list of initializers that have not yet acted on this object. If nil or empty, this object has been completely initialized. Otherwise, the object is considered uninitialized and is hidden (in list/watch and get calls) from clients that haven't explicitly asked to observe uninitialized objects.\n\nWhen an object is created, the system will populate this list with the current set of initializers. Only privileged users may set or modify this list. Once it is empty, it may not be modified further by any user.", - "$ref": "#/definitions/v1.Initializers" - }, "labels": { "description": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", "type": "object", @@ -18987,6 +19557,13 @@ "type": "string" } }, + "managedFields": { + "description": "ManagedFields maps workflow-id and version to the set of fields that are managed by that workflow. This is mostly for internal housekeeping, and users typically shouldn't need to set or understand this field. A workflow can be the user's name, a controller's name, or the name of a specific apply path like \"ci-cd\". The set of fields is always in the version that the workflow used when modifying the object.", + "type": "array", + "items": { + "$ref": "#/definitions/v1.ManagedFieldsEntry" + } + }, "name": { "description": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", "type": "string" @@ -19003,11 +19580,11 @@ } }, "resourceVersion": { - "description": "An opaque value that represents the internal version of this object that can be used by clients to determine when objects have changed. May be used for optimistic concurrency, change detection, and the watch operation on a resource or set of resources. Clients must treat these values as opaque and passed unmodified back to the server. They may only be valid for a particular resource or set of resources.\n\nPopulated by the system. Read-only. Value must be treated as opaque by clients and . More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency", + "description": "An opaque value that represents the internal version of this object that can be used by clients to determine when objects have changed. May be used for optimistic concurrency, change detection, and the watch operation on a resource or set of resources. Clients must treat these values as opaque and passed unmodified back to the server. They may only be valid for a particular resource or set of resources.\n\nPopulated by the system. Read-only. Value must be treated as opaque by clients and . More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency", "type": "string" }, "selfLink": { - "description": "SelfLink is a URL representing this object. Populated by the system. Read-only.", + "description": "SelfLink is a URL representing this object. Populated by the system. Read-only.\n\nDEPRECATED Kubernetes will stop propagating this field in 1.20 release and the field is planned to be removed in 1.21 release.", "type": "string" }, "uid": { @@ -19016,6 +19593,39 @@ } } }, + "v1.ObjectReference": { + "description": "ObjectReference contains enough information to let you inspect or modify the referred object.", + "properties": { + "apiVersion": { + "description": "API version of the referent.", + "type": "string" + }, + "fieldPath": { + "description": "If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: \"spec.containers{name}\" (where \"name\" refers to the name of the container that triggered the event) or if no container name is specified \"spec.containers[2]\" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object.", + "type": "string" + }, + "kind": { + "description": "Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", + "type": "string" + }, + "name": { + "description": "Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names", + "type": "string" + }, + "namespace": { + "description": "Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/", + "type": "string" + }, + "resourceVersion": { + "description": "Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency", + "type": "string" + }, + "uid": { + "description": "UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids", + "type": "string" + } + } + }, "v1.OwnerReference": { "description": "OwnerReference contains enough information to let you identify an owning object. An owning object must be in the same namespace as the dependent, or be cluster-scoped, so there is no namespace field.", "required": [ @@ -19038,7 +19648,7 @@ "type": "boolean" }, "kind": { - "description": "Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "description": "Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", "type": "string" }, "name": { @@ -19056,15 +19666,15 @@ "description": "PersistentVolumeClaim is a user's request for and claim to a persistent volume", "properties": { "apiVersion": { - "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", "type": "string" }, "kind": { - "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", "type": "string" }, "metadata": { - "description": "Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata", + "description": "Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata", "$ref": "#/definitions/v1.ObjectMeta" }, "spec": { @@ -19110,9 +19720,6 @@ }, "v1.PersistentVolumeClaimSpec": { "description": "PersistentVolumeClaimSpec describes the common attributes of storage devices and allows a Source for provider-specific attributes", - "required": [ - "dataSource" - ], "properties": { "accessModes": { "description": "AccessModes contains the desired access modes the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1", @@ -19360,6 +19967,10 @@ "items": { "$ref": "#/definitions/v1.Sysctl" } + }, + "windowsOptions": { + "description": "The Windows specific settings applied to all containers. If unspecified, the options within a container's SecurityContext will be used. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence.", + "$ref": "#/definitions/v1.WindowsSecurityContextOptions" } } }, @@ -19398,9 +20009,16 @@ "type": "string" }, "enableServiceLinks": { - "description": "EnableServiceLinks indicates whether information about services should be injected into pod's environment variables, matching the syntax of Docker links.", + "description": "EnableServiceLinks indicates whether information about services should be injected into pod's environment variables, matching the syntax of Docker links. Optional: Defaults to true.", "type": "boolean" }, + "ephemeralContainers": { + "description": "List of ephemeral containers run in this pod. Ephemeral containers may be run in an existing pod to perform user-initiated actions such as debugging. This list cannot be specified when creating a pod, and it cannot be modified by updating the pod spec. In order to add an ephemeral container to an existing pod, use the pod's ephemeralcontainers subresource. This field is alpha-level and is only honored by servers that enable the EphemeralContainers feature.", + "type": "array", + "items": { + "$ref": "#/definitions/v1.EphemeralContainer" + } + }, "hostAliases": { "description": "HostAliases is an optional list of hosts and IPs that will be injected into the pod's hosts file if specified. This is only valid for non-hostNetwork pods.", "type": "array", @@ -19432,7 +20050,7 @@ } }, "initContainers": { - "description": "List of initialization containers belonging to the pod. Init containers are executed in order prior to containers being started. If any init container fails, the pod is considered to have failed and is handled according to its restartPolicy. The name for an init container or normal container must be unique among all containers. Init containers may not have Lifecycle actions, Readiness probes, or Liveness probes. The resourceRequirements of an init container are taken into account during scheduling by finding the highest request/limit for each resource type, and then using the max of of that value or the sum of the normal containers. Limits are applied to init containers in a similar fashion. Init containers cannot currently be added or removed. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/", + "description": "List of initialization containers belonging to the pod. Init containers are executed in order prior to containers being started. If any init container fails, the pod is considered to have failed and is handled according to its restartPolicy. The name for an init container or normal container must be unique among all containers. Init containers may not have Lifecycle actions, Readiness probes, Liveness probes, or Startup probes. The resourceRequirements of an init container are taken into account during scheduling by finding the highest request/limit for each resource type, and then using the max of of that value or the sum of the normal containers. Limits are applied to init containers in a similar fashion. Init containers cannot currently be added or removed. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/", "type": "array", "items": { "$ref": "#/definitions/v1.Container" @@ -19449,6 +20067,17 @@ "type": "string" } }, + "overhead": { + "description": "Overhead represents the resource overhead associated with running a pod for a given RuntimeClass. This field will be autopopulated at admission time by the RuntimeClass admission controller. If the RuntimeClass admission controller is enabled, overhead must not be set in Pod create requests. The RuntimeClass admission controller will reject Pod create requests which have the overhead already set. If RuntimeClass is configured and selected in the PodSpec, Overhead will be set to the value defined in the corresponding RuntimeClass, otherwise it will remain unset and treated as zero. More info: https://git.k8s.io/enhancements/keps/sig-node/20190226-pod-overhead.md This field is alpha-level as of Kubernetes v1.16, and is only honored by servers that enable the PodOverhead feature.", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/resource.Quantity" + } + }, + "preemptionPolicy": { + "description": "PreemptionPolicy is the Policy for preempting pods with lower priority. One of Never, PreemptLowerPriority. Defaults to PreemptLowerPriority if unset. This field is alpha-level and is only honored by servers that enable the NonPreemptingPriority feature.", + "$ref": "#/definitions/v1.PreemptionPolicy" + }, "priority": { "description": "The priority value. Various system components use this field to find the priority of the pod. When Priority Admission Controller is enabled, it prevents users from setting this field. The admission controller populates this field from PriorityClassName. The higher the value, the higher the priority.", "type": "integer", @@ -19459,7 +20088,7 @@ "type": "string" }, "readinessGates": { - "description": "If specified, all readiness gates will be evaluated for pod readiness. A pod is ready when all its containers are ready AND all conditions specified in the readiness gates have status equal to \"True\" More info: https://github.com/kubernetes/community/blob/master/keps/sig-network/0007-pod-ready%2B%2B.md", + "description": "If specified, all readiness gates will be evaluated for pod readiness. A pod is ready when all its containers are ready AND all conditions specified in the readiness gates have status equal to \"True\" More info: https://git.k8s.io/enhancements/keps/sig-network/0007-pod-ready%2B%2B.md", "type": "array", "items": { "$ref": "#/definitions/v1.PodReadinessGate" @@ -19470,7 +20099,7 @@ "type": "string" }, "runtimeClassName": { - "description": "RuntimeClassName refers to a RuntimeClass object in the node.k8s.io group, which should be used to run this pod. If no RuntimeClass resource matches the named class, the pod will not be run. If unset or empty, the \"legacy\" RuntimeClass will be used, which is an implicit class with an empty definition that uses the default runtime handler. More info: https://github.com/kubernetes/community/blob/master/keps/sig-node/0014-runtime-class.md This is an alpha feature and may change in the future.", + "description": "RuntimeClassName refers to a RuntimeClass object in the node.k8s.io group, which should be used to run this pod. If no RuntimeClass resource matches the named class, the pod will not be run. If unset or empty, the \"legacy\" RuntimeClass will be used, which is an implicit class with an empty definition that uses the default runtime handler. More info: https://git.k8s.io/enhancements/keps/sig-node/runtime-class.md This is a beta feature as of Kubernetes v1.14.", "type": "string" }, "schedulerName": { @@ -19490,7 +20119,7 @@ "type": "string" }, "shareProcessNamespace": { - "description": "Share a single process namespace between all of the containers in a pod. When this is set containers will be able to view and signal processes from other containers in the same pod, and the first process in each container will not be assigned PID 1. HostPID and ShareProcessNamespace cannot both be set. Optional: Default to false. This field is beta-level and may be disabled with the PodShareProcessNamespace feature.", + "description": "Share a single process namespace between all of the containers in a pod. When this is set containers will be able to view and signal processes from other containers in the same pod, and the first process in each container will not be assigned PID 1. HostPID and ShareProcessNamespace cannot both be set. Optional: Default to false.", "type": "boolean" }, "subdomain": { @@ -19509,6 +20138,13 @@ "$ref": "#/definitions/v1.Toleration" } }, + "topologySpreadConstraints": { + "description": "TopologySpreadConstraints describes how a group of pods ought to spread across topology domains. Scheduler will schedule pods in a way which abides by the constraints. This field is alpha-level and is only honored by clusters that enables the EvenPodsSpread feature. All topologySpreadConstraints are ANDed.", + "type": "array", + "items": { + "$ref": "#/definitions/v1.TopologySpreadConstraint" + } + }, "volumes": { "description": "List of volumes that can be mounted by containers belonging to the pod. More info: https://kubernetes.io/docs/concepts/storage/volumes", "type": "array", @@ -19522,11 +20158,11 @@ "description": "PodTemplateSpec describes the data a pod should have when created from a template", "properties": { "metadata": { - "description": "Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata", + "description": "Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata", "$ref": "#/definitions/v1.ObjectMeta" }, "spec": { - "description": "Specification of the desired behavior of the pod. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status", + "description": "Specification of the desired behavior of the pod. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status", "$ref": "#/definitions/v1.PodSpec" } } @@ -19594,6 +20230,7 @@ } } }, + "v1.PreemptionPolicy": {}, "v1.PreferredSchedulingTerm": { "description": "An empty preferred scheduling term matches all objects with implicit weight 0 (i.e. it's a no-op). A null preferred scheduling term matches no objects (i.e. is also a no-op).", "required": [ @@ -19639,7 +20276,7 @@ "format": "int32" }, "successThreshold": { - "description": "Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness. Minimum value is 1.", + "description": "Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.", "type": "integer", "format": "int32" }, @@ -19694,6 +20331,10 @@ "description": "Registry represents a single or multiple Quobyte Registry services specified as a string as host:port pair (multiple entries are separated with commas) which acts as the central registry for volumes", "type": "string" }, + "tenant": { + "description": "Tenant owning the given Quobyte volume in the Backend Used with dynamically provisioned Quobyte volumes, value is set by the plugin", + "type": "string" + }, "user": { "description": "User to map volume access to Defaults to serivceaccount user", "type": "string" @@ -19716,34 +20357,34 @@ "type": "string" }, "image": { - "description": "The rados image name. More info: https://releases.k8s.io/HEAD/examples/volumes/rbd/README.md#how-to-use-it", + "description": "The rados image name. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it", "type": "string" }, "keyring": { - "description": "Keyring is the path to key ring for RBDUser. Default is /etc/ceph/keyring. More info: https://releases.k8s.io/HEAD/examples/volumes/rbd/README.md#how-to-use-it", + "description": "Keyring is the path to key ring for RBDUser. Default is /etc/ceph/keyring. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it", "type": "string" }, "monitors": { - "description": "A collection of Ceph monitors. More info: https://releases.k8s.io/HEAD/examples/volumes/rbd/README.md#how-to-use-it", + "description": "A collection of Ceph monitors. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it", "type": "array", "items": { "type": "string" } }, "pool": { - "description": "The rados pool name. Default is rbd. More info: https://releases.k8s.io/HEAD/examples/volumes/rbd/README.md#how-to-use-it", + "description": "The rados pool name. Default is rbd. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it", "type": "string" }, "readOnly": { - "description": "ReadOnly here will force the ReadOnly setting in VolumeMounts. Defaults to false. More info: https://releases.k8s.io/HEAD/examples/volumes/rbd/README.md#how-to-use-it", + "description": "ReadOnly here will force the ReadOnly setting in VolumeMounts. Defaults to false. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it", "type": "boolean" }, "secretRef": { - "description": "SecretRef is name of the authentication secret for RBDUser. If provided overrides keyring. Default is nil. More info: https://releases.k8s.io/HEAD/examples/volumes/rbd/README.md#how-to-use-it", + "description": "SecretRef is name of the authentication secret for RBDUser. If provided overrides keyring. Default is nil. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it", "$ref": "#/definitions/v1.LocalObjectReference" }, "user": { - "description": "The rados user name. Default is admin. More info: https://releases.k8s.io/HEAD/examples/volumes/rbd/README.md#how-to-use-it", + "description": "The rados user name. Default is admin. More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it", "type": "string" } } @@ -19752,23 +20393,23 @@ "description": "ReplicaSet ensures that a specified number of pod replicas are running at any given time.", "properties": { "apiVersion": { - "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", "type": "string" }, "kind": { - "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", "type": "string" }, "metadata": { - "description": "If the Labels of a ReplicaSet are empty, they are defaulted to be the same as the Pod(s) that the ReplicaSet manages. Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata", + "description": "If the Labels of a ReplicaSet are empty, they are defaulted to be the same as the Pod(s) that the ReplicaSet manages. Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata", "$ref": "#/definitions/v1.ObjectMeta" }, "spec": { - "description": "Spec defines the specification of the desired behavior of the ReplicaSet. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status", + "description": "Spec defines the specification of the desired behavior of the ReplicaSet. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status", "$ref": "#/definitions/v1.ReplicaSetSpec" }, "status": { - "description": "Status is the most recently observed status of the ReplicaSet. This data may be out of date by some window of time. Populated by the system. Read-only. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status", + "description": "Status is the most recently observed status of the ReplicaSet. This data may be out of date by some window of time. Populated by the system. Read-only. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status", "$ref": "#/definitions/v1.ReplicaSetStatus" } } @@ -19933,11 +20574,11 @@ ], "properties": { "apiVersion": { - "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", "type": "string" }, "kind": { - "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", "type": "string" }, "metadata": { @@ -20056,6 +20697,38 @@ } } }, + "v1.Secret": { + "description": "Secret holds secret data of a certain type. The total bytes of the values in the Data field must be less than MaxSecretSize bytes.", + "properties": { + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + "type": "string" + }, + "data": { + "description": "Data contains the secret data. Each key must consist of alphanumeric characters, '-', '_' or '.'. The serialized form of the secret data is a base64 encoded string, representing the arbitrary (possibly non-string) data value here. Described in https://tools.ietf.org/html/rfc4648#section-4", + "type": "object" + }, + "kind": { + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "description": "Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata", + "$ref": "#/definitions/v1.ObjectMeta" + }, + "stringData": { + "description": "stringData allows specifying non-binary secret data in string form. It is provided as a write-only convenience method. All keys and values are merged into the data field on write, overwriting any existing values. It is never output when reading from the API.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "type": { + "description": "Used to facilitate programmatic handling of secret data.", + "type": "string" + } + } + }, "v1.SecretEnvSource": { "description": "SecretEnvSource selects a Secret to populate the environment variables with.\n\nThe contents of the target Secret's Data field will represent the key-value pairs as environment variables.", "properties": { @@ -20084,7 +20757,7 @@ "type": "string" }, "optional": { - "description": "Specify whether the Secret or it's key must be defined", + "description": "Specify whether the Secret or its key must be defined", "type": "boolean" } } @@ -20138,7 +20811,7 @@ } }, "optional": { - "description": "Specify whether the Secret or it's keys must be defined", + "description": "Specify whether the Secret or its keys must be defined", "type": "boolean" }, "secretName": { @@ -20187,6 +20860,10 @@ "seLinuxOptions": { "description": "The SELinux context to be applied to the container. If unspecified, the container runtime will allocate a random SELinux context for each container. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence.", "$ref": "#/definitions/v1.SELinuxOptions" + }, + "windowsOptions": { + "description": "The Windows specific settings applied to all containers. If unspecified, the options from the PodSecurityContext will be used. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence.", + "$ref": "#/definitions/v1.WindowsSecurityContextOptions" } } }, @@ -20194,23 +20871,23 @@ "description": "Service is a named abstraction of software service (for example, mysql) consisting of local port (for example 3306) that the proxy listens on, and the selector that determines which pods will answer requests sent through the proxy.", "properties": { "apiVersion": { - "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", "type": "string" }, "kind": { - "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", "type": "string" }, "metadata": { - "description": "Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata", + "description": "Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata", "$ref": "#/definitions/v1.ObjectMeta" }, "spec": { - "description": "Spec defines the behavior of a service. https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status", + "description": "Spec defines the behavior of a service. https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status", "$ref": "#/definitions/v1.ServiceSpec" }, "status": { - "description": "Most recently observed status of the service. Populated by the system. Read-only. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status", + "description": "Most recently observed status of the service. Populated by the system. Read-only. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status", "$ref": "#/definitions/v1.ServiceStatus" } } @@ -20236,33 +20913,6 @@ } } }, - "v1.ServiceList": { - "description": "ServiceList holds a list of services.", - "required": [ - "items" - ], - "properties": { - "apiVersion": { - "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", - "type": "string" - }, - "items": { - "description": "List of services", - "type": "array", - "items": { - "$ref": "#/definitions/v1.Service" - } - }, - "kind": { - "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", - "type": "string" - }, - "metadata": { - "description": "Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", - "$ref": "#/definitions/v1.ListMeta" - } - } - }, "v1.ServicePort": { "description": "ServicePort contains information on service's port.", "required": [ @@ -20270,7 +20920,7 @@ ], "properties": { "name": { - "description": "The name of this port within the service. This must be a DNS_LABEL. All ports within a ServiceSpec must have unique names. This maps to the 'Name' field in EndpointPort objects. Optional if only one ServicePort is defined on this service.", + "description": "The name of this port within the service. This must be a DNS_LABEL. All ports within a ServiceSpec must have unique names. When considering the endpoints for a Service, this must match the 'name' field in the EndpointPort. Optional if only one ServicePort is defined on this service.", "type": "string" }, "nodePort": { @@ -20320,6 +20970,10 @@ "type": "integer", "format": "int32" }, + "ipFamily": { + "description": "ipFamily specifies whether this Service has a preference for a particular IP family (e.g. IPv4 vs. IPv6). If a specific IP family is requested, the clusterIP field will be allocated from that family, if it is available in the cluster. If no IP family is requested, the cluster's primary IP family will be used. Other IP fields (loadBalancerIP, loadBalancerSourceRanges, externalIPs) and controllers which allocate external load-balancers should use the same IP family. Endpoints for this Service will be of this family. This field is immutable after creation. Assigning a ServiceIPFamily not available in the cluster (e.g. IPv6 in IPv4 only cluster) is an error condition and will fail during clusterIP assignment.", + "$ref": "#/definitions/v1.IPFamily" + }, "loadBalancerIP": { "description": "Only applies to Service Type: LoadBalancer LoadBalancer will get created with the IP specified in this field. This feature depends on whether the underlying cloud-provider supports specifying the loadBalancerIP when a load balancer is created. This field will be ignored if the cloud-provider does not support the feature.", "type": "string" @@ -20357,8 +21011,15 @@ "description": "sessionAffinityConfig contains the configurations of session affinity.", "$ref": "#/definitions/v1.SessionAffinityConfig" }, + "topologyKeys": { + "description": "topologyKeys is a preference-order list of topology keys which implementations of services should use to preferentially sort endpoints when accessing this Service, it can not be used at the same time as externalTrafficPolicy=Local. Topology keys must be valid label keys and at most 16 keys may be specified. Endpoints are chosen based on the first topology key with available backends. If this field is specified and all entries have no backends that match the topology of the client, the service has no backends for that client and connections should fail. The special value \"*\" may be used to mean \"any topology\". This catch-all value, if used, only makes sense as the last value in the list. If this is not specified or empty, no topology constraints will be applied.", + "type": "array", + "items": { + "type": "string" + } + }, "type": { - "description": "type determines how the Service is exposed. Defaults to ClusterIP. Valid options are ExternalName, ClusterIP, NodePort, and LoadBalancer. \"ExternalName\" maps to the specified externalName. \"ClusterIP\" allocates a cluster-internal IP address for load-balancing to endpoints. Endpoints are determined by the selector or if that is not specified, by manual construction of an Endpoints object. If clusterIP is \"None\", no virtual IP is allocated and the endpoints are published as a set of endpoints rather than a stable IP. \"NodePort\" builds on ClusterIP and allocates a port on every node which routes to the clusterIP. \"LoadBalancer\" builds on NodePort and creates an external load-balancer (if supported in the current cloud) which routes to the clusterIP. More info: https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services ", + "description": "type determines how the Service is exposed. Defaults to ClusterIP. Valid options are ExternalName, ClusterIP, NodePort, and LoadBalancer. \"ExternalName\" maps to the specified externalName. \"ClusterIP\" allocates a cluster-internal IP address for load-balancing to endpoints. Endpoints are determined by the selector or if that is not specified, by manual construction of an Endpoints object. If clusterIP is \"None\", no virtual IP is allocated and the endpoints are published as a set of endpoints rather than a stable IP. \"NodePort\" builds on ClusterIP and allocates a port on every node which routes to the clusterIP. \"LoadBalancer\" builds on NodePort and creates an external load-balancer (if supported in the current cloud) which routes to the clusterIP. More info: https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types", "type": "string" } } @@ -20385,11 +21046,11 @@ "description": "StatefulSet represents a set of pods with consistent identities. Identities are defined as:\n - Network: A single stable DNS and hostname.\n - Storage: As many VolumeClaims as requested.\nThe StatefulSet guarantees that a given network identity will always map to the same storage identity.", "properties": { "apiVersion": { - "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", "type": "string" }, "kind": { - "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", "type": "string" }, "metadata": { @@ -20547,94 +21208,6 @@ } } }, - "v1.Status": { - "description": "Status is a return value for calls that don't return other objects.", - "properties": { - "apiVersion": { - "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", - "type": "string" - }, - "code": { - "description": "Suggested HTTP return code for this status, 0 if not set.", - "type": "integer", - "format": "int32" - }, - "details": { - "description": "Extended data associated with the reason. Each reason may define its own extended details. This field is optional and the data returned is not guaranteed to conform to any schema except that defined by the reason type.", - "$ref": "#/definitions/v1.StatusDetails" - }, - "kind": { - "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", - "type": "string" - }, - "message": { - "description": "A human-readable description of the status of this operation.", - "type": "string" - }, - "metadata": { - "description": "Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", - "$ref": "#/definitions/v1.ListMeta" - }, - "reason": { - "description": "A machine-readable description of why this operation is in the \"Failure\" status. If this value is empty there is no information available. A Reason clarifies an HTTP status code but does not override it.", - "type": "string" - }, - "status": { - "description": "Status of the operation. One of: \"Success\" or \"Failure\". More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status", - "type": "string" - } - } - }, - "v1.StatusCause": { - "description": "StatusCause provides more information about an api.Status failure, including cases when multiple errors are encountered.", - "properties": { - "field": { - "description": "The field of the resource that has caused this error, as named by its JSON serialization. May include dot and postfix notation for nested attributes. Arrays are zero-indexed. Fields may appear more than once in an array of causes due to fields having multiple errors. Optional.\n\nExamples:\n \"name\" - the field \"name\" on the current resource\n \"items[0].name\" - the field \"name\" on the first array entry in \"items\"", - "type": "string" - }, - "message": { - "description": "A human-readable description of the cause of the error. This field may be presented as-is to a reader.", - "type": "string" - }, - "reason": { - "description": "A machine-readable description of the cause of the error. If this value is empty there is no information available.", - "type": "string" - } - } - }, - "v1.StatusDetails": { - "description": "StatusDetails is a set of additional properties that MAY be set by the server to provide additional information about a response. The Reason field of a Status object defines what attributes will be set. Clients must ignore fields that do not match the defined type of each attribute, and should assume that any attribute may be empty, invalid, or under defined.", - "properties": { - "causes": { - "description": "The Causes array includes more details associated with the StatusReason failure. Not all StatusReasons may provide detailed causes.", - "type": "array", - "items": { - "$ref": "#/definitions/v1.StatusCause" - } - }, - "group": { - "description": "The group attribute of the resource associated with the status StatusReason.", - "type": "string" - }, - "kind": { - "description": "The kind attribute of the resource associated with the status StatusReason. On some operations may differ from the requested resource Kind. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", - "type": "string" - }, - "name": { - "description": "The name attribute of the resource associated with the status StatusReason (when there is a single name which can be described).", - "type": "string" - }, - "retryAfterSeconds": { - "description": "If specified, the time in seconds before the operation should be retried. Some errors may indicate the client must take an alternate action - for those errors this field may indicate how long to wait before taking the alternate action.", - "type": "integer", - "format": "int32" - }, - "uid": { - "description": "UID of the resource. (when there is a single resource which can be described). More info: http://kubernetes.io/docs/user-guide/identifiers#uids", - "type": "string" - } - } - }, "v1.StorageOSVolumeSource": { "description": "Represents a StorageOS persistent volume resource.", "properties": { @@ -20719,6 +21292,33 @@ } } }, + "v1.TopologySpreadConstraint": { + "description": "TopologySpreadConstraint specifies how to spread matching pods among the given topology.", + "required": [ + "maxSkew", + "topologyKey", + "whenUnsatisfiable" + ], + "properties": { + "labelSelector": { + "description": "LabelSelector is used to find matching pods. Pods that match this label selector are counted to determine the number of pods in their corresponding topology domain.", + "$ref": "#/definitions/v1.LabelSelector" + }, + "maxSkew": { + "description": "MaxSkew describes the degree to which pods may be unevenly distributed. It's the maximum permitted difference between the number of matching pods in any two topology domains of a given topology type. For example, in a 3-zone cluster, MaxSkew is set to 1, and pods with the same labelSelector spread as 1/1/0: ", + "type": "integer", + "format": "int32" + }, + "topologyKey": { + "description": "TopologyKey is the key of node labels. Nodes that have a label with this key and identical values are considered to be in the same topology. We consider each \u003ckey, value\u003e as a \"bucket\", and try to put balanced number of pods into each bucket. It's a required field.", + "type": "string" + }, + "whenUnsatisfiable": { + "description": "WhenUnsatisfiable indicates how to deal with a pod if it doesn't satisfy the spread constraint. - DoNotSchedule (default) tells the scheduler not to schedule it - ScheduleAnyway tells the scheduler to still schedule it It's considered as \"Unsatisfiable\" if and only if placing incoming pod on any topology violates \"MaxSkew\". For example, in a 3-zone cluster, MaxSkew is set to 1, and pods with the same labelSelector spread as 3/1/1: ", + "type": "string" + } + } + }, "v1.TypedLocalObjectReference": { "description": "TypedLocalObjectReference contains enough information to let you locate the typed referenced object inside the same namespace.", "required": [ @@ -20764,13 +21364,17 @@ "$ref": "#/definitions/v1.CephFSVolumeSource" }, "cinder": { - "description": "Cinder represents a cinder volume attached and mounted on kubelets host machine More info: https://releases.k8s.io/HEAD/examples/mysql-cinder-pd/README.md", + "description": "Cinder represents a cinder volume attached and mounted on kubelets host machine. More info: https://examples.k8s.io/mysql-cinder-pd/README.md", "$ref": "#/definitions/v1.CinderVolumeSource" }, "configMap": { "description": "ConfigMap represents a configMap that should populate this volume", "$ref": "#/definitions/v1.ConfigMapVolumeSource" }, + "csi": { + "description": "CSI (Container Storage Interface) represents storage that is handled by an external CSI driver (Alpha feature).", + "$ref": "#/definitions/v1.CSIVolumeSource" + }, "downwardAPI": { "description": "DownwardAPI represents downward API about the pod that should populate this volume", "$ref": "#/definitions/v1.DownwardAPIVolumeSource" @@ -20800,7 +21404,7 @@ "$ref": "#/definitions/v1.GitRepoVolumeSource" }, "glusterfs": { - "description": "Glusterfs represents a Glusterfs mount on the host that shares a pod's lifetime. More info: https://releases.k8s.io/HEAD/examples/volumes/glusterfs/README.md", + "description": "Glusterfs represents a Glusterfs mount on the host that shares a pod's lifetime. More info: https://examples.k8s.io/volumes/glusterfs/README.md", "$ref": "#/definitions/v1.GlusterfsVolumeSource" }, "hostPath": { @@ -20808,7 +21412,7 @@ "$ref": "#/definitions/v1.HostPathVolumeSource" }, "iscsi": { - "description": "ISCSI represents an ISCSI Disk resource that is attached to a kubelet's host machine and then exposed to the pod. More info: https://releases.k8s.io/HEAD/examples/volumes/iscsi/README.md", + "description": "ISCSI represents an ISCSI Disk resource that is attached to a kubelet's host machine and then exposed to the pod. More info: https://examples.k8s.io/volumes/iscsi/README.md", "$ref": "#/definitions/v1.ISCSIVolumeSource" }, "name": { @@ -20840,7 +21444,7 @@ "$ref": "#/definitions/v1.QuobyteVolumeSource" }, "rbd": { - "description": "RBD represents a Rados Block Device mount on the host that shares a pod's lifetime. More info: https://releases.k8s.io/HEAD/examples/volumes/rbd/README.md", + "description": "RBD represents a Rados Block Device mount on the host that shares a pod's lifetime. More info: https://examples.k8s.io/volumes/rbd/README.md", "$ref": "#/definitions/v1.RBDVolumeSource" }, "scaleIO": { @@ -20904,6 +21508,10 @@ "subPath": { "description": "Path within the volume from which the container's volume should be mounted. Defaults to \"\" (volume's root).", "type": "string" + }, + "subPathExpr": { + "description": "Expanded path within the volume from which the container's volume should be mounted. Behaves similarly to SubPath but environment variable references $(VAR_NAME) are expanded using the container's environment. Defaults to \"\" (volume's root). SubPathExpr and SubPath are mutually exclusive.", + "type": "string" } } }, @@ -20970,71 +21578,36 @@ } } }, - "v1alpha1.S2iBinary": { + "v1.WindowsSecurityContextOptions": { + "description": "WindowsSecurityContextOptions contain Windows-specific options and credentials.", "properties": { - "apiVersion": { - "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", + "gmsaCredentialSpec": { + "description": "GMSACredentialSpec is where the GMSA admission webhook (https://github.com/kubernetes-sigs/windows-gmsa) inlines the contents of the GMSA credential spec named by the GMSACredentialSpecName field. This field is alpha-level and is only honored by servers that enable the WindowsGMSA feature flag.", "type": "string" }, - "kind": { - "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "gmsaCredentialSpecName": { + "description": "GMSACredentialSpecName is the name of the GMSA credential spec to use. This field is alpha-level and is only honored by servers that enable the WindowsGMSA feature flag.", "type": "string" }, - "metadata": { - "$ref": "#/definitions/v1.ObjectMeta" - }, - "spec": { - "$ref": "#/definitions/v1alpha1.S2iBinarySpec" - }, - "status": { - "$ref": "#/definitions/v1alpha1.S2iBinaryStatus" - } - } - }, - "v1alpha1.S2iBinarySpec": { - "properties": { - "downloadURL": { - "type": "string" - }, - "fileName": { - "type": "string" - }, - "md5": { - "type": "string" - }, - "size": { - "type": "string" - }, - "uploadTimeStamp": { + "runAsUserName": { + "description": "The UserName in Windows to run the entrypoint of the container process. Defaults to the user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. This field is beta-level and may be disabled with the WindowsRunAsUserName feature flag.", "type": "string" } } }, - "v1alpha1.S2iBinaryStatus": { + "v1alpha1.APIResponse": { "properties": { - "phase": { - "type": "string" - } - } - }, - "v1alpha1.Workspace": { - "properties": { - "apiVersion": { - "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", - "type": "string" + "histogram": { + "description": "histogram results", + "$ref": "#/definitions/events.Histogram" }, - "kind": { - "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", - "type": "string" + "query": { + "description": "query results", + "$ref": "#/definitions/events.Events" }, - "metadata": { - "$ref": "#/definitions/v1.ObjectMeta" - }, - "spec": { - "$ref": "#/definitions/v1alpha1.WorkspaceSpec" - }, - "status": { - "$ref": "#/definitions/v1alpha1.WorkspaceStatus" + "statistics": { + "description": "statistics results", + "$ref": "#/definitions/events.Statistics" } } }, @@ -21042,178 +21615,805 @@ "properties": { "manager": { "type": "string" + }, + "networkIsolation": { + "type": "boolean" + } + } + }, + "v1alpha2.APIResponse": { + "properties": { + "histogram": { + "description": "histogram results", + "$ref": "#/definitions/logging.Histogram" + }, + "query": { + "description": "query results", + "$ref": "#/definitions/logging.Logs" + }, + "statistics": { + "description": "statistics results", + "$ref": "#/definitions/logging.Statistics" } } }, - "v1alpha1.WorkspaceStatus": {}, "v1alpha2.BadRequestError": { "required": [ "status", "reason" ], "properties": { - "reason": { - "$ref": "#/definitions/error" - }, "status": { "type": "integer", "format": "int32" } } }, - "v1alpha2.ClusterRoleList": { + "v1alpha2.Column": { "required": [ - "items", - "total_count" + "id", + "label", + "dataType" ], "properties": { - "items": { - "description": "paging data", - "type": "array", - "items": { - "$ref": "#/definitions/v1.ClusterRole" - } + "dataType": { + "type": "string" }, - "total_count": { - "description": "total count", + "id": { + "type": "string" + }, + "label": { + "type": "string" + } + } + }, + "v1alpha2.ComponentStatus": { + "required": [ + "name", + "namespace", + "selfLink", + "label", + "startedAt", + "totalBackends", + "healthyBackends" + ], + "properties": { + "healthyBackends": { + "description": "the number of healthy backend components", + "type": "integer", + "format": "int32" + }, + "label": { + "description": "labels", + "$ref": "#/definitions/v1alpha2.ComponentStatus.label" + }, + "name": { + "description": "component name", + "type": "string" + }, + "namespace": { + "description": "the name of the namespace", + "type": "string" + }, + "selfLink": { + "description": "self link", + "type": "string" + }, + "startedAt": { + "description": "started time", + "type": "string", + "format": "date-time" + }, + "totalBackends": { + "description": "the total replicas of each backend system component", "type": "integer", "format": "int32" } } }, - "v1alpha2.CreateUserRequest": { + "v1alpha2.ComponentStatus.label": {}, + "v1alpha2.Connection": { "required": [ - "username", - "email", - "description", - "password", - "cluster_role" + "id", + "nodeId", + "label" ], "properties": { - "cluster_role": { - "description": "user's cluster role", + "id": { "type": "string" }, + "label": { + "type": "string" + }, + "labelMinor": { + "type": "string" + }, + "metadata": { + "type": "array", + "items": { + "$ref": "#/definitions/v1alpha2.MetadataRow" + } + }, + "nodeId": { + "type": "string" + } + } + }, + "v1alpha2.ConnectionsSummary": { + "required": [ + "id", + "topologyId", + "label", + "columns", + "connections" + ], + "properties": { + "columns": { + "type": "array", + "items": { + "$ref": "#/definitions/v1alpha2.Column" + } + }, + "connections": { + "type": "array", + "items": { + "$ref": "#/definitions/v1alpha2.Connection" + } + }, + "id": { + "type": "string" + }, + "label": { + "type": "string" + }, + "topologyId": { + "type": "string" + } + } + }, + "v1alpha2.Control": { + "required": [ + "id", + "human", + "icon", + "rank" + ], + "properties": { + "confirmation": { + "type": "string" + }, + "human": { + "type": "string" + }, + "icon": { + "type": "string" + }, + "id": { + "type": "string" + }, + "rank": { + "type": "integer", + "format": "int32" + } + } + }, + "v1alpha2.ControlInstance": { + "required": [ + "ProbeID", + "NodeID", + "Control" + ], + "properties": { + "Control": { + "$ref": "#/definitions/v1alpha2.Control" + }, + "NodeID": { + "type": "string" + }, + "ProbeID": { + "type": "string" + } + } + }, + "v1alpha2.GlobalRole": { + "required": [ + "rules" + ], + "properties": { + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "$ref": "#/definitions/v1.ObjectMeta" + }, + "rules": { + "type": "array", + "items": { + "$ref": "#/definitions/v1.PolicyRule" + } + } + } + }, + "v1alpha2.HealthStatus": { + "required": [ + "kubesphereStatus", + "nodeStatus" + ], + "properties": { + "kubesphereStatus": { + "description": "kubesphere components status", + "type": "array", + "items": { + "$ref": "#/definitions/v1alpha2.ComponentStatus" + } + }, + "nodeStatus": { + "description": "nodes status", + "$ref": "#/definitions/v1alpha2.NodeStatus" + } + } + }, + "v1alpha2.Member": { + "required": [ + "username", + "roleRef" + ], + "properties": { + "roleRef": { + "type": "string" + }, + "username": { + "type": "string" + } + } + }, + "v1alpha2.MetadataRow": { + "required": [ + "id", + "label", + "value" + ], + "properties": { + "dataType": { + "type": "string" + }, + "id": { + "type": "string" + }, + "label": { + "type": "string" + }, + "priority": { + "type": "number", + "format": "double" + }, + "truncate": { + "type": "integer", + "format": "int32" + }, + "value": { + "type": "string" + } + } + }, + "v1alpha2.Metric": { + "required": [ + "min", + "max" + ], + "properties": { + "max": { + "type": "number", + "format": "double" + }, + "min": { + "type": "number", + "format": "double" + }, + "samples": { + "type": "array", + "items": { + "$ref": "#/definitions/v1alpha2.Sample" + } + } + } + }, + "v1alpha2.MetricRow": { + "required": [ + "ID", + "Label", + "Format", + "Group", + "Value", + "ValueEmpty", + "Priority", + "URL", + "Metric" + ], + "properties": { + "Format": { + "type": "string" + }, + "Group": { + "type": "string" + }, + "ID": { + "type": "string" + }, + "Label": { + "type": "string" + }, + "Metric": { + "$ref": "#/definitions/v1alpha2.Metric" + }, + "Priority": { + "type": "number", + "format": "double" + }, + "URL": { + "type": "string" + }, + "Value": { + "type": "number", + "format": "double" + }, + "ValueEmpty": { + "type": "boolean" + } + } + }, + "v1alpha2.Node": { + "required": [ + "labelMinor", + "rank", + "id", + "label", + "controls" + ], + "properties": { + "adjacency": { + "type": "array", + "items": { + "type": "string" + } + }, + "children": { + "type": "array", + "items": { + "$ref": "#/definitions/v1alpha2.NodeSummaryGroup" + } + }, + "connections": { + "type": "array", + "items": { + "$ref": "#/definitions/v1alpha2.ConnectionsSummary" + } + }, + "controls": { + "type": "array", + "items": { + "$ref": "#/definitions/v1alpha2.ControlInstance" + } + }, + "id": { + "type": "string" + }, + "label": { + "type": "string" + }, + "labelMinor": { + "type": "string" + }, + "metadata": { + "type": "array", + "items": { + "$ref": "#/definitions/v1alpha2.MetadataRow" + } + }, + "metrics": { + "type": "array", + "items": { + "$ref": "#/definitions/v1alpha2.MetricRow" + } + }, + "parents": { + "type": "array", + "items": { + "$ref": "#/definitions/v1alpha2.Parent" + } + }, + "pseudo": { + "type": "boolean" + }, + "rank": { + "type": "string" + }, + "shape": { + "type": "string" + }, + "stack": { + "type": "boolean" + }, + "tables": { + "type": "array", + "items": { + "$ref": "#/definitions/v1alpha2.Table" + } + }, + "tag": { + "type": "string" + } + } + }, + "v1alpha2.NodeResponse": { + "required": [ + "node" + ], + "properties": { + "node": { + "$ref": "#/definitions/v1alpha2.Node" + } + } + }, + "v1alpha2.NodeStatus": { + "required": [ + "totalNodes", + "healthyNodes" + ], + "properties": { + "healthyNodes": { + "description": "the number of healthy nodes", + "type": "integer", + "format": "int32" + }, + "totalNodes": { + "description": "total number of nodes", + "type": "integer", + "format": "int32" + } + } + }, + "v1alpha2.NodeSummary": { + "required": [ + "id", + "label", + "labelMinor", + "rank" + ], + "properties": { + "adjacency": { + "type": "array", + "items": { + "type": "string" + } + }, + "id": { + "type": "string" + }, + "label": { + "type": "string" + }, + "labelMinor": { + "type": "string" + }, + "metadata": { + "type": "array", + "items": { + "$ref": "#/definitions/v1alpha2.MetadataRow" + } + }, + "metrics": { + "type": "array", + "items": { + "$ref": "#/definitions/v1alpha2.MetricRow" + } + }, + "parents": { + "type": "array", + "items": { + "$ref": "#/definitions/v1alpha2.Parent" + } + }, + "pseudo": { + "type": "boolean" + }, + "rank": { + "type": "string" + }, + "shape": { + "type": "string" + }, + "stack": { + "type": "boolean" + }, + "tables": { + "type": "array", + "items": { + "$ref": "#/definitions/v1alpha2.Table" + } + }, + "tag": { + "type": "string" + } + } + }, + "v1alpha2.NodeSummaryGroup": { + "required": [ + "id", + "label", + "nodes", + "topologyId", + "columns" + ], + "properties": { + "columns": { + "type": "array", + "items": { + "$ref": "#/definitions/v1alpha2.Column" + } + }, + "id": { + "type": "string" + }, + "label": { + "type": "string" + }, + "nodes": { + "type": "array", + "items": { + "$ref": "#/definitions/v1alpha2.NodeSummary" + } + }, + "topologyId": { + "type": "string" + } + } + }, + "v1alpha2.NotFoundError": { + "required": [ + "status", + "reason" + ], + "properties": { + "status": { + "type": "integer", + "format": "int32" + } + } + }, + "v1alpha2.Parent": { + "required": [ + "id", + "label", + "topologyId" + ], + "properties": { + "id": { + "type": "string" + }, + "label": { + "type": "string" + }, + "topologyId": { + "type": "string" + } + } + }, + "v1alpha2.Row": { + "required": [ + "id", + "entries" + ], + "properties": { + "entries": { + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "id": { + "type": "string" + } + } + }, + "v1alpha2.Sample": { + "required": [ + "date", + "value" + ], + "properties": { + "date": { + "type": "string", + "format": "date-time" + }, + "value": { + "type": "number", + "format": "double" + } + } + }, + "v1alpha2.Table": { + "required": [ + "id", + "label", + "type", + "columns", + "rows" + ], + "properties": { + "columns": { + "type": "array", + "items": { + "$ref": "#/definitions/v1alpha2.Column" + } + }, + "id": { + "type": "string" + }, + "label": { + "type": "string" + }, + "rows": { + "type": "array", + "items": { + "$ref": "#/definitions/v1alpha2.Row" + } + }, + "truncationCount": { + "type": "integer", + "format": "int32" + }, + "type": { + "type": "string" + } + } + }, + "v1alpha2.TopologyResponse": { + "required": [ + "nodes" + ], + "properties": { + "nodes": { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/v1alpha2.NodeSummary" + } + } + } + }, + "v1alpha2.User": { + "required": [ + "spec" + ], + "properties": { + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "$ref": "#/definitions/v1.ObjectMeta" + }, + "spec": { + "$ref": "#/definitions/v1alpha2.UserSpec" + }, + "status": { + "$ref": "#/definitions/v1alpha2.UserStatus" + } + } + }, + "v1alpha2.UserSpec": { + "required": [ + "email" + ], + "properties": { "description": { - "description": "user's description", + "type": "string" + }, + "displayName": { "type": "string" }, "email": { - "description": "email address", "type": "string" }, + "groups": { + "type": "array", + "items": { + "type": "string" + } + }, "lang": { - "description": "user's language setting, default is zh-CN", "type": "string" }, "password": { - "description": "password'", - "type": "string" - }, - "username": { - "description": "username", "type": "string" } } }, - "v1alpha2.DescribeWorkspaceUserResponse": { + "v1alpha2.UserStatus": { + "properties": { + "lastLoginTime": { + "type": "string" + }, + "lastTransitionTime": { + "type": "string" + }, + "reason": { + "type": "string" + }, + "state": { + "type": "string" + } + } + }, + "v1alpha2.WorkspaceRole": { "required": [ - "username", - "email", - "lang", - "description", - "cluster_role", - "workspace_role", - "create_time", - "last_login_time" + "rules" ], "properties": { - "cluster_role": { - "description": "user's cluster role", + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", "type": "string" }, - "create_time": { - "description": "user creation time", - "type": "string", - "format": "date-time" - }, - "description": { - "description": "user's description", + "kind": { + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", "type": "string" }, - "email": { - "description": "email address", - "type": "string" + "metadata": { + "$ref": "#/definitions/v1.ObjectMeta" }, - "lang": { - "description": "user's language setting, default is zh-CN", - "type": "string" - }, - "last_login_time": { - "description": "last login time", - "type": "string", - "format": "date-time" - }, - "username": { - "description": "username", - "type": "string" - }, - "workspace_role": { - "description": "user's workspace role", - "type": "string" + "rules": { + "type": "array", + "items": { + "$ref": "#/definitions/v1.PolicyRule" + } } } }, - "v1alpha2.DevOpsProject": { + "v1alpha2.WorkspaceTemplate": { + "properties": { + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "$ref": "#/definitions/v1.ObjectMeta" + }, + "spec": { + "$ref": "#/definitions/v1beta1.FederatedWorkspaceSpec" + } + } + }, + "v1alpha2.appHealthResponse": { "required": [ - "project_id", - "name", - "creator", - "create_time", - "status", - "workspace" + "requests", + "workloadStatuses" ], "properties": { - "create_time": { - "description": "DevOps Project's Creation time", - "type": "string", - "format": "date-time" + "requests": { + "$ref": "#/definitions/models.RequestHealth" }, - "creator": { - "description": "Creator's username", - "type": "string" - }, - "description": { - "description": "DevOps Projects's Description, used to describe the DevOps Project", - "type": "string" - }, - "extra": { - "description": "Internal Use", - "type": "string" - }, - "name": { - "description": "DevOps Projects's Name", - "type": "string" - }, - "project_id": { - "description": "ProjectId must be unique within a workspace, it is generated by kubesphere.", - "type": "string" - }, - "status": { - "description": "DevOps project's status. e.g. active", - "type": "string" - }, - "visibility": { - "description": "Deprecated Field", - "type": "string" - }, - "workspace": { - "description": "The workspace to which the devops project belongs", - "type": "string" + "workloadStatuses": { + "type": "array", + "items": { + "$ref": "#/definitions/models.WorkloadStatus" + } } } }, - "v1alpha2.GraphResponse": { + "v1alpha2.graphResponse": { "required": [ "timestamp", "duration", @@ -21237,162 +22437,7 @@ } } }, - "v1alpha2.HistogramRecord": { - "required": [ - "time", - "count" - ], - "properties": { - "count": { - "description": "total number of logs at intervals", - "type": "integer", - "format": "int64" - }, - "time": { - "description": "timestamp", - "type": "integer", - "format": "int64" - } - } - }, - "v1alpha2.HistogramResult": { - "required": [ - "total", - "histograms" - ], - "properties": { - "histograms": { - "description": "actual array of histogram results", - "type": "array", - "items": { - "$ref": "#/definitions/v1alpha2.HistogramRecord" - } - }, - "total": { - "description": "total number of logs", - "type": "integer", - "format": "int64" - } - } - }, - "v1alpha2.Hit": { - "required": [ - "_source", - "sort" - ], - "properties": { - "_source": { - "$ref": "#/definitions/v1alpha2.Source" - }, - "sort": { - "type": "array", - "items": { - "type": "integer" - } - } - } - }, - "v1alpha2.Hits": { - "required": [ - "total", - "hits" - ], - "properties": { - "hits": { - "type": "array", - "items": { - "$ref": "#/definitions/v1alpha2.Hit" - } - }, - "total": { - "$ref": "#/definitions/v1alpha2.Hits.total" - } - } - }, - "v1alpha2.Hits.total": {}, - "v1alpha2.InviteUserRequest": { - "required": [ - "username", - "workspace_role" - ], - "properties": { - "username": { - "description": "username", - "type": "string" - }, - "workspace_role": { - "description": "user's workspace role'", - "type": "string" - } - } - }, - "v1alpha2.Kubernetes": { - "required": [ - "namespace_name", - "pod_name", - "container_name", - "host" - ], - "properties": { - "container_name": { - "type": "string" - }, - "host": { - "type": "string" - }, - "namespace_name": { - "type": "string" - }, - "pod_name": { - "type": "string" - } - } - }, - "v1alpha2.LogRecord": { - "properties": { - "container": { - "description": "container name", - "type": "string" - }, - "host": { - "description": "node id", - "type": "string" - }, - "log": { - "description": "log message", - "type": "string" - }, - "namespace": { - "description": "namespace", - "type": "string" - }, - "pod": { - "description": "pod name", - "type": "string" - }, - "time": { - "description": "log timestamp", - "type": "string" - } - } - }, - "v1alpha2.LoginLog": { - "required": [ - "login_time", - "login_ip" - ], - "properties": { - "login_ip": { - "description": "last login ip", - "type": "string" - }, - "login_time": { - "description": "last login time", - "type": "string" - } - } - }, - "v1alpha2.MetricsResponse": { + "v1alpha2.metricsResponse": { "required": [ "metrics", "histograms" @@ -21412,363 +22457,6 @@ } } }, - "v1alpha2.NamespacedUser": { - "required": [ - "username", - "email", - "description", - "role", - "role_binding", - "role_bind_time", - "create_time", - "last_login_time" - ], - "properties": { - "create_time": { - "description": "user creation time", - "type": "string", - "format": "date-time" - }, - "description": { - "description": "user's description", - "type": "string" - }, - "email": { - "description": "email address", - "type": "string" - }, - "lang": { - "description": "user's language setting, default is zh-CN", - "type": "string" - }, - "last_login_time": { - "description": "last login time", - "type": "string", - "format": "date-time" - }, - "role": { - "description": "user's role in the specified namespace", - "type": "string" - }, - "role_bind_time": { - "description": "user's role binding time", - "type": "string" - }, - "role_binding": { - "description": "user's role binding name in the specified namespace", - "type": "string" - }, - "username": { - "description": "username", - "type": "string" - } - } - }, - "v1alpha2.NotFoundError": { - "required": [ - "status", - "reason" - ], - "properties": { - "reason": { - "$ref": "#/definitions/error" - }, - "status": { - "type": "integer", - "format": "int32" - } - } - }, - "v1alpha2.QueryResult": { - "required": [ - "resultType", - "result" - ], - "properties": { - "result": { - "description": "metric data including labels, time series and values", - "type": "array", - "items": { - "$ref": "#/definitions/v1alpha2.QueryValue" - } - }, - "resultType": { - "description": "result type, one of matrix, vector", - "type": "string" - } - } - }, - "v1alpha2.QueryValue": { - "properties": { - "metric": { - "description": "time series labels", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "value": { - "description": "time series, values of vector type", - "type": "array", - "items": { - "$ref": "#/definitions/v1alpha2.QueryValue.value" - } - }, - "values": { - "description": "time series, values of matrix type", - "type": "array", - "items": { - "$ref": "#/definitions/v1alpha2.QueryValue.values" - } - } - } - }, - "v1alpha2.QueryValue.value": {}, - "v1alpha2.QueryValue.values": {}, - "v1alpha2.ReadResult": { - "required": [ - "total" - ], - "properties": { - "_scroll_id": { - "type": "string" - }, - "records": { - "description": "actual array of results", - "type": "array", - "items": { - "$ref": "#/definitions/v1alpha2.LogRecord" - } - }, - "total": { - "description": "total number of matched results", - "type": "integer", - "format": "int64" - } - } - }, - "v1alpha2.Response": { - "required": [ - "_scroll_id", - "_shards", - "hits", - "aggregations" - ], - "properties": { - "_scroll_id": { - "type": "string" - }, - "_shards": { - "$ref": "#/definitions/v1alpha2.Shards" - }, - "aggregations": { - "type": "string" - }, - "hits": { - "$ref": "#/definitions/v1alpha2.Hits" - } - } - }, - "v1alpha2.RoleList": { - "required": [ - "items", - "total_count" - ], - "properties": { - "items": { - "description": "paging data", - "type": "array", - "items": { - "$ref": "#/definitions/v1.Role" - } - }, - "total_count": { - "description": "total count", - "type": "integer", - "format": "int32" - } - } - }, - "v1alpha2.Shards": { - "required": [ - "total", - "successful", - "skipped", - "failed" - ], - "properties": { - "failed": { - "type": "integer", - "format": "int64" - }, - "skipped": { - "type": "integer", - "format": "int64" - }, - "successful": { - "type": "integer", - "format": "int64" - }, - "total": { - "type": "integer", - "format": "int64" - } - } - }, - "v1alpha2.Source": { - "required": [ - "log", - "time", - "kubernetes" - ], - "properties": { - "kubernetes": { - "$ref": "#/definitions/v1alpha2.Kubernetes" - }, - "log": { - "type": "string" - }, - "time": { - "type": "string" - } - } - }, - "v1alpha2.StatisticsResult": { - "required": [ - "containers", - "logs" - ], - "properties": { - "containers": { - "description": "total number of containers", - "type": "integer", - "format": "int64" - }, - "logs": { - "description": "total number of logs", - "type": "integer", - "format": "int64" - } - } - }, - "v1alpha2.UserList": { - "required": [ - "items", - "total_count" - ], - "properties": { - "items": { - "description": "paging data", - "type": "array", - "items": { - "$ref": "#/definitions/v1alpha2.UserList.items" - } - }, - "total_count": { - "description": "total count", - "type": "integer", - "format": "int32" - } - } - }, - "v1alpha2.UserList.items": { - "required": [ - "username", - "email", - "description", - "cluster_role", - "create_time", - "last_login_time" - ], - "properties": { - "cluster_role": { - "description": "user's cluster role", - "type": "string" - }, - "create_time": { - "description": "user creation time", - "type": "string", - "format": "date-time" - }, - "description": { - "description": "user's description", - "type": "string" - }, - "email": { - "description": "email address", - "type": "string" - }, - "lang": { - "description": "user's language setting, default is zh-CN", - "type": "string" - }, - "last_login_time": { - "description": "last login time", - "type": "string", - "format": "date-time" - }, - "username": { - "description": "username", - "type": "string" - } - } - }, - "v1alpha2.UserUpdateRequest": { - "required": [ - "username", - "email", - "lang", - "description", - "cluster_role" - ], - "properties": { - "cluster_role": { - "description": "user's cluster role", - "type": "string" - }, - "current_password": { - "description": "this is necessary if you need to change your password", - "type": "string" - }, - "description": { - "description": "user's description", - "type": "string" - }, - "email": { - "description": "email address", - "type": "string" - }, - "lang": { - "description": "user's language setting, default is zh-CN", - "type": "string" - }, - "password": { - "description": "this is necessary if you need to change your password", - "type": "string" - }, - "username": { - "description": "username", - "type": "string" - } - } - }, - "v1alpha2.appHealthResponse": { - "required": [ - "workloadStatuses", - "requests" - ], - "properties": { - "requests": { - "$ref": "#/definitions/models.RequestHealth" - }, - "workloadStatuses": { - "type": "array", - "items": { - "$ref": "#/definitions/models.WorkloadStatus" - } - } - } - }, "v1alpha2.namespaceAppHealthResponse": { "required": [ "NamespaceAppHealth" @@ -21794,8 +22482,8 @@ }, "v1alpha2.workloadHealthResponse": { "required": [ - "workloadStatus", - "requests" + "requests", + "workloadStatus" ], "properties": { "requests": { @@ -21806,6 +22494,510 @@ } } }, + "v1alpha3.BitbucketServerSource": { + "properties": { + "api_uri": { + "description": "The api url can specify the location of the github apiserver.For private cloud configuration", + "type": "string" + }, + "credential_id": { + "description": "credential id to access github source", + "type": "string" + }, + "discover_branches": { + "description": "Discover branch configuration", + "type": "integer", + "format": "int32" + }, + "discover_pr_from_forks": { + "description": "Discover fork PR configuration", + "$ref": "#/definitions/v1alpha3.DiscoverPRFromForks" + }, + "discover_pr_from_origin": { + "description": "Discover origin PR configuration", + "type": "integer", + "format": "int32" + }, + "git_clone_option": { + "description": "advavced git clone options", + "$ref": "#/definitions/v1alpha3.GitCloneOption" + }, + "owner": { + "description": "owner of github repo", + "type": "string" + }, + "regex_filter": { + "description": "Regex used to match the name of the branch that needs to be run", + "type": "string" + }, + "repo": { + "description": "repo name of github repo", + "type": "string" + }, + "scm_id": { + "description": "uid of scm", + "type": "string" + } + } + }, + "v1alpha3.DevOpsProject": { + "properties": { + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "$ref": "#/definitions/v1.ObjectMeta" + }, + "spec": { + "$ref": "#/definitions/v1alpha3.DevOpsProjectSpec" + }, + "status": { + "$ref": "#/definitions/v1alpha3.DevOpsProjectStatus" + } + } + }, + "v1alpha3.DevOpsProjectSpec": {}, + "v1alpha3.DevOpsProjectStatus": { + "properties": { + "adminNamespace": { + "type": "string" + } + } + }, + "v1alpha3.DiscarderProperty": { + "properties": { + "days_to_keep": { + "description": "days to keep pipeline", + "type": "string" + }, + "num_to_keep": { + "description": "nums to keep pipeline", + "type": "string" + } + } + }, + "v1alpha3.DiscoverPRFromForks": { + "properties": { + "strategy": { + "description": "github discover strategy", + "type": "integer", + "format": "int32" + }, + "trust": { + "description": "trust user type", + "type": "integer", + "format": "int32" + } + } + }, + "v1alpha3.GitCloneOption": { + "properties": { + "depth": { + "description": "git clone depth", + "type": "integer", + "format": "int32" + }, + "shallow": { + "description": "Whether to use git shallow clone", + "type": "boolean" + }, + "timeout": { + "description": "git clone timeout mins", + "type": "integer", + "format": "int32" + } + } + }, + "v1alpha3.GitSource": { + "properties": { + "credential_id": { + "description": "credential id to access git source", + "type": "string" + }, + "discover_branches": { + "description": "Whether to discover a branch", + "type": "boolean" + }, + "git_clone_option": { + "description": "advavced git clone options", + "$ref": "#/definitions/v1alpha3.GitCloneOption" + }, + "regex_filter": { + "description": "Regex used to match the name of the branch that needs to be run", + "type": "string" + }, + "scm_id": { + "description": "uid of scm", + "type": "string" + }, + "url": { + "description": "url of git source", + "type": "string" + } + } + }, + "v1alpha3.GithubSource": { + "properties": { + "api_uri": { + "description": "The api url can specify the location of the github apiserver.For private cloud configuration", + "type": "string" + }, + "credential_id": { + "description": "credential id to access github source", + "type": "string" + }, + "discover_branches": { + "description": "Discover branch configuration", + "type": "integer", + "format": "int32" + }, + "discover_pr_from_forks": { + "description": "Discover fork PR configuration", + "$ref": "#/definitions/v1alpha3.DiscoverPRFromForks" + }, + "discover_pr_from_origin": { + "description": "Discover origin PR configuration", + "type": "integer", + "format": "int32" + }, + "git_clone_option": { + "description": "advavced git clone options", + "$ref": "#/definitions/v1alpha3.GitCloneOption" + }, + "owner": { + "description": "owner of github repo", + "type": "string" + }, + "regex_filter": { + "description": "Regex used to match the name of the branch that needs to be run", + "type": "string" + }, + "repo": { + "description": "repo name of github repo", + "type": "string" + }, + "scm_id": { + "description": "uid of scm", + "type": "string" + } + } + }, + "v1alpha3.MultiBranchJobTrigger": { + "properties": { + "create_action_job_to_trigger": { + "description": "pipeline name to trigger", + "type": "string" + }, + "delete_action_job_to_trigger": { + "description": "pipeline name to trigger", + "type": "string" + } + } + }, + "v1alpha3.MultiBranchPipeline": { + "required": [ + "name", + "source_type", + "script_path" + ], + "properties": { + "bitbucket_server_source": { + "description": "bitbucket server scm defile", + "$ref": "#/definitions/v1alpha3.BitbucketServerSource" + }, + "description": { + "description": "description of pipeline", + "type": "string" + }, + "discarder": { + "description": "Discarder of pipeline, managing when to drop a pipeline", + "$ref": "#/definitions/v1alpha3.DiscarderProperty" + }, + "git_source": { + "description": "git scm define", + "$ref": "#/definitions/v1alpha3.GitSource" + }, + "github_source": { + "description": "github scm define", + "$ref": "#/definitions/v1alpha3.GithubSource" + }, + "multibranch_job_trigger": { + "description": "Pipeline tasks that need to be triggered when branch creation/deletion", + "$ref": "#/definitions/v1alpha3.MultiBranchJobTrigger" + }, + "name": { + "description": "name of pipeline", + "type": "string" + }, + "script_path": { + "description": "script path in scm", + "type": "string" + }, + "single_svn_source": { + "description": "single branch svn scm define", + "$ref": "#/definitions/v1alpha3.SingleSvnSource" + }, + "source_type": { + "description": "type of scm, such as github/git/svn", + "type": "string" + }, + "svn_source": { + "description": "multi branch svn scm define", + "$ref": "#/definitions/v1alpha3.SvnSource" + }, + "timer_trigger": { + "description": "Timer to trigger pipeline run", + "$ref": "#/definitions/v1alpha3.TimerTrigger" + } + } + }, + "v1alpha3.NoScmPipeline": { + "required": [ + "name" + ], + "properties": { + "description": { + "description": "description of pipeline", + "type": "string" + }, + "disable_concurrent": { + "description": "Whether to prohibit the pipeline from running in parallel", + "type": "boolean" + }, + "discarder": { + "description": "Discarder of pipeline, managing when to drop a pipeline", + "$ref": "#/definitions/v1alpha3.DiscarderProperty" + }, + "jenkinsfile": { + "description": "Jenkinsfile's content'", + "type": "string" + }, + "name": { + "description": "name of pipeline", + "type": "string" + }, + "parameters": { + "description": "Parameters define of pipeline,user could pass param when run pipeline", + "type": "array", + "items": { + "$ref": "#/definitions/v1alpha3.Parameter" + } + }, + "remote_trigger": { + "description": "Remote api define to trigger pipeline run", + "$ref": "#/definitions/v1alpha3.RemoteTrigger" + }, + "timer_trigger": { + "description": "Timer to trigger pipeline run", + "$ref": "#/definitions/v1alpha3.TimerTrigger" + } + } + }, + "v1alpha3.Parameter": { + "required": [ + "name", + "type" + ], + "properties": { + "default_value": { + "description": "default value of param", + "type": "string" + }, + "description": { + "description": "description of pipeline", + "type": "string" + }, + "name": { + "description": "name of param", + "type": "string" + }, + "type": { + "description": "type of param", + "type": "string" + } + } + }, + "v1alpha3.Pipeline": { + "properties": { + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "$ref": "#/definitions/v1.ObjectMeta" + }, + "spec": { + "$ref": "#/definitions/v1alpha3.PipelineSpec" + }, + "status": { + "$ref": "#/definitions/v1alpha3.PipelineStatus" + } + } + }, + "v1alpha3.PipelineSpec": { + "required": [ + "type" + ], + "properties": { + "multi_branch_pipeline": { + "description": "in scm pipeline structs", + "$ref": "#/definitions/v1alpha3.MultiBranchPipeline" + }, + "pipeline": { + "description": "no scm pipeline structs", + "$ref": "#/definitions/v1alpha3.NoScmPipeline" + }, + "type": { + "description": "type of devops pipeline, in scm or no scm", + "type": "string" + } + } + }, + "v1alpha3.PipelineStatus": {}, + "v1alpha3.RemoteTrigger": { + "properties": { + "token": { + "description": "remote trigger token", + "type": "string" + } + } + }, + "v1alpha3.SingleSvnSource": { + "properties": { + "credential_id": { + "description": "credential id to access svn source", + "type": "string" + }, + "remote": { + "description": "remote address url", + "type": "string" + }, + "scm_id": { + "description": "uid of scm", + "type": "string" + } + } + }, + "v1alpha3.SvnSource": { + "properties": { + "credential_id": { + "description": "credential id to access svn source", + "type": "string" + }, + "excludes": { + "description": "branches do not run pipeline", + "type": "string" + }, + "includes": { + "description": "branches to run pipeline", + "type": "string" + }, + "remote": { + "description": "remote address url", + "type": "string" + }, + "scm_id": { + "description": "uid of scm", + "type": "string" + } + } + }, + "v1alpha3.TimerTrigger": { + "properties": { + "cron": { + "description": "jenkins cron script", + "type": "string" + }, + "interval": { + "description": "interval ms", + "type": "string" + } + } + }, + "v1beta1.ClusterOverride": { + "required": [ + "path" + ], + "properties": { + "op": { + "type": "string" + }, + "path": { + "type": "string" + }, + "value": { + "type": "string" + } + } + }, + "v1beta1.FederatedWorkspaceSpec": { + "required": [ + "template", + "placement" + ], + "properties": { + "overrides": { + "type": "array", + "items": { + "$ref": "#/definitions/v1beta1.GenericOverrideItem" + } + }, + "placement": { + "$ref": "#/definitions/v1beta1.GenericPlacementFields" + }, + "template": { + "$ref": "#/definitions/v1beta1.WorkspaceTemplate" + } + } + }, + "v1beta1.GenericClusterReference": { + "required": [ + "name" + ], + "properties": { + "name": { + "type": "string" + } + } + }, + "v1beta1.GenericOverrideItem": { + "required": [ + "clusterName" + ], + "properties": { + "clusterName": { + "type": "string" + }, + "clusterOverrides": { + "type": "array", + "items": { + "$ref": "#/definitions/v1beta1.ClusterOverride" + } + } + } + }, + "v1beta1.GenericPlacementFields": { + "properties": { + "clusterSelector": { + "$ref": "#/definitions/v1.LabelSelector" + }, + "clusters": { + "type": "array", + "items": { + "$ref": "#/definitions/v1beta1.GenericClusterReference" + } + } + } + }, "v1beta1.HTTPIngressPath": { "description": "HTTPIngressPath associates a path regex with a backend. Incoming urls matching the path are forwarded to the backend.", "required": [ @@ -21838,26 +23030,26 @@ } }, "v1beta1.Ingress": { - "description": "Ingress is a collection of rules that allow inbound connections to reach the endpoints defined by a backend. An Ingress can be configured to give services externally-reachable urls, load balance traffic, terminate SSL, offer name based virtual hosting etc.", + "description": "Ingress is a collection of rules that allow inbound connections to reach the endpoints defined by a backend. An Ingress can be configured to give services externally-reachable urls, load balance traffic, terminate SSL, offer name based virtual hosting etc. DEPRECATED - This group version of Ingress is deprecated by networking.k8s.io/v1beta1 Ingress. See the release notes for more information.", "properties": { "apiVersion": { - "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources", + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", "type": "string" }, "kind": { - "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds", + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", "type": "string" }, "metadata": { - "description": "Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata", + "description": "Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata", "$ref": "#/definitions/v1.ObjectMeta" }, "spec": { - "description": "Spec is the desired state of the Ingress. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status", + "description": "Spec is the desired state of the Ingress. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status", "$ref": "#/definitions/v1beta1.IngressSpec" }, "status": { - "description": "Status is the current state of the Ingress. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status", + "description": "Status is the current state of the Ingress. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status", "$ref": "#/definitions/v1beta1.IngressStatus" } } @@ -21938,6 +23130,17 @@ "type": "string" } } + }, + "v1beta1.WorkspaceTemplate": { + "description": "ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.", + "properties": { + "metadata": { + "$ref": "#/definitions/v1.ObjectMeta" + }, + "spec": { + "$ref": "#/definitions/v1alpha1.WorkspaceSpec" + } + } } }, "securityDefinitions": { @@ -21951,73 +23154,5 @@ { "jwt": [] } - ], - "x-tagGroups": [ - { - "name": "IAM", - "tags": [ - "Identity Management", - "Access Management" - ] - }, - { - "name": "Resources", - "tags": [ - "Cluster Resources", - "Namespace Resources", - "User Resources" - ] - }, - { - "name": "Monitoring", - "tags": [ - "Component Status" - ] - }, - { - "name": "Tenant", - "tags": [ - "Tenant Resources" - ] - }, - { - "name": "Other", - "tags": [ - "Verification", - "Docker Registry" - ] - }, - { - "name": "DevOps", - "tags": [ - "DevOps Project", - "DevOps Project Credential", - "DevOps Pipeline", - "DevOps Project Member", - "DevOps Webhook", - "DevOps Jenkinsfile", - "DevOps Scm" - ] - }, - { - "name": "Monitoring", - "tags": [ - "Cluster Metrics", - "Node Metrics", - "Namespace Metrics", - "Workload Metrics", - "Pod Metrics", - "Container Metrics", - "Workspace Metrics", - "Component Metrics" - ] - }, - { - "name": "Logging", - "tags": [ - "Log Query", - "Fluent Bit Setting" - ] - } ] } \ No newline at end of file